{"_id":"@activeset/schema-gen","_rev":"5-f3c47c1364ea259ba6185df1d10b47e8","name":"@activeset/schema-gen","dist-tags":{"latest":"0.5.0"},"versions":{"0.1.0":{"name":"@activeset/schema-gen","version":"0.1.0","keywords":["schema-org","json-ld","structured-data","seo","webflow","ollama","gemma"],"author":{"name":"ActiveSet"},"license":"MIT","_id":"@activeset/schema-gen@0.1.0","maintainers":[{"name":"rehankhurshid","email":"rehankhurshid1@gmail.com"}],"bin":{"schema-gen":"dist/cli.js"},"dist":{"shasum":"b0d76589e1fba8b603a243cf04e4676355f9e727","tarball":"https://registry.npmjs.org/@activeset/schema-gen/-/schema-gen-0.1.0.tgz","fileCount":8,"integrity":"sha512-EW8rCnu/P5qeyz9GeeIMj0RbOoznoq32NOEC0nqwLcaLdo4W8wtIU4FhQfW9QO6yKM94X7W84mvFf6SoN1+4FQ==","signatures":[{"sig":"MEUCIQCW4HQfK8VVqOS5m6Dw2yX24fK37UpiFU0KuG36U3ZvCAIgQiYcaem1EM5FeegYz56na/u2HhxYj1aOSflHNfCEJn4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20371},"type":"commonjs","engines":{"node":">=20"},"scripts":{"dev":"tsc --watch","build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"rehankhurshid","email":"rehankhurshid1@gmail.com"},"_npmVersion":"11.6.4","description":"Generate Schema.org JSON-LD recommendations for Webflow static pages using a local Ollama model (Gemma by default). Output is a portable JSON file you can import into the ActiveSet dashboard.","directories":{},"_nodeVersion":"23.11.0","dependencies":{"dotenv":"^16.4.5","commander":"^12.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.5.3","@types/node":"^20.14.10"},"_npmOperationalInternal":{"tmp":"tmp/schema-gen_0.1.0_1776254746059_0.04274741650681024","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@activeset/schema-gen","version":"0.2.0","keywords":["schema-org","json-ld","structured-data","seo","webflow","ollama","gemma"],"author":{"name":"ActiveSet"},"license":"MIT","_id":"@activeset/schema-gen@0.2.0","maintainers":[{"name":"rehankhurshid","email":"rehankhurshid1@gmail.com"}],"bin":{"schema-gen":"dist/cli.js"},"dist":{"shasum":"dce100c5fbbe2ea21dc06a3b4438de6757e2f68c","tarball":"https://registry.npmjs.org/@activeset/schema-gen/-/schema-gen-0.2.0.tgz","fileCount":9,"integrity":"sha512-U1Uwms3sZ2ZOyq396cii4T2W/QzUadZcfiV2ctnU08grIVcmC2Z72apva8Dzm+ufPdHdt5UmP2Lxbz8Ii0I/hQ==","signatures":[{"sig":"MEYCIQC5aWOm/biZHBRvbRhvGcdDTfsdISyGAwabgBgX3gjw9QIhAPYSN9p6o7Go7usX0pUf6Umv0xULq9jf4x7gllxPvV1t","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":24631},"type":"commonjs","engines":{"node":">=20"},"scripts":{"dev":"tsc --watch","build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"rehankhurshid","email":"rehankhurshid1@gmail.com"},"_npmVersion":"11.6.4","description":"Generate Schema.org JSON-LD recommendations for Webflow static pages using a local Ollama model (Gemma by default). Output is a portable JSON file you can import into the ActiveSet dashboard.","directories":{},"_nodeVersion":"23.11.0","dependencies":{"dotenv":"^16.4.5","commander":"^12.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.5.3","@types/node":"^20.14.10"},"_npmOperationalInternal":{"tmp":"tmp/schema-gen_0.2.0_1776256271396_0.3298978184723931","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@activeset/schema-gen","version":"0.3.0","keywords":["schema-org","json-ld","structured-data","seo","webflow","ollama","gemma"],"author":{"name":"ActiveSet"},"license":"MIT","_id":"@activeset/schema-gen@0.3.0","maintainers":[{"name":"rehankhurshid","email":"rehankhurshid1@gmail.com"}],"bin":{"schema-gen":"dist/cli.js"},"dist":{"shasum":"8a0994e94c80aff05b247bbca8f52c4c767201ae","tarball":"https://registry.npmjs.org/@activeset/schema-gen/-/schema-gen-0.3.0.tgz","fileCount":10,"integrity":"sha512-rvOCGs7D5vpRydW4ELX+rHMfRHIFwzUzhDp0GveQGTryFinM8DRURVPwRTKzUjttG6+tGwmJn2B7TXbrLp2LYQ==","signatures":[{"sig":"MEUCIQCoNt5nz3aoy4IEKas5IuQJGvC7XUVP91j6xt5G7MSONQIgYOMwi/9I8FmgG4KF7Y50hzVW8k7kI1jdZHqT8XYPOdM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":33487},"type":"commonjs","engines":{"node":">=20"},"scripts":{"dev":"tsc --watch","build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"rehankhurshid","email":"rehankhurshid1@gmail.com"},"_npmVersion":"11.6.4","description":"Generate Schema.org JSON-LD recommendations for Webflow static pages using a local Ollama model (Gemma by default). Output is a portable JSON file you can import into the ActiveSet dashboard.","directories":{},"_nodeVersion":"23.11.0","dependencies":{"dotenv":"^16.4.5","commander":"^12.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.5.3","@types/node":"^20.14.10"},"_npmOperationalInternal":{"tmp":"tmp/schema-gen_0.3.0_1776257263546_0.18347263296493432","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@activeset/schema-gen","version":"0.4.0","keywords":["schema-org","json-ld","structured-data","seo","webflow","ollama","gemma"],"author":{"name":"ActiveSet"},"license":"MIT","_id":"@activeset/schema-gen@0.4.0","maintainers":[{"name":"rehankhurshid","email":"rehankhurshid1@gmail.com"}],"bin":{"schema-gen":"dist/cli.js"},"dist":{"shasum":"b57440ee412249b70f2cf65ed0d9ef0b1abb16d4","tarball":"https://registry.npmjs.org/@activeset/schema-gen/-/schema-gen-0.4.0.tgz","fileCount":10,"integrity":"sha512-0vzhDs41gzwI9cHJL89TMCGmcB8N0YnPfHlVZrLiFB0YgiXGB7i7prq5YT3Ut8XLCiVdtUiKuZvGyX2MgntIOw==","signatures":[{"sig":"MEQCICPc+TTGHRwVs9Rtrcvp6Ej17bn2QyZ9NmT5iCZXuTBtAiALbQjpDlyCTAnJ1AfvGvttToZVFAlrmrn7JnTBCrE3sw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":36085},"type":"commonjs","engines":{"node":">=20"},"scripts":{"dev":"tsc --watch","build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"rehankhurshid","email":"rehankhurshid1@gmail.com"},"_npmVersion":"11.6.4","description":"Generate Schema.org JSON-LD recommendations for Webflow static pages using a local Ollama model (Gemma by default). Output is a portable JSON file you can import into the ActiveSet dashboard.","directories":{},"_nodeVersion":"23.11.0","dependencies":{"dotenv":"^16.4.5","commander":"^12.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.5.3","@types/node":"^20.14.10"},"_npmOperationalInternal":{"tmp":"tmp/schema-gen_0.4.0_1776258366393_0.9033099500552022","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@activeset/schema-gen","version":"0.5.0","description":"Generate Schema.org JSON-LD recommendations for Webflow static pages using a local Ollama model (Gemma by default). Output is a portable JSON file you can import into the ActiveSet dashboard.","keywords":["schema-org","json-ld","structured-data","seo","webflow","ollama","gemma"],"license":"MIT","author":{"name":"ActiveSet"},"type":"commonjs","bin":{"schema-gen":"dist/cli.js"},"engines":{"node":">=20"},"scripts":{"build":"tsc","dev":"tsc --watch","prepublishOnly":"npm run build"},"dependencies":{"commander":"^12.1.0","dotenv":"^16.4.5"},"devDependencies":{"@types/node":"^20.14.10","typescript":"^5.5.3"},"publishConfig":{"access":"public"},"_id":"@activeset/schema-gen@0.5.0","_nodeVersion":"23.11.0","_npmVersion":"11.6.4","dist":{"integrity":"sha512-mxdw4Yoi/8/7v/qjhXmvHME5VavC2CMxdCmtATcE0TObk7n9e8NUrXpdjVt8+E1lu/YnnqFTYZUgdHO6WMl3Qw==","shasum":"e65c85fe01e2c453035f0ce8b7f72998898e0e2b","tarball":"https://registry.npmjs.org/@activeset/schema-gen/-/schema-gen-0.5.0.tgz","fileCount":10,"unpackedSize":37946,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDamt52fm7dtL8NI3N6KwG4xqIGp55YcM5wXQl+c9l9vQIhAPYnLp4GdiIt7eZoDjEzCccT4b+yAz62nhYgmUL/deUY"}]},"_npmUser":{"name":"rehankhurshid","email":"rehankhurshid1@gmail.com"},"directories":{},"maintainers":[{"name":"rehankhurshid","email":"rehankhurshid1@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/schema-gen_0.5.0_1776259917717_0.8530921550820982"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-15T12:05:45.877Z","modified":"2026-04-15T13:31:58.034Z","0.1.0":"2026-04-15T12:05:46.190Z","0.2.0":"2026-04-15T12:31:11.603Z","0.3.0":"2026-04-15T12:47:43.688Z","0.4.0":"2026-04-15T13:06:06.538Z","0.5.0":"2026-04-15T13:31:57.878Z"},"author":{"name":"ActiveSet"},"license":"MIT","keywords":["schema-org","json-ld","structured-data","seo","webflow","ollama","gemma"],"description":"Generate Schema.org JSON-LD recommendations for Webflow static pages using a local Ollama model (Gemma by default). Output is a portable JSON file you can import into the ActiveSet dashboard.","maintainers":[{"name":"rehankhurshid","email":"rehankhurshid1@gmail.com"}],"readme":"# @activeset/schema-gen\n\nGenerate Schema.org JSON-LD recommendations for a Webflow site's static pages\nusing a **local Ollama model** (Gemma by default). Output is a portable JSON\nfile you can upload via the ActiveSet dashboard's **Import schema analyses**\nbutton on the Webflow Pages tab.\n\nEverything runs on your machine — your Webflow content and the model output\nnever leave it until *you* upload the file.\n\n---\n\n## Prerequisites\n\n1. **Node.js** ≥ 20\n2. **Ollama** running locally with a Gemma model:\n   ```bash\n   ollama serve\n   ollama pull gemma4:e4b   # default — ~5 GB\n   # or, smaller/faster:\n   ollama pull gemma3:4b\n   ```\n3. A **Webflow API token** with read access to the target site.\n\n---\n\n## Usage\n\n```bash\n# Discover what'll be processed\nnpx @activeset/schema-gen list \\\n  --site <webflowSiteId> \\\n  --token <webflowApiToken>\n\n# Generate recommendations for every published static page\nnpx @activeset/schema-gen generate \\\n  --site <webflowSiteId> \\\n  --token <webflowApiToken> \\\n  --domain www.example.com \\\n  --out schema-output.json\n```\n\nThen in the dashboard: **Webflow Pages → Import schema analyses → pick `schema-output.json`**. Every analyzed page now shows a \"Cached\" badge in the Schema panel.\n\n### Auth via env\n\nPlace these in `.env.local` next to where you run the command and you can drop the flags:\n\n```\nWEBFLOW_API_TOKEN=...\nOLLAMA_BASE_URL=http://127.0.0.1:11434   # optional\nOLLAMA_MODEL=gemma4:e4b                  # optional\n```\n\n### Useful flags\n\n| Flag | Default | Notes |\n|---|---|---|\n| `--only home,about` | — | Restrict to specific slugs or `publishedPath`s |\n| `--model gemma3:4b` | `gemma4:e4b` | Smaller and noticeably faster |\n| `--ollama-host <url>` | `http://127.0.0.1:11434` | Override if Ollama is on a different port |\n| `--concurrency 2` | `1` | Pages analyzed in parallel — keep low; Ollama is single-GPU |\n| `--out path/to/file.json` | `schema-output.json` | Output path |\n\n---\n\n## What's in the output file\n\n```jsonc\n{\n  \"version\": 1,\n  \"generatedAt\": \"2026-04-15T...\",\n  \"model\": \"gemma4:e4b\",\n  \"siteId\": \"...\",\n  \"domain\": \"www.example.com\",\n  \"entries\": [\n    {\n      \"pageId\": \"...\",\n      \"pageTitle\": \"Home\",\n      \"url\": \"https://www.example.com/\",\n      \"contentHash\": \"...\",\n      \"result\": {\n        \"pageType\": \"webpage\",\n        \"summary\": \"...\",\n        \"existing\": [...],\n        \"recommended\": [\n          {\n            \"type\": \"Organization\",\n            \"reason\": \"...\",\n            \"confidence\": \"high\",\n            \"jsonLd\": { \"@context\": \"https://schema.org\", \"@type\": \"Organization\", ... }\n          }\n        ]\n      }\n    }\n  ]\n}\n```\n\nThe `pageId` + `contentHash` pair is the cache key the dashboard uses, so\nre-running on unchanged pages is instant (the importer skips matching docs).\n\n---\n\n## Why a CLI and not in-app?\n\nBrowser → local Ollama hits CORS restrictions, and a deployed server can't reach `localhost` on your machine. Running the analysis on the same machine that runs Ollama avoids both problems entirely. The dashboard becomes a viewer.\n\n---\n\n## License\n\nMIT\n","readmeFilename":"README.md"}