@actioneer/ads-manifest
v0.2.0
Published
Pure ADS catalog toolkit — builds ads-manifest.json + llms.txt from the component barrel and answers manifest queries. Backs the generation script and the ADS MCP server.
Downloads
290
Readme
@actioneer/ads-manifest — the ADS catalog toolkit
Pure, dependency-free cores that turn the Actioneer Design System's component barrel + tokens + design principles into the two machine-readable artifacts the distribution layer ships, and that answer queries against them:
ads-manifest.json— one entry per public barrel export (name, family, kind, import path, variants/props, showcase URL) + semantic tokens + the design principles (each flaggedenforcedByLint).llms.txt— the LLM-facing family → component index, token roles, and a## Design principlessection, plus the consumer-setup contract.
Every core is a pure function (source strings in, data out) with no filesystem
access, so the whole toolkit is unit-tested against fixture strings. The repo's
scripts/gen-ads-manifest.mjs is the thin IO wrapper that reads files and writes
the artifacts; the ADS MCP server (@actioneer/ads-mcp) is a thin adapter over
the query core.
Exports
| Subpath | What it is |
|---|---|
| . | Barrel re-exporting the build + query cores. |
| @actioneer/ads-manifest/build | buildManifest(...), normalizePrinciples(...), validateManifest(...). |
| @actioneer/ads-manifest/llms | renderLlmsTxt(manifest) → the llms.txt string. |
| @actioneer/ads-manifest/query | searchComponents, getComponent, getToken, getPrinciples. |
| @actioneer/ads-manifest/parse | The low-level barrel/CVA/prop/token parsers. |
Determinism
buildManifest is deterministic — no timestamps, stable sort — so regenerating
produces no diff. prebuild / build:lib regenerate the artifacts and a
malformed or incomplete manifest exits non-zero rather than shipping.
Development
npm run test:manifest # from the ADS repo root — build + query + llms cores