{"_id":"@01.works/design-system","_rev":"6-69ec2cafd2a7fc07ceaa92be0e8a1e8f","name":"@01.works/design-system","dist-tags":{"latest":"0.5.0"},"versions":{"0.1.1":{"name":"@01.works/design-system","version":"0.1.1","license":"UNLICENSED","_id":"@01.works/design-system@0.1.1","maintainers":[{"name":"kdnhyk","email":"kdnhyk@gmail.com"}],"bin":{"agency-ds":"dist/cli.js"},"dist":{"shasum":"0330d6259d00b7d583e573f4a55970eef258599e","tarball":"https://registry.npmjs.org/@01.works/design-system/-/design-system-0.1.1.tgz","fileCount":154,"integrity":"sha512-on02HLAFPcx106lkTkEpDPwMEt1toJzcAvichynER4LmTDf/66MuztNjnwDGAXzA+6/4B50rSI6FNHJNj0l5zg==","signatures":[{"sig":"MEQCIBqAL4dqNc59U4cxrli5nUOS7e1OrUT4vUcN9HDCLDNSAiAWCtg3kjQeqX46VEFkxdT/jcso0D8i4KQaam47G0W3Ng==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":626854},"type":"module","engines":{"node":">=20.18.1"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./schema.json":"./schema.json"},"scripts":{"test":"node --import tsx --test test/*.test.ts","build":"tsc -p tsconfig.build.json","doctor":"node --import tsx src/cli.ts doctor","prepack":"pnpm run validate:registry && pnpm run typecheck && pnpm run build","typecheck":"tsc -p tsconfig.json --noEmit","test:package":"node --import tsx scripts/test-package.ts","vendor:upstream":"node --import tsx scripts/vendor-upstream.ts","validate:registry":"node --import tsx scripts/validate-registry.ts"},"_npmUser":{"name":"kdnhyk","email":"kdnhyk@gmail.com"},"_npmVersion":"11.16.0","description":"Generate and maintain project-owned design systems.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"zod":"4.4.3","shadcn":"4.18.0","commander":"14.0.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"4.23.12","typescript":"5.9.3","@types/node":"24.13.3"},"_npmOperationalInternal":{"tmp":"tmp/design-system_0.1.1_1787628737192_0.6677297700462761","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@01.works/design-system","version":"0.1.2","license":"UNLICENSED","_id":"@01.works/design-system@0.1.2","maintainers":[{"name":"kdnhyk","email":"kdnhyk@gmail.com"}],"bin":{"agency-ds":"dist/cli.js"},"dist":{"shasum":"f5269c50ecb6c0c1d390c3cdf922f13cfba3b116","tarball":"https://registry.npmjs.org/@01.works/design-system/-/design-system-0.1.2.tgz","fileCount":154,"integrity":"sha512-Gl0R5PgpCArH+8D4YGbEfqDzJEWZcN7Vu3/MVlNfme7pAv3ql5rx7bi3xb0JoF2v6ZkqmIlkDsETEgmTJ4HltQ==","signatures":[{"sig":"MEQCHwqL8SdpHJwSX+gn3pbzKudo0lh+uLqLdJlmCLD+ezECIQC6oTLnYK3rzU8CStWOoo9a7MLqQFdowooBQ2v8lj4b1w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":626414},"type":"module","_from":"file:01.works-design-system-0.1.2.tgz","engines":{"node":">=20.18.1"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./schema.json":"./schema.json"},"scripts":{"test":"node --import tsx --test test/*.test.ts","build":"tsc -p tsconfig.build.json","doctor":"node --import tsx src/cli.ts doctor","typecheck":"tsc -p tsconfig.json --noEmit","test:package":"node --import tsx scripts/test-package.ts","vendor:upstream":"node --import tsx scripts/vendor-upstream.ts","validate:registry":"node --import tsx scripts/validate-registry.ts"},"_npmUser":{"name":"kdnhyk","email":"kdnhyk@gmail.com"},"_resolved":"/private/var/folders/mr/1yy73dlx7rg_sb0x6j2hvfs80000gn/T/e6ad43404f008474ad30f157677bda79/01.works-design-system-0.1.2.tgz","_integrity":"sha512-Gl0R5PgpCArH+8D4YGbEfqDzJEWZcN7Vu3/MVlNfme7pAv3ql5rx7bi3xb0JoF2v6ZkqmIlkDsETEgmTJ4HltQ==","_npmVersion":"11.16.0","description":"Generate and maintain project-owned design systems.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"zod":"4.4.3","shadcn":"4.18.0","commander":"14.0.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"4.23.12","typescript":"5.9.3","@types/node":"24.13.3"},"_npmOperationalInternal":{"tmp":"tmp/design-system_0.1.2_1787639237928_0.4507893504102889","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@01.works/design-system","version":"0.2.0","license":"UNLICENSED","_id":"@01.works/design-system@0.2.0","maintainers":[{"name":"kdnhyk","email":"kdnhyk@gmail.com"}],"homepage":"https://github.com/01-office/layout/tree/main/packages/design-system#readme","bugs":{"url":"https://github.com/01-office/layout/issues"},"bin":{"agency-ds":"dist/cli.js"},"dist":{"shasum":"71b6b51c7cec4fe3645ca43fcde25dad74778c23","tarball":"https://registry.npmjs.org/@01.works/design-system/-/design-system-0.2.0.tgz","fileCount":182,"integrity":"sha512-AVMilLuZ6t4vbKCPQKPJZ/zYYiOw17LfWf041DGG421xaKPwrPW2UKZQNn3gaIE7UCdFLEdAKTC6dM/5L3X0TQ==","signatures":[{"sig":"MEQCIGMjqID8cq6JkkqdeqjmSWBGNq9KX45N3FZPCr59To3hAiABhhU/DTEs569tpDax3AGUsItacyIxwVYPvxoAW9fimQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":682134},"type":"module","engines":{"node":">=20.18.1"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./schema.json":"./schema.json","./fragments/layer-foundation/1.json":"./registry/fragments/layer-foundation/1.json"},"gitHead":"eefd056fe19b6cc3c9a1be775b31d5e3e809ec9e","scripts":{"test":"node --import tsx --test test/*.test.ts","build":"tsc -p tsconfig.build.json","check":"pnpm run validate:foundation && pnpm run validate:registry && pnpm run typecheck && pnpm run test","doctor":"node --import tsx src/cli.ts doctor","prepare":"pnpm run build","storybook":"node scripts/storybook.mjs","typecheck":"tsc -p tsconfig.json --noEmit","lint:package":"pnpm run build && publint","test:package":"node --import tsx scripts/test-package.ts","prepublishOnly":"pnpm run verify:release","verify:release":"pnpm run check && pnpm run lint:package && pnpm run test:package && pnpm run storybook:verify","vendor:upstream":"node --import tsx scripts/vendor-upstream.ts","storybook:verify":"node scripts/storybook.mjs --verify","validate:registry":"node --import tsx scripts/validate-registry.ts","validate:foundation":"node --import tsx scripts/extract-layer-foundation.ts --check"},"_npmUser":{"name":"kdnhyk","email":"kdnhyk@gmail.com"},"repository":{"url":"git+https://github.com/01-office/layout.git","type":"git","directory":"packages/design-system"},"_npmVersion":"11.16.0","description":"Generate and maintain project-owned design systems.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"zod":"4.4.3","shadcn":"4.18.0","commander":"14.0.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.33.0","devDependencies":{"tsx":"4.23.12","publint":"0.3.24","typescript":"5.9.3","@types/node":"24.13.3"},"_npmOperationalInternal":{"tmp":"tmp/design-system_0.2.0_1787798524127_0.874870993874846","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@01.works/design-system","version":"0.3.0","license":"UNLICENSED","_id":"@01.works/design-system@0.3.0","maintainers":[{"name":"kdnhyk","email":"kdnhyk@gmail.com"}],"homepage":"https://github.com/01-office/design-context/tree/main/packages/design-system#readme","bugs":{"url":"https://github.com/01-office/design-context/issues"},"bin":{"design-system":"dist/cli.js"},"dist":{"shasum":"78a8284b196e5b6c3c7a4933e4c089cd3478e0d4","tarball":"https://registry.npmjs.org/@01.works/design-system/-/design-system-0.3.0.tgz","fileCount":140,"integrity":"sha512-sMmsqgRvg6eKCZ1euwdkIzpFdmaLdRpFw3sG2XmcIQiqLqQJ4fXxuAMOkGW9NbxsIgfFUdHbAQq53l4o2096Ig==","signatures":[{"sig":"MEUCIDl4Jiksyjqrqk2EOMN/Le+LgSYQWZUMRiKqjV2z4N7SAiEA14TA9ABqFYgs2/qP+QsIwga++El+dq1ZuonNeMByIiQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":493835},"type":"module","_from":"file:01.works-design-system-0.3.0.tgz","engines":{"node":">=22.12.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./schema.json":"./schema.json","./fragments/layer-foundation/1.json":"./registry/fragments/layer-foundation/1.json"},"scripts":{"test":"node --import tsx --test test/*.test.ts","build":"node scripts/clean-dist.mjs && tsc -p tsconfig.build.json","check":"pnpm run validate:registry && pnpm run typecheck && pnpm run test","doctor":"node --import tsx src/cli.ts doctor","storybook":"node scripts/storybook.mjs","typecheck":"tsc -p tsconfig.json --noEmit","lint:package":"pnpm run build && publint","test:package":"node --import tsx scripts/test-package.ts","verify:release":"pnpm run check && pnpm run lint:package && pnpm run test:package && pnpm run storybook:verify","vendor:upstream":"node --import tsx scripts/vendor-upstream.ts","storybook:verify":"node scripts/storybook.mjs --verify","validate:registry":"node --import tsx scripts/validate-registry.ts"},"_npmUser":{"name":"kdnhyk","email":"kdnhyk@gmail.com"},"_resolved":"/private/var/folders/mr/1yy73dlx7rg_sb0x6j2hvfs80000gn/T/e307534bbf76a44f4e5b7fdce1851706/01.works-design-system-0.3.0.tgz","_integrity":"sha512-sMmsqgRvg6eKCZ1euwdkIzpFdmaLdRpFw3sG2XmcIQiqLqQJ4fXxuAMOkGW9NbxsIgfFUdHbAQq53l4o2096Ig==","repository":{"url":"git+https://github.com/01-office/design-context.git","type":"git","directory":"packages/design-system"},"_npmVersion":"11.16.0","description":"Generate and maintain project-owned design systems.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"zod":"4.4.3","commander":"14.0.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"4.23.12","shadcn":"4.18.0","publint":"0.3.24","typescript":"5.9.3","@types/node":"24.13.3"},"_npmOperationalInternal":{"tmp":"tmp/design-system_0.3.0_1787908299917_0.9380830483854246","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@01.works/design-system","version":"0.4.0","license":"SEE LICENSE IN LICENSE","_id":"@01.works/design-system@0.4.0","maintainers":[{"name":"kdnhyk","email":"kdnhyk@gmail.com"}],"homepage":"https://github.com/01-office/design-context/tree/main/packages/design-system#readme","bugs":{"url":"https://github.com/01-office/design-context/issues"},"bin":{"design-system":"dist/cli.js"},"dist":{"shasum":"dff70d8525514941355bf642ed0dd9eb04fa1348","tarball":"https://registry.npmjs.org/@01.works/design-system/-/design-system-0.4.0.tgz","fileCount":135,"integrity":"sha512-GFfcUO5UWHJgRfUdpr21/bsf0lp9UfhFvCuF48fSVtRIU2MbNmdCCbN3GQLphizuRNShXs6gtgFq2zxd84ItRA==","signatures":[{"sig":"MEQCIFJ3bPjqnmrHvxl1rhMwnmCQYwRC1yyKlwB6vMjGK4WcAiAvptyEP05q5x+q9cCrUjXEt9kmEAA+a3Fg2Gcxg/S2og==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":496479},"type":"module","_from":"file:/home/runner/work/_temp/npm-release-33478590372-1.tgz","engines":{"node":">=22.12.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./schema.json":"./schema.json","./fragments/design-context-foundation/1.json":"./registry/fragments/design-context-foundation/1.json"},"scripts":{"test":"node --import tsx --test test/*.test.ts","build":"node scripts/clean-dist.mjs && tsc -p tsconfig.build.json","check":"pnpm run validate:registry && pnpm run typecheck && pnpm run test","doctor":"node --import tsx src/cli.ts doctor","storybook":"node scripts/storybook.mjs","typecheck":"tsc -p tsconfig.json --noEmit","lint:package":"pnpm run build && publint","test:package":"node --import tsx scripts/test-package.ts","verify:release":"pnpm run check && pnpm run lint:package && pnpm run test:package && pnpm run storybook:verify","generate:schema":"node --import tsx scripts/generate-schema.ts","vendor:upstream":"node --import tsx scripts/vendor-upstream.ts","storybook:verify":"node scripts/storybook.mjs --verify","validate:registry":"node --import tsx scripts/validate-registry.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:1321b524-f307-4b50-bfce-e102b015cc27"}},"_resolved":"/home/runner/work/_temp/npm-release-33478590372-1.tgz","_integrity":"sha512-GFfcUO5UWHJgRfUdpr21/bsf0lp9UfhFvCuF48fSVtRIU2MbNmdCCbN3GQLphizuRNShXs6gtgFq2zxd84ItRA==","repository":{"url":"git+https://github.com/01-office/design-context.git","type":"git","directory":"packages/design-system"},"_npmVersion":"11.17.0","description":"Generate and maintain project-owned design systems.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"zod":"4.4.3","commander":"14.0.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"4.23.12","shadcn":"4.18.0","publint":"0.3.24","typescript":"5.9.3","@types/node":"24.13.3"},"_npmOperationalInternal":{"tmp":"tmp/design-system_0.4.0_1788245213855_0.6507475654914125","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@01.works/design-system","version":"0.5.0","description":"Generate and maintain project-owned design systems.","type":"module","license":"SEE LICENSE IN LICENSE","bin":{"design-system":"dist/cli.js"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./version":{"types":"./dist/version.d.ts","import":"./dist/version.js"},"./fragments/design-context-foundation/1.json":"./registry/fragments/design-context-foundation/1.json","./schema.json":"./schema.json"},"engines":{"node":">=22.12.0"},"dependencies":{"commander":"14.0.3","zod":"4.4.3"},"devDependencies":{"@types/node":"24.13.3","publint":"0.3.24","shadcn":"4.18.0","tsx":"4.23.12","typescript":"5.9.3"},"repository":{"type":"git","url":"git+https://github.com/01-office/design-context.git","directory":"packages/design-system"},"bugs":{"url":"https://github.com/01-office/design-context/issues"},"homepage":"https://github.com/01-office/design-context/tree/main/packages/design-system#readme","publishConfig":{"access":"public"},"scripts":{"build":"node scripts/clean-dist.mjs && tsc -p tsconfig.build.json","check":"pnpm run validate:registry && pnpm run typecheck && pnpm run test","doctor":"node --import tsx src/cli.ts doctor","generate:schema":"node --import tsx scripts/generate-schema.ts","lint:package":"pnpm run build && publint","storybook":"node scripts/storybook.mjs","storybook:verify":"node scripts/storybook.mjs --verify","typecheck":"tsc -p tsconfig.json --noEmit","test":"node --import tsx --test test/*.test.ts","test:package":"node --import tsx scripts/test-package.ts","validate:registry":"node --import tsx scripts/validate-registry.ts","verify:release":"pnpm run check && pnpm run lint:package && pnpm run test:package && pnpm run storybook:verify","vendor:upstream":"node --import tsx scripts/vendor-upstream.ts"},"_id":"@01.works/design-system@0.5.0","_integrity":"sha512-zaBuClChsJJhk2p59YGcBSBzzbdjM+l5d+d/0JlZyEHDTBBr8Kab8v1sLvTzH3wxci4AVWR6BawM8+K7xVrrEQ==","_resolved":"/home/runner/work/_temp/npm-release-34036179697-1.tgz","_from":"file:/home/runner/work/_temp/npm-release-34036179697-1.tgz","_nodeVersion":"24.20.0","_npmVersion":"11.19.0","dist":{"integrity":"sha512-zaBuClChsJJhk2p59YGcBSBzzbdjM+l5d+d/0JlZyEHDTBBr8Kab8v1sLvTzH3wxci4AVWR6BawM8+K7xVrrEQ==","shasum":"431ce1dffb8bc47bdc721af9ac68ff6438f4b226","tarball":"https://registry.npmjs.org/@01.works/design-system/-/design-system-0.5.0.tgz","fileCount":113,"unpackedSize":496599,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDjdl+WkSonRSXWqk4Ab99s7NqugwpPy6TcyYjdVzcJ7AIgLO9lLa7VyMkqSAUJ5uzMt+tNbSu3LvdNXQIU0SGo5Eg="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:1321b524-f307-4b50-bfce-e102b015cc27"}},"directories":{},"maintainers":[{"name":"kdnhyk","email":"kdnhyk@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/design-system_0.5.0_1788701364177_0.28117271287133905"},"_hasShrinkwrap":false}},"time":{"created":"2026-08-25T03:32:17.088Z","modified":"2026-09-06T13:29:24.472Z","0.1.1":"2026-08-25T03:32:17.369Z","0.1.2":"2026-08-25T06:27:18.075Z","0.2.0":"2026-08-27T02:42:04.267Z","0.3.0":"2026-08-28T09:11:40.068Z","0.4.0":"2026-09-01T06:46:54.008Z","0.5.0":"2026-09-06T13:29:24.320Z"},"bugs":{"url":"https://github.com/01-office/design-context/issues"},"license":"SEE LICENSE IN LICENSE","homepage":"https://github.com/01-office/design-context/tree/main/packages/design-system#readme","repository":{"type":"git","url":"git+https://github.com/01-office/design-context.git","directory":"packages/design-system"},"description":"Generate and maintain project-owned design systems.","maintainers":[{"name":"kdnhyk","email":"kdnhyk@gmail.com"}],"readme":"# @01.works/design-system\n\nDesign Context foundation을 프로젝트 소유 소스로 생성하고 provenance, 진단, 안전한 upgrade를 관리하는 CLI다.\n\n이 패키지는 두 영역을 의도적으로 분리한다.\n\n- Foundation: Design Context 토큰, 상태 계약, primitive, 의존성, framework wiring. 결정론적으로 생성하고 digest를 추적한다.\n- Composition: route, 콘텐츠, 정보 위계, reference를 해석한 화면 조합. 처음부터 프로젝트가 소유한다.\n\n`init`은 화면이나 route를 만들지 않는다.\n\n## 사용자 흐름\n\n`0.5.0`은 immutable `design-context@1.2.0` foundation을 사용합니다.\n\n패키지 설치 자체는 프로젝트 파일을 변경하지 않습니다. 새 프로젝트는 `init`, 기존\n프로젝트는 `adopt`를 실행해야 foundation, provenance와 agent skill이 저장소에 연결됩니다.\nfoundation 없이 agent skill만 먼저 연결하려면 `setup`을 사용합니다.\n`setup`은 생성 digest를 skill 디렉터리에 기록하므로, 사용자가 수정하지 않은 이전 버전은\n후속 실행에서 안전하게 갱신하고 프로젝트가 수정한 skill은 conflict로 보존합니다.\n\n| 대상 | 첫 명령 | 결과 |\n| --- | --- | --- |\n| 새 Next.js/Vite 프로젝트 | `design-system init` | 생성형 foundation과 agent skill 설치 |\n| 기존 shadcn Next.js/Vite 프로젝트 | `design-system adopt --register` | 기존 UI 자산을 유지하며 제어면, CLI와 agent skill 등록 |\n| 기존 비-shadcn Next.js/Vite 프로젝트 | `design-system adopt --bootstrap` | 기존 시스템을 보존하는 coexist 제어면과 agent skill 설치 |\n| agent 지침만 필요한 프로젝트 | `design-system setup` | `.agents/skills/use-01works-design-system`만 설치 |\n\n```bash\n# CLI를 프로젝트의 반복 가능한 devDependency로 설치할 때\npnpm add -D @01.works/design-system@0.5.0\n\n# 1. Design Context foundation 계획과 적용\npnpm dlx @01.works/design-system@0.5.0 init --profile minimal --dry-run --json\npnpm dlx @01.works/design-system@0.5.0 init --profile minimal --yes\n\n# 2. context.01.works의 프롬프트 복사로 revision-pinned reference JSON을 전달\n#    공개되지 않은 Design Context reference CLI 버전을 추측해 설치하지 않는다.\n\n# 3. 에이전트가 reference evidence를 읽고 프로젝트 소유 화면을 작성\n#    init은 이 단계의 route/content를 생성하지 않는다.\n\n# 4. 상태와 provenance 검사. error는 중단하고 warning은 검토한다.\npnpm exec design-system doctor\n\n# 5. 구현 검증 뒤, 프로젝트 정책상 warning도 실패시킬 때만 strict 사용\npnpm exec design-system doctor --strict\n\n# 6. 의도적인 커스터마이징 승인과 이후 갱신 확인\npnpm exec design-system baseline --yes\npnpm exec design-system upgrade --check\n# CI에서는 변경·수동 검토·unsupported 항목을 모두 실패 처리\npnpm exec design-system upgrade --check --fail-on-change\npnpm exec design-system upgrade --apply-safe\n```\n\n`init`과 `adopt`가 함께 설치하는 `use-01works-design-system` skill은 reference를 관찰 자료로 취급하고, 증거가 없는 column 수·gutter·breakpoint를 추론하지 않도록 안내한다. 시각 검증 도구의 설치와 수명주기는 foundation 계약에 포함하지 않는다.\n\n```bash\n# foundation을 적용하지 않고 agent skill만 연결\npnpm dlx @01.works/design-system@0.5.0 setup --dry-run --json\npnpm dlx @01.works/design-system@0.5.0 setup --yes\n```\n\n## 지원 범위\n\n| 항목 | 지원 내용 |\n| --- | --- |\n| foundation | `design-context@1.2.0` |\n| 프레임워크 | Next.js 16, React + Vite 7·8 |\n| 스타일 | Tailwind CSS 4, 검증된 light Design Context token |\n| primitive | Button, Input, Select, Checkbox, Slider, Dialog, Table, Badge |\n| 아이콘·폰트 | Tabler Icons, Geist |\n| profile | `foundation`, `minimal`, `product`, `monorepo` |\n| catalog | component-only Storybook 10.5.10 |\n| 패키지 매니저 | pnpm |\n\n`foundation` profile은 `--components`로 portable primitive 또는 `form`, `overlay`, `data`, `feedback` group을 선택한다. `minimal`은 Button, Input, Badge를 설치하고 `product`는 portable primitive 8개를 설치한다. profile은 설치 범위의 단축 표현일 뿐 foundation 선택이 아니다. 실제 선택 결과는 `design-system.json`의 `components`에 기록된다.\n\n```bash\npnpm exec design-system init --profile foundation --components button,dialog --catalog none --yes\npnpm exec design-system init --profile product --catalog storybook --yes\npnpm exec design-system init --framework vite --profile product --catalog storybook --yes\npnpm exec design-system init --profile monorepo --catalog storybook --yes\n\npnpm exec design-system add slider table --dry-run\npnpm exec design-system add form overlay --yes\n```\n\nStorybook은 현재 프로젝트에 설치된 Design Context component만 문서화한다. preset toolbar, dark-mode 비교, pattern route/story는 생성하지 않는다.\n\n## 기존 프로젝트\n\n`adopt`는 Design Context 일부를 기존 시스템과 공존시키는 명령이며 전체 Design Context 준수를 주장하지 않는다.\n\n```bash\n# 진단만 수행합니다. 옵션 없는 adopt는 파일을 변경하지 않습니다.\npnpm dlx @01.works/design-system@0.5.0 adopt --dry-run\n\n# components.json이 이미 있는 shadcn 앱: UI 자산을 바꾸지 않고 등록\npnpm dlx @01.works/design-system@0.5.0 adopt --register --dry-run\npnpm dlx @01.works/design-system@0.5.0 adopt --register --yes\n\n# components.json이 없는 앱: 보존형 coexist 제어면 등록\npnpm dlx @01.works/design-system@0.5.0 adopt --bootstrap --dry-run\npnpm dlx @01.works/design-system@0.5.0 adopt --bootstrap --yes\n\n# 선택 자산까지 격리된 계층에 추가\npnpm dlx @01.works/design-system@0.5.0 adopt --bootstrap --tokens --icons tabler --components button --yes\n```\n\n`--register`는 기존 shadcn 앱 전용이며 토큰·아이콘·컴포넌트 옵션과 함께 사용할 수 없습니다.\n`--bootstrap`은 비-shadcn 앱 전용입니다. 두 경로 모두 실제 적용 전 `--dry-run` 결과를 검토합니다.\n\n프로젝트 수준에는 `integration.kind = generated | coexist | enrolled`, 파일 수준에는 `origin = generated | coexist | enrolled | tool`을 기록한다. 기존 파일을 나중에 Design Context 계약에 등록하는 `enroll`은 별도 검증 명령으로 설계되어 있으며 이번 버전에는 아직 공개하지 않는다. `coexist`/`enrolled` 기존 파일은 `generatedDigest: null`이고 자동 upgrade 대상이 아니다.\n\n## 설정과 provenance\n\n- `design-system.json`: schema v2, immutable Design Context reference/digest, integration, 실제 component 목록과 경로 정책\n- `.design-system/manifest.json`: foundation·registry·파일 digest, origin, migration과 검증 결과\n- `.design-system/backups/`: `adopt`가 수정하는 기존 설정 백업\n\n`design-system.json`, `.design-system/manifest.json`, 설치된 `.agents/skills/`, 생성·수정된\nfoundation 파일, `package.json`과 lockfile은 함께 commit해야 다른 작업자와 CI가 동일한 상태를\n복원할 수 있습니다. `.design-system/transaction.lock`은 실행 중에만 사용하는 로컬 파일이며\ncommit하지 않습니다. 프로젝트 정책상 backup을 제외하려면 `.design-system/backups/`만\n선택적으로 ignore합니다.\n\n파일 transaction은 관리 파일과 명시된 lockfile을 rollback합니다. 설치·검증 명령이 만든\n`node_modules`, package-manager cache, Storybook·build 산출물은 rollback 범위가 아니므로\n명령 실패 후 필요하면 해당 로컬 산출물을 정리하고 다시 실행합니다.\n\n화면 composition 작업을 시작하면 설치된 skill의 `references/handoff-template.md`를 바탕으로\n프로젝트 소유 `docs/design-context-handoff.md`를 만듭니다. 이 문서는 사용한 reference\nrevision과 digest, route별 진행 상태, guide-to-CSS mapping, 검증 결과와 다음 작업을 기록합니다.\nfoundation provenance와 화면 구현 이력을 섞지 않기 위해 handoff 문서는 manifest에 포함하지\n않습니다.\n\nmanifest가 없으면 `doctor`, `add`, `baseline`, `catalog`, `upgrade`의 안전한 digest 판단을\n복원할 수 없습니다. `design-system.json`만 남은 상태를 새 foundation으로 간주해 자동\n재생성하지 말고, 원래 manifest를 버전 관리나 artifact에서 복구해야 합니다.\n\n## Source of truth\n\n`registry/foundation/design-context/<version>`의 immutable snapshot이 Design Context foundation의 정본이다.\n`apps/web`는 이 정본을 사용하는 제품 dogfood consumer이며 package source가 아니다.\n\n```text\nimmutable package snapshot --> generated project\n                           └-> apps/web dogfood surface\n```\n\npackage build, test와 release는 Catalogue를 읽지 않는다. 저장소 루트의\n`scripts/sync-design-context-dogfood.mjs --check`가 package-owned token/component와 Catalogue의\nportable surface가 같은지 별도로 검증합니다. 의도적인 foundation 변경은 새 version으로\npromotion한 뒤 `pnpm design-system:sync-web`으로 앱에 단방향 적용합니다.\n\n- `registry/foundation/design-context/1.2.0`: 현재 Design Context contract, tokens, states, component snapshots와 provenance\n- `registry/foundation/design-context/1.1.0`: 기존 프로젝트 upgrade를 위한 immutable 이전 snapshot\n- `registry/vendor/shadcn-4.18.0/base-mira`: 변환하지 않은 공식 shadcn 기준 snapshot\n- `registry/fragments/design-context-foundation/1.json`: 브라우저 안전한 Design Context prompt fragment data\n\nDesign Context fragment는 이 패키지가 소유합니다. Reference/security/tooling prompt compiler는\n현재 유일한 consumer인 Catalogue가 소유하고 제품 context를 orchestration합니다. 브라우저\n번들에서 design-system의 Node CLI export를 import하지 않습니다.\n\n## 개발 및 검증\n\n```bash\npnpm --filter @01.works/design-system validate:registry\npnpm --filter @01.works/design-system check\npnpm --filter @01.works/design-system lint:package\npnpm --filter @01.works/design-system test:package\npnpm --filter @01.works/design-system verify:release\n```\n\n공식 shadcn 기준점을 바꿀 때만 `vendor:upstream`을 실행합니다. 이 명령은 upstream을 변환하지 않습니다.\n","readmeFilename":"README.md"}