{"_id":"@benjaminmcosker/design-system-generator","_rev":"8-c1d061f9a26aa27906b21d223b2616ab","name":"@benjaminmcosker/design-system-generator","dist-tags":{"latest":"2.7.0"},"versions":{"2.0.0":{"name":"@benjaminmcosker/design-system-generator","version":"2.0.0","keywords":["design-system","design-tokens","accessibility","a11y","axe-core","react","typescript","storybook","code-generation","claude"],"author":{"name":"Ben McCosker"},"license":"MIT","_id":"@benjaminmcosker/design-system-generator@2.0.0","maintainers":[{"name":"benjaminmcosker","email":"benmcosker@gmail.com"}],"homepage":"https://github.com/benmcosker/design-system-generator#readme","bugs":{"url":"https://github.com/benmcosker/design-system-generator/issues"},"bin":{"dsg":"dist/cli.js"},"dist":{"shasum":"7d0810a5f8649c4b34b2560f8169450e6a496290","tarball":"https://registry.npmjs.org/@benjaminmcosker/design-system-generator/-/design-system-generator-2.0.0.tgz","fileCount":23,"integrity":"sha512-A5yFCOSYyE/pWKsrqu4xdLsMLct3KfjWNVMLyM9T6v01XI+luD783WY1e8/9jkTig6lefRyo1vAuTyL01jigeA==","signatures":[{"sig":"MEQCICcC7FVrxKcTmf++xTVmefvxmoZU8uTbBISlYTYUiCflAiBG4EQycNKlqvN2PZGqv81P6I4fe9/CkPpFghoWU7J2mw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":67729},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"1fe092b9cec8b87b4b9e58752a6151d34b217550","scripts":{"dev":"tsx src/cli.ts","test":"vitest run","build":"tsc -p tsconfig.build.json","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"benjaminmcosker","email":"benmcosker@gmail.com"},"repository":{"url":"git+https://github.com/benmcosker/design-system-generator.git","type":"git"},"_npmVersion":"11.6.0","description":"AI-assisted, accessibility-first design-system generator: design tokens in, React + TypeScript component library out — with axe-core tests, Storybook docs, and Claude-written usage guides.","directories":{},"_nodeVersion":"24.8.0","dependencies":{"zod":"^3.24.2","yaml":"^2.7.0","commander":"^13.1.0","@anthropic-ai/sdk":"^0.111.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","vitest":"^3.0.5","typescript":"^5.7.3","@types/node":"^22.13.0"},"_npmOperationalInternal":{"tmp":"tmp/design-system-generator_2.0.0_1784909487262_0.17767011431173718","host":"s3://npm-registry-packages-npm-production"}},"2.1.0":{"name":"@benjaminmcosker/design-system-generator","version":"2.1.0","keywords":["design-system","design-tokens","accessibility","a11y","axe-core","react","typescript","storybook","code-generation","claude"],"author":{"name":"Ben McCosker"},"license":"MIT","_id":"@benjaminmcosker/design-system-generator@2.1.0","maintainers":[{"name":"benjaminmcosker","email":"benmcosker@gmail.com"}],"homepage":"https://github.com/benmcosker/design-system-generator#readme","bugs":{"url":"https://github.com/benmcosker/design-system-generator/issues"},"bin":{"dsg":"dist/cli.js"},"dist":{"shasum":"99877c4e5d6ba195acbb9f88757da8c6585d263d","tarball":"https://registry.npmjs.org/@benjaminmcosker/design-system-generator/-/design-system-generator-2.1.0.tgz","fileCount":23,"integrity":"sha512-dmVJFURkFFjccsufemutdZNLS2cI/tjstWX2YBSDS5ZGtOkaUj/TMn8z9Gkh+k4ymXiV4/ARP59PzOyLatPTRQ==","signatures":[{"sig":"MEUCIQDInMie1uUToYYv0XqCSUgUjanen7cEOvIPgFPXInM4MAIgMtsJfXpJXfgOWYaspVk4BI57lo/enGppqx0Fo0Npx5g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@benjaminmcosker%2fdesign-system-generator@2.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":72824},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"cf0e59404b27f6e2ad2f2dddf2733e55a949951b","scripts":{"dev":"tsx src/cli.ts","test":"vitest run","build":"tsc -p tsconfig.build.json","typecheck":"tsc --noEmit","test:watch":"vitest","check:fixtures":"node scripts/check-fixtures.mjs","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:772ad17a-5780-4ff8-a07e-df76d55593b9"}},"repository":{"url":"git+https://github.com/benmcosker/design-system-generator.git","type":"git"},"_npmVersion":"11.19.0","description":"AI-assisted, accessibility-first design-system generator: design tokens in, React + TypeScript component library out — with axe-core tests, Storybook docs, and Claude-written usage guides.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"zod":"^3.24.2","yaml":"^2.7.0","commander":"^13.1.0","@anthropic-ai/sdk":"^0.111.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","vitest":"^3.0.5","typescript":"^5.7.3","@types/node":"^22.13.0"},"_npmOperationalInternal":{"tmp":"tmp/design-system-generator_2.1.0_1786639273943_0.06546472567433392","host":"s3://npm-registry-packages-npm-production"}},"2.2.0":{"name":"@benjaminmcosker/design-system-generator","version":"2.2.0","keywords":["design-system","design-tokens","accessibility","a11y","axe-core","react","typescript","storybook","code-generation","claude"],"author":{"name":"Ben McCosker"},"license":"MIT","_id":"@benjaminmcosker/design-system-generator@2.2.0","maintainers":[{"name":"benjaminmcosker","email":"benmcosker@gmail.com"}],"homepage":"https://github.com/benmcosker/design-system-generator#readme","bugs":{"url":"https://github.com/benmcosker/design-system-generator/issues"},"bin":{"dsg":"dist/cli.js"},"dist":{"shasum":"ab46c9a2d4bb5f59869f88bb5affa037e22c071f","tarball":"https://registry.npmjs.org/@benjaminmcosker/design-system-generator/-/design-system-generator-2.2.0.tgz","fileCount":23,"integrity":"sha512-jfIMt+DAhDxhXa8Hw0gV8OodldsdfQwyEguEk06Ww+6cUL9QOB43BrVfGMNWlrwv9x+ot4VxdKLsCoVrEZBVpQ==","signatures":[{"sig":"MEUCIHIUMQJImdipTl8kF178DnaQQU+f7tkqfst06ai9Fp/xAiEA+toVu7CxWMlT2jS7dilFjGyZTHxV29SEdUhoZrY1dQw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@benjaminmcosker%2fdesign-system-generator@2.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":79330},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"160c6a35434cbd75488b082b299223e15b1bf621","scripts":{"dev":"tsx src/cli.ts","test":"vitest run","build":"tsc -p tsconfig.build.json","typecheck":"tsc --noEmit","test:watch":"vitest","check:fixtures":"node scripts/check-fixtures.mjs","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:772ad17a-5780-4ff8-a07e-df76d55593b9"}},"repository":{"url":"git+https://github.com/benmcosker/design-system-generator.git","type":"git"},"_npmVersion":"11.19.0","description":"AI-assisted, accessibility-first design-system generator: design tokens in, React + TypeScript component library out — with axe-core tests, Storybook docs, and Claude-written usage guides.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"zod":"^3.24.2","yaml":"^2.7.0","commander":"^13.1.0","@anthropic-ai/sdk":"^0.111.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","vitest":"^3.0.5","typescript":"^5.7.3","@types/node":"^22.13.0"},"_npmOperationalInternal":{"tmp":"tmp/design-system-generator_2.2.0_1787754584164_0.9831038785567361","host":"s3://npm-registry-packages-npm-production"}},"2.3.0":{"name":"@benjaminmcosker/design-system-generator","version":"2.3.0","keywords":["design-system","design-tokens","accessibility","a11y","axe-core","react","typescript","storybook","code-generation","claude"],"author":{"name":"Ben McCosker"},"license":"MIT","_id":"@benjaminmcosker/design-system-generator@2.3.0","maintainers":[{"name":"benjaminmcosker","email":"benmcosker@gmail.com"}],"homepage":"https://github.com/benmcosker/design-system-generator#readme","bugs":{"url":"https://github.com/benmcosker/design-system-generator/issues"},"bin":{"dsg":"dist/cli.js"},"dist":{"shasum":"ef999ef7c8acd1c4cdef60912f7e92bcf53569f0","tarball":"https://registry.npmjs.org/@benjaminmcosker/design-system-generator/-/design-system-generator-2.3.0.tgz","fileCount":23,"integrity":"sha512-yQ2zis4U7gs1ipxIde31xEP/c4Vcz8CBknrH2/MUX98g1nQkSEL+p63gsMH0zcZyr/4zf8iyn8jElfrkbFYojA==","signatures":[{"sig":"MEUCIQCqr6SVi5Z7FhKFEC1ABU4JDFGF2HkrvO78R9bGoFobvwIgAIGPBszUkHxwZYhXbsvt6SA169tF3wf7IYUGNxKScHY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@benjaminmcosker%2fdesign-system-generator@2.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":83427},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"4e02ff4bd2f388620822ff00b3eaa6b4abb9f297","scripts":{"dev":"tsx src/cli.ts","test":"vitest run","build":"tsc -p tsconfig.build.json","typecheck":"tsc --noEmit","test:watch":"vitest","check:fixtures":"node scripts/check-fixtures.mjs","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:772ad17a-5780-4ff8-a07e-df76d55593b9"}},"repository":{"url":"git+https://github.com/benmcosker/design-system-generator.git","type":"git"},"_npmVersion":"11.19.0","description":"AI-assisted, accessibility-first design-system generator: design tokens in, React + TypeScript component library out — with axe-core tests, Storybook docs, and Claude-written usage guides.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"zod":"^3.24.2","yaml":"^2.7.0","commander":"^13.1.0","@anthropic-ai/sdk":"^0.111.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","jsdom":"^25.0.0","react":"^18.3.1","vitest":"^3.0.5","axe-core":"^4.10.0","react-dom":"^18.3.1","typescript":"^5.7.3","@types/node":"^22.13.0","@types/react":"^18.3.0","@types/react-dom":"^18.3.0","@testing-library/react":"^16.2.0"},"_npmOperationalInternal":{"tmp":"tmp/design-system-generator_2.3.0_1787755525826_0.31955102083769993","host":"s3://npm-registry-packages-npm-production"}},"2.4.0":{"name":"@benjaminmcosker/design-system-generator","version":"2.4.0","keywords":["design-system","design-tokens","accessibility","a11y","axe-core","react","typescript","storybook","code-generation","claude"],"author":{"name":"Ben McCosker"},"license":"MIT","_id":"@benjaminmcosker/design-system-generator@2.4.0","maintainers":[{"name":"benjaminmcosker","email":"benmcosker@gmail.com"}],"homepage":"https://github.com/benmcosker/design-system-generator#readme","bugs":{"url":"https://github.com/benmcosker/design-system-generator/issues"},"bin":{"dsg":"dist/cli.js"},"dist":{"shasum":"97fe65f82ae3e4c61aa2cc86115fa5d8985733d7","tarball":"https://registry.npmjs.org/@benjaminmcosker/design-system-generator/-/design-system-generator-2.4.0.tgz","fileCount":23,"integrity":"sha512-lB3Y8zW3b/6YSGQ0j5Y/EATaH3mDbuUQ62DRvjMlCQ8qiM7l75rnmQXcwRH0pLrhHDZtwfRgs/t9H1in+eoflA==","signatures":[{"sig":"MEYCIQCJZKD3O6KrqLD4sqQNWfiFSAdz+jHrZqACwbWMA+UopAIhAOz3H261z00IyBJA9FPINHzD6WXYff2p7+gKbfvGH7S0","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@benjaminmcosker%2fdesign-system-generator@2.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":86515},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"45886fde10936ca4d29c5db203c1f8aea63f88df","scripts":{"dev":"tsx src/cli.ts","test":"vitest run","build":"tsc -p tsconfig.build.json","typecheck":"tsc --noEmit","test:watch":"vitest","check:fixtures":"node scripts/check-fixtures.mjs","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:772ad17a-5780-4ff8-a07e-df76d55593b9"}},"repository":{"url":"git+https://github.com/benmcosker/design-system-generator.git","type":"git"},"_npmVersion":"11.19.0","description":"AI-assisted, accessibility-first design-system generator: design tokens in, React + TypeScript component library out — with axe-core tests, Storybook docs, and Claude-written usage guides.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"zod":"^3.24.2","yaml":"^2.7.0","commander":"^13.1.0","@anthropic-ai/sdk":"^0.111.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","jsdom":"^25.0.0","react":"^18.3.1","vitest":"^3.0.5","axe-core":"^4.10.0","react-dom":"^18.3.1","typescript":"^5.7.3","@types/node":"^22.13.0","@types/react":"^18.3.0","@types/react-dom":"^18.3.0","@testing-library/react":"^16.2.0"},"_npmOperationalInternal":{"tmp":"tmp/design-system-generator_2.4.0_1787756062731_0.17429008688828773","host":"s3://npm-registry-packages-npm-production"}},"2.5.0":{"name":"@benjaminmcosker/design-system-generator","version":"2.5.0","keywords":["design-system","design-tokens","accessibility","a11y","axe-core","react","typescript","storybook","code-generation","claude"],"author":{"name":"Ben McCosker"},"license":"MIT","_id":"@benjaminmcosker/design-system-generator@2.5.0","maintainers":[{"name":"benjaminmcosker","email":"benmcosker@gmail.com"}],"homepage":"https://github.com/benmcosker/design-system-generator#readme","bugs":{"url":"https://github.com/benmcosker/design-system-generator/issues"},"bin":{"dsg":"dist/cli.js"},"dist":{"shasum":"8f020f0d716a88d8b4085f06c0c738c7d3454976","tarball":"https://registry.npmjs.org/@benjaminmcosker/design-system-generator/-/design-system-generator-2.5.0.tgz","fileCount":23,"integrity":"sha512-XNq1jKqm9s7soxGxGVsWuCIX2pvrKQg2whEtl7PZAgwtaw94jwB1vVPMtydl3w253DIeV20JHTrGLtox09DhEQ==","signatures":[{"sig":"MEUCICuQkXvtwvHSYAWxBTklLxVrPvfTZfhT0UObwozJeAyQAiEAguELxt0hhXGwW89558kinfnixAzytp0adraU9cvJ9o8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIH1yObXTJuVbv4BXBo8kp+SKUiAUNPsjGMj433rp7bssAiEArW/x/s09Bf2UkEIFeW2iPbbvuSFoirLCG+p8XHZtDZA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@benjaminmcosker%2fdesign-system-generator@2.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":109083},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"2c2b4c3fb0d6371bdfbcffe819ee6c7b447b8b8a","scripts":{"dev":"tsx src/cli.ts","test":"vitest run","build":"tsc -p tsconfig.build.json","typecheck":"tsc --noEmit","test:watch":"vitest","check:fixtures":"node scripts/check-fixtures.mjs","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:772ad17a-5780-4ff8-a07e-df76d55593b9"}},"repository":{"url":"git+https://github.com/benmcosker/design-system-generator.git","type":"git"},"_npmVersion":"11.19.1","description":"AI-assisted, accessibility-first design-system generator: design tokens in, React + TypeScript component library out — with axe-core tests, Storybook docs, and Claude-written usage guides.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"zod":"^3.24.2","yaml":"^2.7.0","commander":"^13.1.0","@anthropic-ai/sdk":"^0.111.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","jsdom":"^25.0.0","react":"^18.3.1","vitest":"^3.0.5","axe-core":"^4.10.0","react-dom":"^18.3.1","typescript":"^5.7.3","@types/node":"^22.13.0","@types/react":"^18.3.0","@types/react-dom":"^18.3.0","@testing-library/react":"^16.2.0"},"_npmOperationalInternal":{"tmp":"tmp/design-system-generator_2.5.0_1789482788582_0.4406350079005097","host":"s3://npm-registry-packages-npm-production"}},"2.6.0":{"name":"@benjaminmcosker/design-system-generator","version":"2.6.0","keywords":["design-system","design-tokens","accessibility","a11y","axe-core","react","typescript","storybook","code-generation","claude"],"author":{"name":"Ben McCosker"},"license":"MIT","_id":"@benjaminmcosker/design-system-generator@2.6.0","maintainers":[{"name":"benjaminmcosker","email":"benmcosker@gmail.com"}],"homepage":"https://github.com/benmcosker/design-system-generator#readme","bugs":{"url":"https://github.com/benmcosker/design-system-generator/issues"},"bin":{"dsg":"dist/cli.js"},"dist":{"shasum":"10e4a8361b0f6174e0c9c7ef943bf1209a3b7956","tarball":"https://registry.npmjs.org/@benjaminmcosker/design-system-generator/-/design-system-generator-2.6.0.tgz","fileCount":27,"integrity":"sha512-hHWb/0CvOZ0rUXn+imqKW48LM0M6cSTObIBXJI9eIOfjS9AAISQjGHnHPABvJzrhGzEKW4V5niqt+SK3EZAKnw==","signatures":[{"sig":"MEUCID3CnfRFpRfp8/0aQI1g5nvjhN+3gT1AoXfBMCQjiysxAiEA6Ja9hsH4gPfF8YAvkfV8r33H6J0PTWsZV9z9M8KY/VM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIDaLXpaEPAac+Z/lqrvnObXW57NO7tvgApIwra8q6sE6AiAJW1UeTJWFkS/sKklLoHQUfswds5f+1GEutJXcx8hVug==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@benjaminmcosker%2fdesign-system-generator@2.6.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":131335},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"6f0cb8b319777a1104e60b18cb5dc1de9e062af5","scripts":{"dev":"tsx src/cli.ts","test":"vitest run","build":"tsc -p tsconfig.build.json","typecheck":"tsc --noEmit","test:watch":"vitest","check:fixtures":"node scripts/check-fixtures.mjs","prepublishOnly":"npm run build","check:shadcn-tailwind":"node scripts/check-shadcn-tailwind.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:772ad17a-5780-4ff8-a07e-df76d55593b9"}},"repository":{"url":"git+https://github.com/benmcosker/design-system-generator.git","type":"git"},"_npmVersion":"11.20.0","description":"AI-assisted, accessibility-first design-system generator: design tokens in, React + TypeScript component library out — with axe-core tests, Storybook docs, and Claude-written usage guides.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"zod":"^3.24.2","yaml":"^2.7.0","commander":"^13.1.0","@anthropic-ai/sdk":"^0.111.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","jsdom":"^25.0.0","react":"^18.3.1","vitest":"^3.0.5","axe-core":"^4.10.0","react-dom":"^18.3.1","typescript":"^5.7.3","@types/node":"^22.13.0","tailwindcss":"^4.3.3","@types/react":"^18.3.0","@tailwindcss/cli":"^4.3.3","@types/react-dom":"^18.3.0","@testing-library/react":"^16.2.0"},"_npmOperationalInternal":{"tmp":"tmp/design-system-generator_2.6.0_1790200934232_0.6256704816650811","host":"s3://npm-registry-packages-npm-production"}},"2.7.0":{"_id":"@benjaminmcosker/design-system-generator@2.7.0","bin":{"dsg":"dist/cli.js"},"bugs":{"url":"https://github.com/benmcosker/design-system-generator/issues"},"dist":{"shasum":"dfe4f51eb7e38c4da1ae5fed3b5363dbe11d7c1b","tarball":"https://registry.npmjs.org/@benjaminmcosker/design-system-generator/-/design-system-generator-2.7.0.tgz","fileCount":27,"integrity":"sha512-0XryBjqYWd49mHN2mFiCVljwlbgKN6j1LMrZt5QRkK7rC7hz5zgUGP/CYEaI3KkZnRRMs2iK7hy6rtE32I1MsQ==","signatures":[{"sig":"MEUCIHFwu3Gy+2756LoM8xpnyha8hDo19VwdVgnvX3hMSd0wAiEA/7Y1tX6Y5AJRmX1ZJASlPXDtsZ+9aVm9QS7h6O/03Bw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIBTfS/ZGM3j9+tLCjXb38oLs6KCs376PaNyE2kMXkkhBAiEAg2CyqfPmtCw2xXdMtjq91eusu685+vFKvq56RHeLq0Y="}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@benjaminmcosker%2fdesign-system-generator@2.7.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":137651},"main":"./dist/index.js","name":"@benjaminmcosker/design-system-generator","type":"module","types":"./dist/index.d.ts","author":{"name":"Ben McCosker"},"engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"f2b98c09f4d3a43b2630968b4625cfe18288e5b4","license":"MIT","scripts":{"dev":"tsx src/cli.ts","test":"vitest run","build":"tsc -p tsconfig.build.json","typecheck":"tsc --noEmit","test:watch":"vitest","check:fixtures":"node scripts/check-fixtures.mjs","prepublishOnly":"npm run build","check:shadcn-tailwind":"node scripts/check-shadcn-tailwind.mjs"},"version":"2.7.0","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"772ad17a-5780-4ff8-a07e-df76d55593b9"}},"homepage":"https://github.com/benmcosker/design-system-generator#readme","keywords":["design-system","design-tokens","accessibility","a11y","axe-core","react","typescript","storybook","code-generation","claude"],"repository":{"url":"git+https://github.com/benmcosker/design-system-generator.git","type":"git"},"_npmVersion":"11.21.0","description":"AI-assisted, accessibility-first design-system generator: design tokens in, React + TypeScript component library out — with axe-core tests, Storybook docs, and Claude-written usage guides.","directories":{},"maintainers":[{"name":"benjaminmcosker","email":"benmcosker@gmail.com"}],"_nodeVersion":"22.23.3","dependencies":{"zod":"^3.24.2","yaml":"^2.7.0","commander":"^13.1.0","@anthropic-ai/sdk":"^0.111.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","jsdom":"^25.0.0","react":"^18.3.1","vitest":"^3.0.5","axe-core":"^4.10.0","react-dom":"^18.3.1","typescript":"^5.7.3","@types/node":"^22.13.0","tailwindcss":"^4.3.3","@types/react":"^18.3.0","@tailwindcss/cli":"^4.3.3","@types/react-dom":"^18.3.0","@testing-library/react":"^16.2.0"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/design-system-generator_2.7.0_1790880307037_0.9183465295376099"}}},"time":{"created":"2026-07-24T16:11:27.082Z","modified":"2026-10-01T18:45:07.535Z","2.0.0":"2026-07-24T16:11:27.408Z","2.1.0":"2026-08-13T16:41:14.096Z","2.2.0":"2026-08-26T14:29:44.314Z","2.3.0":"2026-08-26T14:45:25.959Z","2.4.0":"2026-08-26T14:54:22.866Z","2.5.0":"2026-09-15T14:33:08.662Z","2.6.0":"2026-09-23T22:02:14.312Z","2.7.0":"2026-10-01T18:45:07.128Z"},"bugs":{"url":"https://github.com/benmcosker/design-system-generator/issues"},"author":{"name":"Ben McCosker"},"license":"MIT","homepage":"https://github.com/benmcosker/design-system-generator#readme","keywords":["design-system","design-tokens","accessibility","a11y","axe-core","react","typescript","storybook","code-generation","claude"],"repository":{"url":"git+https://github.com/benmcosker/design-system-generator.git","type":"git"},"description":"AI-assisted, accessibility-first design-system generator: design tokens in, React + TypeScript component library out — with axe-core tests, Storybook docs, and Claude-written usage guides.","maintainers":[{"name":"benjaminmcosker","email":"benmcosker@gmail.com"}],"readme":"# design-system-generator\n\n[![CI](https://github.com/benmcosker/design-system-generator/actions/workflows/ci.yml/badge.svg)](https://github.com/benmcosker/design-system-generator/actions/workflows/ci.yml)\n[![npm version](https://img.shields.io/npm/v/@benjaminmcosker/design-system-generator.svg)](https://www.npmjs.com/package/@benjaminmcosker/design-system-generator)\n[![Storybook](https://img.shields.io/badge/Storybook-live%20demo-FF4785?logo=storybook&logoColor=white)](https://main--6a5fc3291d6b2fa47f0cdd53.chromatic.com/)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n\n**Design tokens in → accessible React + TypeScript component library out.**\n\n`dsg` takes a JSON/YAML design-token spec and generates a complete, publishable\ncomponent library with accessibility built in from the first line — not bolted\non after:\n\n- 🎨 **Token-driven** — one spec file defines colors, typography, spacing, radii, and focus rings; everything is emitted as CSS custom properties.\n- ♿ **Accessibility enforced at generation time** — every color pair used by generated components is checked against WCAG AA contrast ratios *before* any code is emitted. An inaccessible palette fails the build with the exact ratios that missed the bar.\n- 🧪 **axe-core in CI** — every generated component ships with an axe-core test, and this repo's CI generates the example system and runs those tests on every push.\n- 📚 **Auto-generated Storybook** — CSF3 stories for every component, with `@storybook/addon-a11y` set to fail on violations, plus a Chromatic script for visual regression.\n- 🤖 **Claude-written docs** — with `--ai-docs`, the Claude API writes each component's usage docs and accessibility notes *from the actual generated source and token spec*, so the docs describe what was really built.\n- 📦 **Publishable output** — the generated library is a ready-to-publish npm package; this tool itself releases with semantic-release and conventional commits.\n\n## Quick start\n\n```bash\nnpm install\nnpm run build\n\n# Validate a token spec (schema + WCAG AA contrast)\nnode dist/cli.js check example/tokens.yaml\n\n# Generate a component library\nnode dist/cli.js generate example/tokens.yaml -o generated-ds\n\n# With Claude-written docs\nexport ANTHROPIC_API_KEY=sk-ant-...\nnode dist/cli.js generate example/tokens.yaml -o generated-ds --ai-docs\n\n# Try the output\ncd generated-ds\nnpm install\nnpm test           # axe-core a11y tests for every component\nnpm run storybook  # auto-generated docs\n```\n\n## The token spec\n\n```yaml\nname: acme\ncolors:\n  primary: \"#1d4ed8\"\n  background: \"#ffffff\"\n  surface: \"#f8fafc\"\n  text: \"#0f172a\"\n  textMuted: \"#475569\"\n  danger: \"#b91c1c\"\n  success: \"#15803d\"\n  warning: \"#b45309\"\ntypography:\n  fontFamily: \"'Inter', system-ui, sans-serif\"\n  baseSizePx: 16\n  scale: 1.25\nspacing:\n  unitPx: 4\n```\n\nOnly `name` and `colors` are required — everything else has sensible defaults.\nSpecs are validated with [zod](https://github.com/colinhacks/zod), and readable\n\"on-colors\" (e.g. the label color for a primary button) are computed\nautomatically from your palette.\n\nTo pick a label color yourself, set an override: `onPrimary`, `onDanger`,\n`onSuccess`, `onWarning` (and `onSecondary`, `onAccent` for the shadcn target).\nOverrides are contrast-checked like computed labels. They're useful for saturated\nbrand colors: `#ff0000` fails with the computed `#111827` label (4.44:1) but passes\nwith `onPrimary: \"#000000\"` (5.25:1).\n\n### What happens with an inaccessible palette?\n\nGeneration refuses to proceed and tells you exactly why. Take this spec —\n`textMuted` is too light and `primary` is too pale for a focus ring:\n\n```yaml\nname: acme\ncolors:\n  primary: \"#60a5fa\"    # too light for a 3:1 UI boundary / focus ring\n  background: \"#ffffff\"\n  surface: \"#f8fafc\"\n  text: \"#0f172a\"\n  textMuted: \"#cbd5e1\"  # too light for 4.5:1 body text\n  danger: \"#b91c1c\"\n  success: \"#15803d\"\n  warning: \"#b45309\"\n```\n\n```bash\n$ node dist/cli.js check bad-tokens.yaml\n\nToken spec fails WCAG AA contrast requirements:\n  - muted text on background: #cbd5e1 on #ffffff is 1.48:1 (needs 4.5:1)\n  - primary as UI boundary: #60a5fa on #ffffff is 2.54:1 (needs 3:1)\n  - focus ring on background: #60a5fa on #ffffff is 2.54:1 (needs 3:1)\n\n$ echo $?\n1\n```\n\nNo components are generated and the process exits non-zero — this is exactly\nthe check CI runs, so an inaccessible spec can't reach `main`.\n\n## What gets generated\n\n```\ngenerated-ds/\n├── package.json              # publishable, with test/storybook/chromatic scripts\n├── .storybook/               # Storybook config with a11y addon (fails on violations)\n├── src/\n│   ├── tokens.css            # your tokens as CSS custom properties\n│   ├── styles.css            # component styles incl. :focus-visible rings\n│   ├── index.ts\n│   ├── testing/axe.ts        # shared axe-core assertion helper\n│   └── Button/\n│       ├── Button.tsx        # accessible component (real <button>, aria-busy, …)\n│       ├── Button.stories.tsx\n│       ├── Button.test.tsx   # axe-core accessibility test\n│       └── Button.docs.md    # Claude-written usage docs + a11y notes\n│   └── TextField/ Badge/ Alert/ …\n```\n\nComponents generated today: **Button**, **TextField**, **Badge**, **Alert**,\n**Checkbox**, **Switch**, **RadioGroup**, **Select** — each built on real\nsemantic HTML wherever possible (native checkboxes, radios, and `<select>`)\nso keyboard support, labeling, and state come from the browser instead of\nhand-rolled ARIA: wired labels, `aria-describedby` plumbing,\nseverity-appropriate live regions, keyboard-visible focus rings.\n\n## How the accessibility guarantee works\n\n1. **At generation time** — WCAG contrast math (relative luminance per WCAG 2.1)\n   runs over every foreground/background pair the components will use: body\n   text, muted text, button labels on filled backgrounds, status text, and the\n   focus ring against the page. Failures abort generation.\n2. **In the generated package** — every component has an axe-core test run in\n   jsdom (`npm test`). The `color-contrast` rule is disabled there — jsdom\n   doesn't paint pixels — because contrast was already proven from the token\n   values in step 1.\n3. **In this repo's CI** — the `generated-a11y` job generates the example\n   system from scratch and runs its axe-core suite on every push, so \"generated\n   components pass axe-core\" is a tested claim, not a README promise.\n\nBeyond contrast, the generated components also ship these built-in guarantees:\n\n- **Touch targets** (WCAG 2.5.8) — every interactive control renders with at\n  least a 24×24px hit area.\n- **Reduced motion** (WCAG 2.3.3) — all transitions collapse under\n  `prefers-reduced-motion: reduce`.\n- **Scalable text** (WCAG 1.4.4) — font sizes are emitted in `rem`, so they\n  scale with the reader's browser text-size setting.\n- **Status not by color alone** (WCAG 1.4.1) — `Alert` and `Toast` convey tone\n  with an icon and a screen-reader severity word, not just the border color.\n- **Input purpose** (WCAG 1.3.5) — `TextField` and `Select` forward an\n  `autoComplete` token verbatim. **Set it on every field that collects\n  information about the user** (e.g. `autoComplete=\"email\"`), so browsers and\n  assistive tech can fill it:\n\n  ```tsx\n  <TextField label=\"Email address\" type=\"email\" autoComplete=\"email\" />\n  ```\n\n## Using with shadcn/ui\n\nIf your components come from [shadcn/ui](https://ui.shadcn.com), generate a theme\ninstead of a component library. The same token spec and the same contrast gate apply,\nplus the extra pairings shadcn uses (muted text on `muted`, labels on `secondary` and\n`accent`, form-field borders, chart colors).\n\n```bash\ndsg generate tokens.yaml --target shadcn -o theme\n```\n\nThis writes `theme.css` (shadcn's CSS variables plus the Tailwind v4 `@theme inline`\nbridge), `registry-item.json` (for `npx shadcn add ./theme/registry-item.json`) and a\nREADME. Optional tokens `secondary`, `accent`, `muted`, `border`, `input` and `chart`\ndefault from your palette. `border` is a light mix of text into the background, and\n`input` is the lightest mix that reaches 3:1 against it.\n\nKeep the committed theme honest in CI. This fails if someone edits a color by hand:\n\n```bash\ndsg check tokens.yaml --theme app/theme.css\n```\n\n**One caveat:** shadcn components draw focus rings at reduced opacity\n(`focus-visible:ring-ring/50`), which undoes the contrast the check verified. Change\nthose classes to full-opacity `ring-ring` in the components you copy in.\n\n## AI-assisted docs\n\n`--ai-docs` sends each component's *actual generated source* plus the validated\ntoken spec to the Claude API (`claude-opus-4-8`, streaming, adaptive thinking)\nand writes `<Component>.docs.md` with usage examples, a props table, grounded\naccessibility notes, and do/don't guidance. Without the flag (or if the API is\nunavailable) a deterministic fallback doc is written instead, so generation\nnever blocks on the network.\n\n## Development\n\n```bash\nnpm test           # unit tests: schema, contrast math, generator output\nnpm run typecheck\nnpm run check:fixtures   # dsg check over the pass/fail fixture matrices\nnpm run dev -- generate example/tokens.yaml -o /tmp/out\n```\n\nReleases are automated with semantic-release on `main` using conventional\ncommits (`feat:`, `fix:`, `feat!:`…).\n\n## License\n\nMIT\n","readmeFilename":"README.md"}