{"_id":"@bossjob-ds/ds","_rev":"6-6962fb5ffdafd5575b598e705ed1694e","name":"@bossjob-ds/ds","dist-tags":{"alpha":"0.1.0-alpha.1","latest":"0.1.0-alpha.6"},"versions":{"0.1.0-alpha.1":{"name":"@bossjob-ds/ds","version":"0.1.0-alpha.1","keywords":["bossjob","design-system","ai-agents","claude-code","cursor","agents.md","manifest","code-connect"],"_id":"@bossjob-ds/ds@0.1.0-alpha.1","maintainers":[{"name":"ryanyan330","email":"yuchuanux@gmail.com"}],"bin":{"ds":"bin/ds.mjs"},"dist":{"shasum":"354819b5a73ba6f386ea06c50c7be2d7b2e58dbe","tarball":"https://registry.npmjs.org/@bossjob-ds/ds/-/ds-0.1.0-alpha.1.tgz","fileCount":8,"integrity":"sha512-Ss/jLCDjCwNzhzkAeH8zVrIkVppD7o6ARFBT7hQfGePCwBeIQDfCX2ymkFaxtmiKxIDalz3bZJJi5Hz2Gy4X9w==","signatures":[{"sig":"MEUCIHLGOrLh0rkVKad6MKc6cFN5s1GnABVUo5OvTi2G9UoYAiEA3S/3C8p2yV4En7sYi108rkg44toFqANdLOC9v7+oy+k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":45558},"type":"module","_from":"file:bossjob-ds-ds-0.1.0-alpha.1.tgz","engines":{"node":">=18"},"exports":{"./manifest":"./manifest.json","./package.json":"./package.json","./manifest.json":"./manifest.json"},"scripts":{"gen":"node ../../scripts/gen-agent-rules.mjs && node ../../scripts/gen-manifest.mjs","build":"echo 'ds: no build step — ships generated manifest.json + templates/ as-is'","clean":"rm -rf node_modules/.cache","rules:build":"node ../../scripts/gen-agent-rules.mjs","manifest:build":"node ../../scripts/gen-manifest.mjs"},"_npmUser":{"name":"ryanyan330","email":"yuchuanux@gmail.com"},"_resolved":"/tmp/12edbda31b6fd2d8cfa09a1d97e86c46/bossjob-ds-ds-0.1.0-alpha.1.tgz","_integrity":"sha512-Ss/jLCDjCwNzhzkAeH8zVrIkVppD7o6ARFBT7hQfGePCwBeIQDfCX2ymkFaxtmiKxIDalz3bZJJi5Hz2Gy4X9w==","_npmVersion":"10.8.2","description":"Bossjob Design System — agent consumption layer. `npx @bossjob-ds/ds init` wires an app repo's AI coding agents (Claude Code / Cursor / AGENTS.md) to the DS contract + a machine-readable component manifest.","directories":{},"_nodeVersion":"20.20.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ds_0.1.0-alpha.1_1783416812989_0.5949631408958374","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-alpha.2":{"name":"@bossjob-ds/ds","version":"0.1.0-alpha.2","keywords":["bossjob","design-system","ai-agents","claude-code","cursor","agents.md","manifest","code-connect"],"_id":"@bossjob-ds/ds@0.1.0-alpha.2","maintainers":[{"name":"ryanyan330","email":"yuchuanux@gmail.com"}],"bin":{"ds":"bin/ds.mjs"},"dist":{"shasum":"9080d556a8bbd2277f5da598768626377bfbbaeb","tarball":"https://registry.npmjs.org/@bossjob-ds/ds/-/ds-0.1.0-alpha.2.tgz","fileCount":8,"integrity":"sha512-j3RIqO6YnMHzgyQGTsFdFuVylBnvi2q4bqUmU7sVLCSVhFuO5zMkCUPcDs7CG5+BNzK54PEFPz1ydg3cK2NUEg==","signatures":[{"sig":"MEUCIFF1jSP8URGczbSeiv6gLaail8e+pJdvSV5NHqOIXMLxAiEAyr6VtCfCbRVLLlakqoL5fIJZPHo8AwGrVhv87WZ6TLw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":64022},"type":"module","_from":"file:bossjob-ds-ds-0.1.0-alpha.2.tgz","engines":{"node":">=18"},"exports":{"./manifest":"./manifest.json","./package.json":"./package.json","./manifest.json":"./manifest.json"},"scripts":{"gen":"node ../../scripts/gen-agent-rules.mjs && node ../../scripts/gen-manifest.mjs","build":"echo 'ds: no build step — ships generated manifest.json + templates/ as-is'","clean":"rm -rf node_modules/.cache","rules:build":"node ../../scripts/gen-agent-rules.mjs","manifest:build":"node ../../scripts/gen-manifest.mjs"},"_npmUser":{"name":"ryanyan330","email":"yuchuanux@gmail.com"},"_resolved":"/tmp/b85a094f5033bba27238ffe6f271a773/bossjob-ds-ds-0.1.0-alpha.2.tgz","_integrity":"sha512-j3RIqO6YnMHzgyQGTsFdFuVylBnvi2q4bqUmU7sVLCSVhFuO5zMkCUPcDs7CG5+BNzK54PEFPz1ydg3cK2NUEg==","_npmVersion":"10.8.2","description":"Bossjob Design System — agent consumption layer. `npx @bossjob-ds/ds init` wires an app repo's AI coding agents (Claude Code / Cursor / AGENTS.md) to the DS contract + a machine-readable component manifest.","directories":{},"_nodeVersion":"20.20.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ds_0.1.0-alpha.2_1783417589580_0.5545113505181087","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-alpha.3":{"name":"@bossjob-ds/ds","version":"0.1.0-alpha.3","keywords":["bossjob","design-system","ai-agents","claude-code","cursor","agents.md","manifest","code-connect"],"_id":"@bossjob-ds/ds@0.1.0-alpha.3","maintainers":[{"name":"ryanyan330","email":"yuchuanux@gmail.com"}],"bin":{"ds":"bin/ds.mjs"},"dist":{"shasum":"ab4b23c8aeb964694b1f1ebe6a1572ac939b3615","tarball":"https://registry.npmjs.org/@bossjob-ds/ds/-/ds-0.1.0-alpha.3.tgz","fileCount":8,"integrity":"sha512-/cVjQp3gIavoyPkv+8FwdzM6hahqLcjjS545UfKGHhDzCofD/5mBHRucAkwgKohhSiwbuEYJq0z788Qwe6DrSg==","signatures":[{"sig":"MEUCIQDEkX+5f9BRESaM8yd2Ts1ouCVGgScOfhKl00DSf89NSAIgOT9/AfkiFEBqwFOszRi/HBsAmNxPvFcAGdbu9ND5nl4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":82540},"type":"module","_from":"file:bossjob-ds-ds-0.1.0-alpha.3.tgz","engines":{"node":">=18"},"exports":{"./manifest":"./manifest.json","./package.json":"./package.json","./manifest.json":"./manifest.json"},"scripts":{"gen":"node ../../scripts/gen-agent-rules.mjs && node ../../scripts/gen-manifest.mjs","build":"echo 'ds: no build step — ships generated manifest.json + templates/ as-is'","clean":"rm -rf node_modules/.cache","rules:build":"node ../../scripts/gen-agent-rules.mjs","manifest:build":"node ../../scripts/gen-manifest.mjs"},"_npmUser":{"name":"ryanyan330","email":"yuchuanux@gmail.com"},"_resolved":"/tmp/c51d48981a1509a8533e5333363b3d6f/bossjob-ds-ds-0.1.0-alpha.3.tgz","_integrity":"sha512-/cVjQp3gIavoyPkv+8FwdzM6hahqLcjjS545UfKGHhDzCofD/5mBHRucAkwgKohhSiwbuEYJq0z788Qwe6DrSg==","_npmVersion":"10.8.2","description":"Bossjob Design System — agent consumption layer. `npx @bossjob-ds/ds init` wires an app repo's AI coding agents (Claude Code / Cursor / AGENTS.md) to the DS contract + a machine-readable component manifest.","directories":{},"_nodeVersion":"20.20.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ds_0.1.0-alpha.3_1783421351890_0.1497241952963495","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-alpha.4":{"name":"@bossjob-ds/ds","version":"0.1.0-alpha.4","keywords":["bossjob","design-system","ai-agents","claude-code","cursor","agents.md","manifest","code-connect"],"_id":"@bossjob-ds/ds@0.1.0-alpha.4","maintainers":[{"name":"ryanyan330","email":"yuchuanux@gmail.com"}],"bin":{"ds":"bin/ds.mjs"},"dist":{"shasum":"c9f663b2ca645fa4436f643052f116cd4325cd16","tarball":"https://registry.npmjs.org/@bossjob-ds/ds/-/ds-0.1.0-alpha.4.tgz","fileCount":8,"integrity":"sha512-YaFJv4igDwOwd1RHUrsxAxGf/Db1tsTlXgL5ZZJhWbPB35ApZofiHj52atENjzgy77zaSiFnG3MRWLjKkbn5lQ==","signatures":[{"sig":"MEQCIG3Na17sbtPiiR31B/icWIvhrtEKybripYVQh2VuDfe0AiAgYgKLhS8T/A1TDw0CBy1JiedE57ibU4JUBxs0hjHo4A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":82656},"type":"module","_from":"file:bossjob-ds-ds-0.1.0-alpha.4.tgz","engines":{"node":">=18"},"exports":{"./manifest":"./manifest.json","./package.json":"./package.json","./manifest.json":"./manifest.json"},"scripts":{"gen":"node ../../scripts/gen-agent-rules.mjs && node ../../scripts/gen-manifest.mjs","build":"echo 'ds: no build step — ships generated manifest.json + templates/ as-is'","clean":"rm -rf node_modules/.cache","rules:build":"node ../../scripts/gen-agent-rules.mjs","manifest:build":"node ../../scripts/gen-manifest.mjs"},"_npmUser":{"name":"ryanyan330","email":"yuchuanux@gmail.com"},"_resolved":"/tmp/e0db474d1852c1df1e980222efa18392/bossjob-ds-ds-0.1.0-alpha.4.tgz","_integrity":"sha512-YaFJv4igDwOwd1RHUrsxAxGf/Db1tsTlXgL5ZZJhWbPB35ApZofiHj52atENjzgy77zaSiFnG3MRWLjKkbn5lQ==","_npmVersion":"10.8.2","description":"Bossjob Design System — agent consumption layer. `npx @bossjob-ds/ds init` wires an app repo's AI coding agents (Claude Code / Cursor / AGENTS.md) to the DS contract + a machine-readable component manifest.","directories":{},"_nodeVersion":"20.20.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ds_0.1.0-alpha.4_1783580814300_0.3829141940180647","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-alpha.5":{"name":"@bossjob-ds/ds","version":"0.1.0-alpha.5","keywords":["bossjob","design-system","ai-agents","claude-code","cursor","agents.md","manifest","mcp","model-context-protocol","code-connect"],"_id":"@bossjob-ds/ds@0.1.0-alpha.5","maintainers":[{"name":"ryanyan330","email":"yuchuanux@gmail.com"}],"bin":{"ds":"bin/ds.mjs"},"dist":{"shasum":"35127c67f213a79d35dd2b6eea1f2ff527800060","tarball":"https://registry.npmjs.org/@bossjob-ds/ds/-/ds-0.1.0-alpha.5.tgz","fileCount":11,"integrity":"sha512-9+hBy1i/qfyNE1SOumoYCWK6JQ3L3+/JemEfXA+3q6OFM3kjPQWuYNGKkcDxcPk3lFUjugVbyRX0WES8b/+/KA==","signatures":[{"sig":"MEUCIA3TZhX7ApDMa+6leQBvc4YmskV7O8qpxHSRnRNj/c6xAiEA3hXcmg1QXbHvrt0hycghRIaRaHsvTKbY50JlWhcXTfY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":176101},"type":"module","_from":"file:bossjob-ds-ds-0.1.0-alpha.5.tgz","engines":{"node":">=18"},"exports":{"./llms.txt":"./llms.txt","./manifest":"./manifest.json","./package.json":"./package.json","./manifest.json":"./manifest.json"},"scripts":{"gen":"node ../../scripts/gen-agent-rules.mjs && node ../../scripts/gen-manifest.mjs","build":"echo 'ds: no build step — ships generated manifest.json + templates/ as-is'","clean":"rm -rf node_modules/.cache","rules:build":"node ../../scripts/gen-agent-rules.mjs","manifest:build":"node ../../scripts/gen-manifest.mjs"},"_npmUser":{"name":"ryanyan330","email":"yuchuanux@gmail.com"},"_resolved":"/tmp/d3b85ae6874a4f81979a55069cc4beff/bossjob-ds-ds-0.1.0-alpha.5.tgz","_integrity":"sha512-9+hBy1i/qfyNE1SOumoYCWK6JQ3L3+/JemEfXA+3q6OFM3kjPQWuYNGKkcDxcPk3lFUjugVbyRX0WES8b/+/KA==","_npmVersion":"10.8.2","description":"Bossjob Design System — agent consumption layer. `npx @bossjob-ds/ds init` wires an app repo's AI coding agents (Claude Code / Cursor / AGENTS.md) to the DS contract + a machine-readable component manifest.","directories":{},"_nodeVersion":"20.20.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ds_0.1.0-alpha.5_1784009846440_0.48431513803290027","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-alpha.6":{"name":"@bossjob-ds/ds","version":"0.1.0-alpha.6","description":"Bossjob Design System — agent consumption layer. `npx @bossjob-ds/ds init` wires an app repo's AI coding agents (Claude Code / Cursor / AGENTS.md) to the DS contract + a machine-readable component manifest.","type":"module","bin":{"ds":"bin/ds.mjs"},"exports":{"./manifest.json":"./manifest.json","./manifest":"./manifest.json","./llms.txt":"./llms.txt","./package.json":"./package.json"},"keywords":["bossjob","design-system","ai-agents","claude-code","cursor","agents.md","manifest","mcp","model-context-protocol","code-connect"],"engines":{"node":">=18"},"publishConfig":{"access":"public"},"devDependencies":{"vitest":"^2.1.8"},"scripts":{"build":"echo 'ds: no build step — ships generated manifest.json + templates/ as-is'","gen":"node ../../scripts/gen-agent-rules.mjs && node ../../scripts/gen-manifest.mjs","manifest:build":"node ../../scripts/gen-manifest.mjs","rules:build":"node ../../scripts/gen-agent-rules.mjs","clean":"rm -rf node_modules/.cache","test":"vitest run","test:watch":"vitest"},"_id":"@bossjob-ds/ds@0.1.0-alpha.6","_integrity":"sha512-3EyO1STPfuVbxMYeRMfkzH4ASk2OovTSI9ZdeMPMaL3NDsJnQ8EHBu4EfFBYEBiHaTM4MKfjSSgj0YXfjD/nMg==","_resolved":"/tmp/aa0640cc01b5a3e6fdbf7fe0fe7ed9d8/bossjob-ds-ds-0.1.0-alpha.6.tgz","_from":"file:bossjob-ds-ds-0.1.0-alpha.6.tgz","_nodeVersion":"20.20.2","_npmVersion":"10.8.2","dist":{"integrity":"sha512-3EyO1STPfuVbxMYeRMfkzH4ASk2OovTSI9ZdeMPMaL3NDsJnQ8EHBu4EfFBYEBiHaTM4MKfjSSgj0YXfjD/nMg==","shasum":"138308f3db79bdc252c355121b7d99436d1fe5b7","tarball":"https://registry.npmjs.org/@bossjob-ds/ds/-/ds-0.1.0-alpha.6.tgz","fileCount":12,"unpackedSize":362457,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIA8hivyDXlSG2/flN0pxl8kYpwvhmEUOFjJMr1lFCcIHAiAMK/2lZ9xPZq1ZLFqSxqR4QYK0f5qg95abHZ0Ub9c4mg=="}]},"_npmUser":{"name":"ryanyan330","email":"yuchuanux@gmail.com"},"directories":{},"maintainers":[{"name":"ryanyan330","email":"yuchuanux@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/ds_0.1.0-alpha.6_1785483483743_0.413973228093218"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-07T09:33:32.799Z","modified":"2026-07-31T07:38:04.042Z","0.1.0-alpha.1":"2026-07-07T09:33:33.139Z","0.1.0-alpha.2":"2026-07-07T09:46:29.762Z","0.1.0-alpha.3":"2026-07-07T10:49:12.019Z","0.1.0-alpha.4":"2026-07-09T07:06:54.489Z","0.1.0-alpha.5":"2026-07-14T06:17:26.580Z","0.1.0-alpha.6":"2026-07-31T07:38:03.886Z"},"keywords":["bossjob","design-system","ai-agents","claude-code","cursor","agents.md","manifest","mcp","model-context-protocol","code-connect"],"description":"Bossjob Design System — agent consumption layer. `npx @bossjob-ds/ds init` wires an app repo's AI coding agents (Claude Code / Cursor / AGENTS.md) to the DS contract + a machine-readable component manifest.","maintainers":[{"name":"ryanyan330","email":"yuchuanux@gmail.com"}],"readme":"# @bossjob-ds/ds\n\n> **The agent-consumption layer of the Bossjob Design System.**\n> One command wires an app repo's AI coding agents (Claude Code / Cursor / any\n> `AGENTS.md`-aware tool) to the DS so they *reuse* `@bossjob-ds/*` + tokens instead\n> of re-drawing `<div>`s with hardcoded colors.\n\n```bash\nnpx @bossjob-ds/ds init\n```\n\n## Why this exists\n\nThe north star is: **design → code** and **requirements → prototype**, both kept\nconsistent with production by one source of truth. The missing link on our Figma\ntier is **Code Connect** (Org/Enterprise-only — we're on Pro), so a raw Figma/MCP\nread hands an agent pixel-faithful markup with `#1c70ee` baked in — the exact\nfriction we want gone (see [`docs/adr/0016`](../../docs/adr) / north-star).\n\n`@bossjob-ds/ds` is the owned replacement. It ships to every app repo:\n\n1. **A machine-readable component manifest** (`manifest.json`, schema **v2**) — every\n   `@bossjob-ds/*` component, its props with **allowed enum values**, `whenToUse` /\n   `doNotUse`, a canonical `example`, the Figma node it maps to, its **dependency\n   graph** (`composes` / `requires` / `dependencies`), and a **token vocabulary**\n   (`tokens.groups` — the exact valid `var(--…)` names, role-first).\n2. **A single rule contract, rendered for three agent tools** — \"use `@bossjob-ds/*`\n   + tokens, never hardcode hex/px, check the manifest.\"\n3. **Two ways to read it** — an `llms.txt` discovery index and a zero-dependency\n   **MCP server** (`npx @bossjob-ds/ds mcp`) so agents browse/search/read the\n   contract conversationally instead of grepping JSON.\n\nTogether they make an agent's output *conformant by construction*; the human-facing\n[Conformance Gate](../../docs) checks it after the fact.\n\n## What `init` writes\n\nRun in the root of a consuming app repo:\n\n| File | Purpose | On re-run |\n|---|---|---|\n| `AGENTS.md` | Cross-tool standard (agents.md) | Updated in place (marker-fenced) |\n| `CLAUDE.md` | Claude Code project rules | Block injected / updated, your content preserved |\n| `.cursor/rules/bossjob-ds.mdc` | Cursor project rule (MDC) | Overwritten (owned file) |\n| `.bossjob/manifest.json` | The component manifest the rules point at | Refreshed |\n| `.bossjob/llms.txt` | LLM discovery index (routes to the manifest) | Refreshed |\n\nIdempotent: the markdown files carry `<!-- BEGIN/END @bossjob-ds/ds -->` markers, so\nre-running after a DS release updates the block in place and never duplicates it.\n\n```bash\nnpx @bossjob-ds/ds init              # wire the current repo\nnpx @bossjob-ds/ds init --dry-run    # preview, write nothing\nnpx @bossjob-ds/ds init --dir ./app  # target another directory\nnpx @bossjob-ds/ds init --force      # overwrite owned files even if locally edited\n```\n\n## MCP server\n\nExpose the manifest to any MCP client (Claude Code, Cursor, …) so an agent discovers\nand reads components conversationally instead of grepping JSON:\n\n```bash\nnpx @bossjob-ds/ds mcp        # stdio Model Context Protocol server (read-only)\n```\n\nTools: `list_components`, `get_component`, `search_components`, `list_tokens`,\n`get_manifest_summary`. Zero-dependency (hand-rolled stdio JSON-RPC) so it starts\ninstantly under `npx`. Register it with your client:\n\n```json\n{ \"mcpServers\": { \"bossjob-ds\": { \"command\": \"npx\", \"args\": [\"-y\", \"@bossjob-ds/ds\", \"mcp\"] } } }\n```\n\n## Architecture — \"one source, three outputs\" (一源三发)\n\n```\npackages/ds/src/contract.mjs            ← THE single source of rule truth\n        │  scripts/gen-agent-rules.mjs\n        ▼\npackages/ds/templates/{AGENTS.md, CLAUDE.snippet.md, cursor-bossjob-ds.mdc}\n\npackages/react (TS types) ─┐\ndocs/figma/component-map.md │  scripts/gen-manifest.mjs   (TS compiler API)\npackages/tokens (CSS vars) ─┘        ▼\n                           packages/ds/{manifest.json, llms.txt}\n```\n\n- **Prop enums** come from the DS TypeScript types, resolved with the real TS\n  compiler — so `ButtonSize = 'xxxs'|…|ControlSize` flattens to its full literal\n  set, and it can never drift from the code.\n- **`composes` / `dependencies`** are auto-derived from each component's source\n  imports (same TS program); **`whenToUse` / `example` / `figmaNodeId` / `category` /\n  `requires`** come from [`docs/figma/component-map.md`](../../docs/figma/component-map.md),\n  the curated Figma↔code map.\n- **`tokens.groups`** (the valid `var(--…)` vocabulary) is generated from\n  `@bossjob-ds/tokens` — never hand-written.\n- Only components present in **both** code and the map are emitted (manifest stays\n  1:1 with shipped, documented components).\n\n## Regenerating (DS maintainers)\n\nBoth generators are deterministic (no timestamps → clean diffs). The outputs are\nchecked in and shipped, so refresh them whenever types, the map, or the contract\nchange:\n\n```bash\npnpm --filter @bossjob-ds/ds gen     # rules + manifest\n# or individually, from the repo root:\npnpm agent-rules:build            # contract → templates/\npnpm manifest:build               # types + map → manifest.json\npnpm agent-rules:build --check    # CI: fail if templates are stale\npnpm manifest:build --check       # CI: fail if manifest is stale\n```\n\n## Consuming the manifest programmatically\n\n```js\nimport manifest from '@bossjob-ds/ds/manifest.json' with { type: 'json' };\nconst button = manifest.components.find((c) => c.name === 'Button');\nbutton.props.find((p) => p.name === 'variant').enum;\n// → ['primary','secondary','tertiary','ghost','outline','text','danger']\n\nmanifest.components.find((c) => c.name === 'ConfirmationDialog').composes;\n// → ['Button','Modal']              (auto-derived dependency graph)\nObject.keys(manifest.tokens.groups);\n// → ['color-role','color-palette','typography','spacing', …]   (valid var(--…) vocabulary)\n```\n\n`manifest.schema.json` (JSON Schema 2020-12) ships alongside for validation and\neditor autocomplete.\n","readmeFilename":"README.md"}