{"_id":"@andrewaitken/ds-coverage","name":"@andrewaitken/ds-coverage","dist-tags":{"latest":"0.1.0"},"versions":{"0.1.0":{"name":"@andrewaitken/ds-coverage","version":"0.1.0","description":"Measure design system component adoption across your codebase","license":"MIT","author":{"name":"Andrew Antoshkin"},"repository":{"type":"git","url":"git+https://github.com/AndrewAntoshkin/ds-coverage.git"},"homepage":"https://antoshkin.tech/ds-coverage/","keywords":["design-system","adoption","coverage","components","analytics","audit","cli"],"type":"module","bin":{"ds-coverage":"bin/cli.js"},"scripts":{"test":"node --test test/*.test.js","coverage":"node bin/cli.js"},"engines":{"node":">=18"},"_id":"@andrewaitken/ds-coverage@0.1.0","gitHead":"87845a119219a79f41736b890fc41fba1b5a17f3","bugs":{"url":"https://github.com/AndrewAntoshkin/ds-coverage/issues"},"_nodeVersion":"22.16.0","_npmVersion":"10.9.2","dist":{"integrity":"sha512-ohUjA9+Hx5ll8u8Q75QXQS6O/x+6eKFmPnuhalGScChjMRFMMBZBXbVJUTI0pkNJCh2fAquvQ9fPWofpVIuBXw==","shasum":"07a0e85fe8be852ee13e0f6503e36a54fb899805","tarball":"https://registry.npmjs.org/@andrewaitken/ds-coverage/-/ds-coverage-0.1.0.tgz","fileCount":7,"unpackedSize":14557,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCID6PKAFXsL24KIOYzfa3JU3xZXnwne9yNd3vtkHNNLNXAiBCG8TqQQg81+Xii7OKJqkJct2nD2Dz8IPWowQiY5DapQ=="}]},"_npmUser":{"name":"andrewaitken","email":"andrew.antoshkin@gmail.com"},"directories":{},"maintainers":[{"name":"andrewaitken","email":"andrew.antoshkin@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/ds-coverage_0.1.0_1774619217972_0.24316418249768734"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-27T13:46:57.894Z","0.1.0":"2026-03-27T13:46:58.134Z","modified":"2026-03-27T13:46:58.353Z"},"maintainers":[{"name":"andrewaitken","email":"andrew.antoshkin@gmail.com"}],"description":"Measure design system component adoption across your codebase","homepage":"https://antoshkin.tech/ds-coverage/","keywords":["design-system","adoption","coverage","components","analytics","audit","cli"],"repository":{"type":"git","url":"git+https://github.com/AndrewAntoshkin/ds-coverage.git"},"author":{"name":"Andrew Antoshkin"},"bugs":{"url":"https://github.com/AndrewAntoshkin/ds-coverage/issues"},"license":"MIT","readme":"# ds-coverage\n\nMeasure design system component adoption across your codebase. Find which components are used, unused, or duplicated.\n\nAdoption is the #1 challenge in design systems. ds-coverage gives you the numbers.\n\n## Install\n\n```bash\nnpm i -g ds-coverage\n# or run directly\nnpx ds-coverage src/ --ds @acme/ui\n```\n\n## Usage\n\n```bash\n# Basic scan\nds-coverage src/ --ds @acme/ui\n\n# Multiple packages\nds-coverage . --ds @acme/ui,@acme/icons\n\n# With component inventory (to find unused)\nds-coverage src/ --ds @acme/ui --inventory components.json\n\n# Markdown report for PR\nds-coverage src/ --ds @acme/ui --format markdown --out coverage.md\n\n# CI threshold\nds-coverage src/ --ds @acme/ui --inventory components.json --min 70\n```\n\n## What it measures\n\n| Metric | Description |\n|--------|-------------|\n| **Components used** | How many DS components appear in imports |\n| **Total imports** | Total number of DS import statements |\n| **Custom components** | Local components imported from relative paths |\n| **Duplicates** | Local components with same name as DS components |\n| **Unused** | DS components never imported (requires `--inventory`) |\n| **Top used** | Most frequently imported components |\n| **Least used** | Components with 1-2 imports (deprecation candidates) |\n\n## Inventory file\n\nTo detect unused components, provide a JSON file listing all DS exports:\n\n```json\n[\"Button\", \"Card\", \"Modal\", \"Tooltip\", \"Badge\", \"Input\", \"Select\"]\n```\n\nOr an object with a `components` key:\n\n```json\n{ \"components\": [\"Button\", \"Card\", \"Modal\"] }\n```\n\n## Output formats\n\n- `terminal` (default) — summary with top/bottom lists\n- `markdown` — tables for PRs, docs, or dashboards\n- `json` — machine-readable for CI\n\n## CI integration\n\n```yaml\n# GitHub Actions\n- run: npx ds-coverage src/ --ds @acme/ui --inventory components.json --min 60\n```\n\nExits with code 1 if coverage is below `--min` threshold.\n\n## Pipeline\n\n```\ndesign-system-ai-starter → define tokens\nfigma-to-design-md       → extract from Figma\nds-lint                  → enforce in code\nds-coverage              → measure adoption ← you are here\nds-health                → check live site\n```\n\n## License\n\nMIT\n","readmeFilename":"README.md","_rev":"1-f4417d4faf5414aa0d93efee29b670b3"}