@design-ai/cli 4.55.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (529) hide show
  1. package/.claude-plugin/plugin.json +164 -0
  2. package/AGENTS.ko.md +126 -0
  3. package/AGENTS.md +182 -0
  4. package/CHANGELOG.md +6883 -0
  5. package/CLAUDE.md +39 -0
  6. package/LICENSE +21 -0
  7. package/README.ko.md +245 -0
  8. package/README.md +277 -0
  9. package/agents/README.md +14 -0
  10. package/agents/a11y-reviewer.md +121 -0
  11. package/agents/component-architect.md +57 -0
  12. package/agents/design-critic.md +46 -0
  13. package/agents/token-extractor.md +63 -0
  14. package/cli/bin/design-ai-mcp.mjs +6 -0
  15. package/cli/bin/design-ai.mjs +40 -0
  16. package/cli/commands/audit.mjs +111 -0
  17. package/cli/commands/check.mjs +226 -0
  18. package/cli/commands/doctor.mjs +141 -0
  19. package/cli/commands/examples.mjs +58 -0
  20. package/cli/commands/help.mjs +271 -0
  21. package/cli/commands/install.mjs +161 -0
  22. package/cli/commands/learn.mjs +1871 -0
  23. package/cli/commands/list.mjs +143 -0
  24. package/cli/commands/mcp.mjs +27 -0
  25. package/cli/commands/pack.mjs +211 -0
  26. package/cli/commands/prompt.mjs +199 -0
  27. package/cli/commands/route.mjs +247 -0
  28. package/cli/commands/search.mjs +60 -0
  29. package/cli/commands/show.mjs +52 -0
  30. package/cli/commands/site.mjs +558 -0
  31. package/cli/commands/status.mjs +161 -0
  32. package/cli/commands/uninstall.mjs +119 -0
  33. package/cli/commands/update.mjs +184 -0
  34. package/cli/commands/version.mjs +94 -0
  35. package/cli/commands/workspace.mjs +176 -0
  36. package/cli/lib/brief.mjs +52 -0
  37. package/cli/lib/check.mjs +642 -0
  38. package/cli/lib/dispatch.mjs +109 -0
  39. package/cli/lib/doctor.mjs +505 -0
  40. package/cli/lib/examples.mjs +258 -0
  41. package/cli/lib/exec.mjs +63 -0
  42. package/cli/lib/help-flags.mjs +5 -0
  43. package/cli/lib/learn.mjs +3694 -0
  44. package/cli/lib/log.mjs +47 -0
  45. package/cli/lib/mcp-server.mjs +426 -0
  46. package/cli/lib/output.mjs +101 -0
  47. package/cli/lib/pack.mjs +599 -0
  48. package/cli/lib/paths.mjs +63 -0
  49. package/cli/lib/prompt.mjs +603 -0
  50. package/cli/lib/route.mjs +740 -0
  51. package/cli/lib/search.mjs +158 -0
  52. package/cli/lib/show.mjs +161 -0
  53. package/cli/lib/signals.mjs +2337 -0
  54. package/cli/lib/site.mjs +6617 -0
  55. package/cli/lib/skill-proposals.mjs +2046 -0
  56. package/cli/lib/suggest.mjs +66 -0
  57. package/cli/lib/workspace.mjs +1056 -0
  58. package/commands/README.md +25 -0
  59. package/commands/component-spec.md +34 -0
  60. package/commands/conversational.md +44 -0
  61. package/commands/design-from-brief.md +141 -0
  62. package/commands/design-review.md +62 -0
  63. package/commands/document-from-brief.md +47 -0
  64. package/commands/extract-tokens.md +38 -0
  65. package/commands/game-ui.md +40 -0
  66. package/commands/illustration.md +37 -0
  67. package/commands/iterate.md +167 -0
  68. package/commands/motion-design.md +54 -0
  69. package/commands/palette-from-brand.md +50 -0
  70. package/commands/print.md +49 -0
  71. package/commands/slide-deck.md +46 -0
  72. package/commands/spatial.md +47 -0
  73. package/commands/stability-review.md +74 -0
  74. package/commands/video.md +42 -0
  75. package/commands/website-improvement.md +77 -0
  76. package/docs/AGENT-DEVELOPMENT.md +658 -0
  77. package/docs/AI-LEARNING.md +429 -0
  78. package/docs/AIDER-INTEGRATION.md +224 -0
  79. package/docs/ARCHITECTURE.ko.md +183 -0
  80. package/docs/ARCHITECTURE.md +105 -0
  81. package/docs/CODEX-INTEGRATION.md +311 -0
  82. package/docs/COMPANY-WEBSITE-DOGFOOD.ko.md +144 -0
  83. package/docs/COMPANY-WEBSITE-DOGFOOD.md +150 -0
  84. package/docs/COMPANY-WEBSITE-INTAKE-TEMPLATE.ko.md +153 -0
  85. package/docs/COMPANY-WEBSITE-INTAKE-TEMPLATE.md +154 -0
  86. package/docs/CONTRIBUTING.ko.md +203 -0
  87. package/docs/CONTRIBUTING.md +242 -0
  88. package/docs/CURSOR-INTEGRATION.md +220 -0
  89. package/docs/DISTRIBUTION.ko.md +248 -0
  90. package/docs/DISTRIBUTION.md +253 -0
  91. package/docs/DOGFOOD-FINDINGS.md +180 -0
  92. package/docs/DOGFOOD-V4-FINDINGS.md +139 -0
  93. package/docs/DOGFOOD-V4-MKDOCS-FINDINGS.md +233 -0
  94. package/docs/DOGFOOD-V4-NPM-FINDINGS.md +157 -0
  95. package/docs/DOGFOOD-V4-VSCODE-FINDINGS.md +135 -0
  96. package/docs/FIGMA-INTEGRATION.md +222 -0
  97. package/docs/MCP-INTEGRATION.md +243 -0
  98. package/docs/MIGRATION-v4.md +121 -0
  99. package/docs/PLUGIN-PACKAGING.md +240 -0
  100. package/docs/PRODUCT-READINESS.md +66 -0
  101. package/docs/QUICKSTART.ko.md +178 -0
  102. package/docs/QUICKSTART.md +179 -0
  103. package/docs/RELEASE-CHECKLIST.md +292 -0
  104. package/docs/ROADMAP.md +19495 -0
  105. package/docs/SESSION-LOG.md +940 -0
  106. package/docs/TOKEN-SYNC.md +237 -0
  107. package/docs/USING.ko.md +206 -0
  108. package/docs/USING.md +218 -0
  109. package/docs/WEBSITE-IMPROVEMENT.ko.md +75 -0
  110. package/docs/WEBSITE-IMPROVEMENT.md +89 -0
  111. package/docs/announcements/README.md +56 -0
  112. package/docs/announcements/dev-to-korea.md +206 -0
  113. package/docs/announcements/hashnode-post.ko.md +232 -0
  114. package/docs/announcements/okky-post.ko.md +158 -0
  115. package/docs/announcements/press-kit.md +101 -0
  116. package/docs/announcements/reddit-r-korea.md +196 -0
  117. package/docs/announcements/show-hn.md +114 -0
  118. package/docs/announcements/twitter-thread.md +255 -0
  119. package/docs/external-status.md +34 -0
  120. package/docs/integrations/aider-walkthrough.ko.md +275 -0
  121. package/docs/integrations/aider-walkthrough.md +274 -0
  122. package/docs/integrations/codex-walkthrough.ko.md +297 -0
  123. package/docs/integrations/codex-walkthrough.md +297 -0
  124. package/docs/integrations/cursor-walkthrough.ko.md +281 -0
  125. package/docs/integrations/cursor-walkthrough.md +284 -0
  126. package/docs/integrations/design-ai-mcp-server.md +169 -0
  127. package/docs/integrations/figma-mcp.md +149 -0
  128. package/docs/integrations/github-mcp.md +178 -0
  129. package/docs/integrations/linear-mcp.md +215 -0
  130. package/docs/integrations/notion-mcp.md +174 -0
  131. package/docs/integrations/sdk-walkthrough.ko.md +375 -0
  132. package/docs/integrations/sdk-walkthrough.md +375 -0
  133. package/docs/integrations/slack-mcp.md +208 -0
  134. package/docs/integrations/vscode-walkthrough.ko.md +202 -0
  135. package/docs/integrations/vscode-walkthrough.md +205 -0
  136. package/docs/requirements.txt +16 -0
  137. package/docs/site-overrides/extra.css +83 -0
  138. package/docs/site-overrides/favicon.svg +4 -0
  139. package/docs/site-overrides/logo.svg +10 -0
  140. package/docs/site-overrides/main.html +18 -0
  141. package/docs/website-console/app.js +2540 -0
  142. package/docs/website-console/index.html +24 -0
  143. package/docs/website-console/styles.css +975 -0
  144. package/examples/README.md +252 -0
  145. package/examples/cases/dogfood-v4-korean-hr-onboarding.md +356 -0
  146. package/examples/component-accordion-actions.md +153 -0
  147. package/examples/component-accordion-details.md +147 -0
  148. package/examples/component-accordion-summary.md +180 -0
  149. package/examples/component-accordion.md +229 -0
  150. package/examples/component-account-card.md +284 -0
  151. package/examples/component-address-input.md +260 -0
  152. package/examples/component-affix.md +190 -0
  153. package/examples/component-alert-dialog.md +210 -0
  154. package/examples/component-alert-title.md +77 -0
  155. package/examples/component-alert.md +192 -0
  156. package/examples/component-amount-input.md +278 -0
  157. package/examples/component-anchor.md +198 -0
  158. package/examples/component-app-bar.md +249 -0
  159. package/examples/component-aspect-ratio.md +156 -0
  160. package/examples/component-auto-complete.md +199 -0
  161. package/examples/component-avatar-group.md +170 -0
  162. package/examples/component-avatar.md +191 -0
  163. package/examples/component-back-top.md +123 -0
  164. package/examples/component-backdrop.md +148 -0
  165. package/examples/component-badge.md +181 -0
  166. package/examples/component-banner.md +237 -0
  167. package/examples/component-biometric-gate.md +281 -0
  168. package/examples/component-blockquote.md +153 -0
  169. package/examples/component-border-beam.md +207 -0
  170. package/examples/component-bottom-navigation.md +226 -0
  171. package/examples/component-box.md +112 -0
  172. package/examples/component-breadcrumb.md +222 -0
  173. package/examples/component-button-base.md +190 -0
  174. package/examples/component-button-group.md +117 -0
  175. package/examples/component-button.md +213 -0
  176. package/examples/component-calendar.md +280 -0
  177. package/examples/component-callout.md +131 -0
  178. package/examples/component-card-actions.md +101 -0
  179. package/examples/component-card-content.md +90 -0
  180. package/examples/component-card-header.md +122 -0
  181. package/examples/component-card-media.md +79 -0
  182. package/examples/component-card.md +233 -0
  183. package/examples/component-carousel.md +266 -0
  184. package/examples/component-cascader.md +135 -0
  185. package/examples/component-category-picker.md +271 -0
  186. package/examples/component-chart.md +237 -0
  187. package/examples/component-chat-interface.md +399 -0
  188. package/examples/component-checkbox.md +149 -0
  189. package/examples/component-click-away-listener.md +87 -0
  190. package/examples/component-code.md +213 -0
  191. package/examples/component-collapsible.md +219 -0
  192. package/examples/component-color-picker.md +110 -0
  193. package/examples/component-combobox.md +267 -0
  194. package/examples/component-command.md +299 -0
  195. package/examples/component-config-provider.md +190 -0
  196. package/examples/component-context-menu.md +179 -0
  197. package/examples/component-css-baseline.md +148 -0
  198. package/examples/component-date-picker.md +249 -0
  199. package/examples/component-descriptions.md +242 -0
  200. package/examples/component-dialog-actions.md +111 -0
  201. package/examples/component-dialog-content-text.md +76 -0
  202. package/examples/component-dialog-content.md +105 -0
  203. package/examples/component-dialog-title.md +104 -0
  204. package/examples/component-dialog.md +176 -0
  205. package/examples/component-divider.md +182 -0
  206. package/examples/component-doc-page.md +217 -0
  207. package/examples/component-drawer.md +257 -0
  208. package/examples/component-dropdown.md +220 -0
  209. package/examples/component-email-layout.md +253 -0
  210. package/examples/component-empty-state.md +269 -0
  211. package/examples/component-empty.md +172 -0
  212. package/examples/component-fade.md +87 -0
  213. package/examples/component-feature-grid.md +201 -0
  214. package/examples/component-field.md +266 -0
  215. package/examples/component-filled-input.md +114 -0
  216. package/examples/component-flex.md +117 -0
  217. package/examples/component-float-button.md +214 -0
  218. package/examples/component-form-control-label.md +134 -0
  219. package/examples/component-form-control.md +113 -0
  220. package/examples/component-form-controls.md +251 -0
  221. package/examples/component-form-group.md +86 -0
  222. package/examples/component-form-helper-text.md +95 -0
  223. package/examples/component-form-label.md +98 -0
  224. package/examples/component-form.md +291 -0
  225. package/examples/component-game-hud.md +362 -0
  226. package/examples/component-game-menu.md +327 -0
  227. package/examples/component-grid.md +140 -0
  228. package/examples/component-grow.md +79 -0
  229. package/examples/component-hero-block.md +252 -0
  230. package/examples/component-hover-card.md +211 -0
  231. package/examples/component-icon-button.md +142 -0
  232. package/examples/component-icon.md +102 -0
  233. package/examples/component-illustration.md +280 -0
  234. package/examples/component-image-list.md +107 -0
  235. package/examples/component-image.md +282 -0
  236. package/examples/component-input-adornment.md +101 -0
  237. package/examples/component-input-base.md +134 -0
  238. package/examples/component-input-number.md +141 -0
  239. package/examples/component-input-otp.md +271 -0
  240. package/examples/component-input.md +213 -0
  241. package/examples/component-item.md +243 -0
  242. package/examples/component-kbd.md +197 -0
  243. package/examples/component-krw-amount.md +219 -0
  244. package/examples/component-label.md +118 -0
  245. package/examples/component-layout.md +217 -0
  246. package/examples/component-link.md +223 -0
  247. package/examples/component-list-item-avatar.md +72 -0
  248. package/examples/component-list-item-button.md +139 -0
  249. package/examples/component-list-item-icon.md +82 -0
  250. package/examples/component-list-item-text.md +98 -0
  251. package/examples/component-list-item.md +116 -0
  252. package/examples/component-list-subheader.md +70 -0
  253. package/examples/component-list.md +198 -0
  254. package/examples/component-loading-button.md +125 -0
  255. package/examples/component-loading-sequence.md +254 -0
  256. package/examples/component-lottie-player.md +279 -0
  257. package/examples/component-masonry.md +191 -0
  258. package/examples/component-mentions.md +189 -0
  259. package/examples/component-menu-item.md +102 -0
  260. package/examples/component-menu-list.md +98 -0
  261. package/examples/component-menu.md +139 -0
  262. package/examples/component-menubar.md +259 -0
  263. package/examples/component-message.md +162 -0
  264. package/examples/component-mobile-stepper.md +155 -0
  265. package/examples/component-modal.md +220 -0
  266. package/examples/component-navigation-menu.md +295 -0
  267. package/examples/component-notification.md +166 -0
  268. package/examples/component-otp-countdown.md +245 -0
  269. package/examples/component-outlined-input.md +145 -0
  270. package/examples/component-page-transition.md +281 -0
  271. package/examples/component-pagination.md +226 -0
  272. package/examples/component-paper.md +199 -0
  273. package/examples/component-pass-auth.md +265 -0
  274. package/examples/component-payment-brand-button.md +253 -0
  275. package/examples/component-payment-method-selector.md +272 -0
  276. package/examples/component-payment-receipt.md +277 -0
  277. package/examples/component-popconfirm.md +144 -0
  278. package/examples/component-popover.md +239 -0
  279. package/examples/component-popper.md +129 -0
  280. package/examples/component-pricing-cards.md +247 -0
  281. package/examples/component-progress.md +195 -0
  282. package/examples/component-qr-code.md +201 -0
  283. package/examples/component-radio.md +167 -0
  284. package/examples/component-rate.md +202 -0
  285. package/examples/component-resizable.md +163 -0
  286. package/examples/component-result.md +270 -0
  287. package/examples/component-scroll-area.md +199 -0
  288. package/examples/component-scroll-reveal.md +320 -0
  289. package/examples/component-segmented.md +178 -0
  290. package/examples/component-select.md +258 -0
  291. package/examples/component-separator.md +177 -0
  292. package/examples/component-sheet.md +277 -0
  293. package/examples/component-sidebar.md +257 -0
  294. package/examples/component-skeleton.md +178 -0
  295. package/examples/component-slide.md +89 -0
  296. package/examples/component-slider.md +208 -0
  297. package/examples/component-snackbar-content.md +92 -0
  298. package/examples/component-snackbar.md +121 -0
  299. package/examples/component-sonner.md +165 -0
  300. package/examples/component-space.md +125 -0
  301. package/examples/component-spatial-locomotion.md +373 -0
  302. package/examples/component-spatial-panel.md +330 -0
  303. package/examples/component-speed-dial-action.md +78 -0
  304. package/examples/component-speed-dial.md +177 -0
  305. package/examples/component-spin.md +173 -0
  306. package/examples/component-spinner.md +204 -0
  307. package/examples/component-splitter.md +210 -0
  308. package/examples/component-stack.md +130 -0
  309. package/examples/component-statistic.md +282 -0
  310. package/examples/component-step-button.md +157 -0
  311. package/examples/component-step-connector.md +157 -0
  312. package/examples/component-step-content.md +121 -0
  313. package/examples/component-step-icon.md +115 -0
  314. package/examples/component-step-label.md +101 -0
  315. package/examples/component-step.md +84 -0
  316. package/examples/component-steps.md +264 -0
  317. package/examples/component-stock-chart.md +251 -0
  318. package/examples/component-swipeable-drawer.md +149 -0
  319. package/examples/component-switch.md +99 -0
  320. package/examples/component-tab-scroll-button.md +180 -0
  321. package/examples/component-tab.md +120 -0
  322. package/examples/component-table-body.md +82 -0
  323. package/examples/component-table-cell.md +118 -0
  324. package/examples/component-table-container.md +75 -0
  325. package/examples/component-table-footer.md +72 -0
  326. package/examples/component-table-head.md +78 -0
  327. package/examples/component-table-pagination.md +137 -0
  328. package/examples/component-table-row.md +113 -0
  329. package/examples/component-table-sort-label.md +109 -0
  330. package/examples/component-table.md +202 -0
  331. package/examples/component-tabs.md +184 -0
  332. package/examples/component-tag-badge.md +309 -0
  333. package/examples/component-tag.md +102 -0
  334. package/examples/component-testimonial-carousel.md +218 -0
  335. package/examples/component-textarea-autosize.md +114 -0
  336. package/examples/component-textarea.md +173 -0
  337. package/examples/component-time-picker.md +205 -0
  338. package/examples/component-timeline.md +170 -0
  339. package/examples/component-toast.md +224 -0
  340. package/examples/component-toggle-button.md +129 -0
  341. package/examples/component-toggle.md +220 -0
  342. package/examples/component-toolbar.md +104 -0
  343. package/examples/component-tooltip.md +178 -0
  344. package/examples/component-tour.md +176 -0
  345. package/examples/component-transaction-list-item.md +243 -0
  346. package/examples/component-transfer.md +156 -0
  347. package/examples/component-tree-select.md +202 -0
  348. package/examples/component-tree.md +297 -0
  349. package/examples/component-typography.md +215 -0
  350. package/examples/component-upload.md +295 -0
  351. package/examples/component-video-hero.md +409 -0
  352. package/examples/component-video-player.md +340 -0
  353. package/examples/component-voice-input.md +408 -0
  354. package/examples/component-watermark.md +217 -0
  355. package/examples/component-zoom.md +92 -0
  356. package/examples/doc-explanation-example.md +196 -0
  357. package/examples/doc-how-to-example.md +205 -0
  358. package/examples/doc-tutorial-example.md +162 -0
  359. package/examples/dogfood-korean-fintech-system.md +433 -0
  360. package/examples/email-transactional-example.md +259 -0
  361. package/examples/palette-saas-violet.md +235 -0
  362. package/examples/print-business-card-spec.md +205 -0
  363. package/examples/print-packaging-spec.md +285 -0
  364. package/examples/report-example.md +228 -0
  365. package/examples/slide-deck-example.md +237 -0
  366. package/examples/website-improvement-report.md +128 -0
  367. package/examples/website-improvement-workspace.json +126 -0
  368. package/install.sh +189 -0
  369. package/knowledge/COVERAGE.md +740 -0
  370. package/knowledge/PRINCIPLES.md +108 -0
  371. package/knowledge/a11y/contrast.md +70 -0
  372. package/knowledge/a11y/keyboard-and-focus.md +108 -0
  373. package/knowledge/colors/color-theory.md +90 -0
  374. package/knowledge/colors/mui-palette-structure.md +105 -0
  375. package/knowledge/colors/palettes-by-product-type.md +876 -0
  376. package/knowledge/components/INDEX.md +231 -0
  377. package/knowledge/components/index.json +1470 -0
  378. package/knowledge/components/shadcn-registry.md +159 -0
  379. package/knowledge/conversational/ai-chat-interfaces.md +323 -0
  380. package/knowledge/conversational/chatbot-design.md +312 -0
  381. package/knowledge/conversational/conversational-ui-fundamentals.md +299 -0
  382. package/knowledge/conversational/korean-voice-conventions.md +281 -0
  383. package/knowledge/conversational/voice-ui-patterns.md +297 -0
  384. package/knowledge/design-tokens/ant-design.md +124 -0
  385. package/knowledge/design-tokens/material-3.md +235 -0
  386. package/knowledge/design-tokens/polaris-and-carbon.md +231 -0
  387. package/knowledge/design-tokens/tailwind-v4.md +284 -0
  388. package/knowledge/game-ui/game-accessibility.md +317 -0
  389. package/knowledge/game-ui/game-ui-fundamentals.md +281 -0
  390. package/knowledge/game-ui/hud-design.md +324 -0
  391. package/knowledge/game-ui/korean-gaming-conventions.md +312 -0
  392. package/knowledge/game-ui/menu-systems.md +388 -0
  393. package/knowledge/i18n/korean-app-store-visual.md +223 -0
  394. package/knowledge/i18n/korean-document-style.md +301 -0
  395. package/knowledge/i18n/korean-payments.md +211 -0
  396. package/knowledge/i18n/korean-product-conventions.md +96 -0
  397. package/knowledge/i18n/korean-publishing.md +139 -0
  398. package/knowledge/i18n/korean-typography.md +123 -0
  399. package/knowledge/icons/curated-sets.md +225 -0
  400. package/knowledge/illustration/hero-illustrations.md +234 -0
  401. package/knowledge/illustration/illustration-systems.md +221 -0
  402. package/knowledge/illustration/mascot-design.md +208 -0
  403. package/knowledge/illustration/spot-illustrations.md +246 -0
  404. package/knowledge/illustration/svg-optimization.md +308 -0
  405. package/knowledge/layout/spacing-and-grid.md +119 -0
  406. package/knowledge/motion/app-loading-sequences.md +277 -0
  407. package/knowledge/motion/choreography-depth.md +297 -0
  408. package/knowledge/motion/marketing-motion.md +223 -0
  409. package/knowledge/motion/micro-interactions.md +266 -0
  410. package/knowledge/motion/motion-tools.md +281 -0
  411. package/knowledge/motion/principles.md +126 -0
  412. package/knowledge/patterns/auth-flow-design.md +316 -0
  413. package/knowledge/patterns/b2b-onboarding-flows.md +182 -0
  414. package/knowledge/patterns/brand-identity.md +238 -0
  415. package/knowledge/patterns/brand-references.md +97 -0
  416. package/knowledge/patterns/chart-color-encoding.md +269 -0
  417. package/knowledge/patterns/chart-types.md +344 -0
  418. package/knowledge/patterns/dashboard-composition.md +299 -0
  419. package/knowledge/patterns/design-system-qa.md +356 -0
  420. package/knowledge/patterns/document-typography.md +248 -0
  421. package/knowledge/patterns/email-design.md +338 -0
  422. package/knowledge/patterns/empty-states.md +263 -0
  423. package/knowledge/patterns/error-states.md +318 -0
  424. package/knowledge/patterns/form-design.md +237 -0
  425. package/knowledge/patterns/information-architecture.md +341 -0
  426. package/knowledge/patterns/landing-hero-design.md +283 -0
  427. package/knowledge/patterns/landing-page-patterns.md +681 -0
  428. package/knowledge/patterns/list-and-feed.md +371 -0
  429. package/knowledge/patterns/mobile-navigation.md +278 -0
  430. package/knowledge/patterns/money-and-amount.md +301 -0
  431. package/knowledge/patterns/onboarding.md +300 -0
  432. package/knowledge/patterns/pricing-page-design.md +261 -0
  433. package/knowledge/patterns/realtime-data.md +280 -0
  434. package/knowledge/patterns/report-design.md +330 -0
  435. package/knowledge/patterns/search-ux.md +373 -0
  436. package/knowledge/patterns/settings-page.md +325 -0
  437. package/knowledge/patterns/slide-deck-design.md +316 -0
  438. package/knowledge/patterns/styles-catalog.md +2599 -0
  439. package/knowledge/patterns/technical-writing.md +306 -0
  440. package/knowledge/patterns/ui-reasoning.md +1853 -0
  441. package/knowledge/patterns/ux-guidelines.md +1454 -0
  442. package/knowledge/platforms/react-native.md +395 -0
  443. package/knowledge/print/brochures-and-flyers.md +276 -0
  444. package/knowledge/print/korean-print-conventions.md +284 -0
  445. package/knowledge/print/packaging.md +321 -0
  446. package/knowledge/print/print-fundamentals.md +238 -0
  447. package/knowledge/print/signage-and-posters.md +235 -0
  448. package/knowledge/print/stationery.md +262 -0
  449. package/knowledge/spatial/ar-patterns.md +253 -0
  450. package/knowledge/spatial/comfort-and-accessibility.md +245 -0
  451. package/knowledge/spatial/spatial-design-fundamentals.md +346 -0
  452. package/knowledge/spatial/spatial-ui-elements.md +343 -0
  453. package/knowledge/spatial/vr-patterns.md +302 -0
  454. package/knowledge/typography/font-pairings.md +332 -0
  455. package/knowledge/typography/mui-type-scale.md +57 -0
  456. package/knowledge/typography/type-scale-fundamentals.md +105 -0
  457. package/knowledge/video/in-product-video.md +277 -0
  458. package/knowledge/video/korean-video-conventions.md +247 -0
  459. package/knowledge/video/marketing-video.md +258 -0
  460. package/knowledge/video/social-and-short-form.md +257 -0
  461. package/knowledge/video/video-fundamentals.md +296 -0
  462. package/package.json +106 -0
  463. package/skills/README.md +39 -0
  464. package/skills/color-palette/PLAYBOOK.md +175 -0
  465. package/skills/color-palette/SKILL.md +6 -0
  466. package/skills/color-palette/TEMPLATE.md +103 -0
  467. package/skills/component-spec-writer/PLAYBOOK.md +169 -0
  468. package/skills/component-spec-writer/SKILL.md +6 -0
  469. package/skills/component-spec-writer/TEMPLATE.md +115 -0
  470. package/skills/conversational-ui-designer/PLAYBOOK.md +231 -0
  471. package/skills/conversational-ui-designer/SKILL.md +6 -0
  472. package/skills/design-broadcast/PLAYBOOK.md +146 -0
  473. package/skills/design-broadcast/SKILL.md +6 -0
  474. package/skills/design-critique/PLAYBOOK.md +137 -0
  475. package/skills/design-critique/SKILL.md +6 -0
  476. package/skills/design-pr-review/PLAYBOOK.md +171 -0
  477. package/skills/design-pr-review/SKILL.md +6 -0
  478. package/skills/design-system-builder/PLAYBOOK.md +218 -0
  479. package/skills/design-system-builder/SKILL.md +6 -0
  480. package/skills/design-system-qa/PLAYBOOK.md +163 -0
  481. package/skills/design-system-qa/SKILL.md +6 -0
  482. package/skills/document-author/PLAYBOOK.md +167 -0
  483. package/skills/document-author/SKILL.md +6 -0
  484. package/skills/figma-token-sync/PLAYBOOK.md +149 -0
  485. package/skills/figma-token-sync/SKILL.md +6 -0
  486. package/skills/game-ui-designer/PLAYBOOK.md +209 -0
  487. package/skills/game-ui-designer/SKILL.md +6 -0
  488. package/skills/handoff-spec/PLAYBOOK.md +170 -0
  489. package/skills/handoff-spec/SKILL.md +6 -0
  490. package/skills/illustration-designer/PLAYBOOK.md +166 -0
  491. package/skills/illustration-designer/SKILL.md +6 -0
  492. package/skills/motion-designer/PLAYBOOK.md +223 -0
  493. package/skills/motion-designer/SKILL.md +6 -0
  494. package/skills/print-designer/PLAYBOOK.md +209 -0
  495. package/skills/print-designer/SKILL.md +6 -0
  496. package/skills/slide-deck-author/PLAYBOOK.md +198 -0
  497. package/skills/slide-deck-author/SKILL.md +6 -0
  498. package/skills/spatial-designer/PLAYBOOK.md +238 -0
  499. package/skills/spatial-designer/SKILL.md +6 -0
  500. package/skills/ux-audit/PLAYBOOK.md +142 -0
  501. package/skills/ux-audit/SKILL.md +6 -0
  502. package/skills/video-designer/PLAYBOOK.md +240 -0
  503. package/skills/video-designer/SKILL.md +6 -0
  504. package/skills/website-improvement/PLAYBOOK.md +118 -0
  505. package/skills/website-improvement/SKILL.md +6 -0
  506. package/skills/website-improvement/TEMPLATE.md +103 -0
  507. package/tools/audit/changelog-generate.py +176 -0
  508. package/tools/audit/check-coverage.py +483 -0
  509. package/tools/audit/doctor_assertions.py +256 -0
  510. package/tools/audit/example-qa.py +108 -0
  511. package/tools/audit/frontmatter-check.py +199 -0
  512. package/tools/audit/integration-check.py +95 -0
  513. package/tools/audit/korean-copy-check.py +161 -0
  514. package/tools/audit/link-check.py +146 -0
  515. package/tools/audit/local-ci.py +558 -0
  516. package/tools/audit/package-contents.py +723 -0
  517. package/tools/audit/package-smoke.py +22443 -0
  518. package/tools/audit/raw-hex-check.py +252 -0
  519. package/tools/audit/registry-smoke.py +8188 -0
  520. package/tools/audit/release-metadata.py +9832 -0
  521. package/tools/audit/run-all.py +351 -0
  522. package/tools/audit/smoke_assertions.py +12742 -0
  523. package/tools/audit/stability-review.py +332 -0
  524. package/tools/audit/stale-check.py +156 -0
  525. package/tools/migrations/add-version-frontmatter.py +132 -0
  526. package/tools/migrations/bump-last-updated.py +131 -0
  527. package/tools/migrations/promote-stability.py +172 -0
  528. package/tools/preview/README.md +58 -0
  529. package/tools/preview/render-tokens.py +454 -0
@@ -0,0 +1,237 @@
1
+ # Token sync workflow
2
+
3
+ How design tokens move between three places:
4
+
5
+ 1. **design-ai** — authoritative source (Markdown specs + Style Dictionary JSON)
6
+ 2. **Codebase** — consuming product (CSS variables, Tailwind config, JS theme)
7
+ 3. **Figma** — design surface (Variables, Styles)
8
+
9
+ The goal is **one source of truth** with deterministic mirrors. Pick the source; treat the mirrors as derived.
10
+
11
+ ## The recommended source of truth
12
+
13
+ For most teams: **design-ai's `knowledge/design-tokens/` + Style Dictionary JSON in `examples/` or a dedicated `tokens/` directory** is the source of truth. Figma and the codebase are mirrors.
14
+
15
+ Why code-as-source over Figma-as-source:
16
+
17
+ | Property | Code (authoritative) | Figma (authoritative) |
18
+ | --- | --- | --- |
19
+ | Diffable | yes (git) | no (visual diff only) |
20
+ | PR review | natural | requires plugin |
21
+ | CI integration | trivial | requires Figma API |
22
+ | Multi-platform output | yes (Style Dictionary) | partial |
23
+ | Programmatic generation (skills, palette tools) | yes | hard |
24
+
25
+ The exception: an established design team with a strong Figma library that pre-dates code tokens. Then Figma is canonical and code is generated from Figma export. We document both directions below.
26
+
27
+ ## Token format — the canonical shape
28
+
29
+ Use **W3C Design Tokens Community Group format** (DTCG) — emerging standard, supported by Style Dictionary 4+, Tokens Studio, and most modern tooling.
30
+
31
+ ```json
32
+ {
33
+ "$schema": "https://design-tokens.github.io/community-group/format/",
34
+ "color": {
35
+ "brand": {
36
+ "primary": {
37
+ "50": { "$value": "#F5F3FF", "$type": "color" },
38
+ "500": { "$value": "#8B5CF6", "$type": "color" },
39
+ "600": { "$value": "#7C3AED", "$type": "color" }
40
+ }
41
+ },
42
+ "semantic": {
43
+ "primary": { "$value": "{color.brand.primary.600}", "$type": "color" },
44
+ "primary-hover": { "$value": "{color.brand.primary.700}", "$type": "color" },
45
+ "text-primary": { "$value": "#0F172A", "$type": "color" },
46
+ "bg-default": { "$value": "#FFFFFF", "$type": "color" }
47
+ }
48
+ },
49
+ "spacing": {
50
+ "xs": { "$value": "4px", "$type": "dimension" },
51
+ "sm": { "$value": "8px", "$type": "dimension" }
52
+ }
53
+ }
54
+ ```
55
+
56
+ Older Style Dictionary (`{ value, type }` without `$` prefix) is still widely used — pick one and stick to it across all tooling.
57
+
58
+ ## Architecture — three layers
59
+
60
+ ```
61
+ ┌─────────────────────────────────────────────────────────────┐
62
+ │ tier 1: primitive tokens │
63
+ │ color.brand.primary.{50..950} │
64
+ │ color.brand.neutral.{50..950} │
65
+ │ spacing.{xs,sm,md,lg,xl,2xl,3xl} │
66
+ │ ▶ Hue/value pairs. No semantics. Stable forever. │
67
+ └─────────────────────────────────────────────────────────────┘
68
+ │ referenced by
69
+
70
+ ┌─────────────────────────────────────────────────────────────┐
71
+ │ tier 2: semantic tokens │
72
+ │ color.semantic.primary → primary.600 │
73
+ │ color.semantic.bg-default → neutral.50 │
74
+ │ color.semantic.text-primary → neutral.900 │
75
+ │ spacing.gap-component-y → spacing.md │
76
+ │ ▶ Names describe purpose. Re-aliasable per theme/mode. │
77
+ └─────────────────────────────────────────────────────────────┘
78
+ │ referenced by
79
+
80
+ ┌─────────────────────────────────────────────────────────────┐
81
+ │ tier 3: component tokens │
82
+ │ button.primary.bg → semantic.primary │
83
+ │ button.primary.text → semantic.on-primary │
84
+ │ button.padding.x → spacing.gap-component-x│
85
+ │ ▶ Per-component overrides. Optional layer. │
86
+ └─────────────────────────────────────────────────────────────┘
87
+ ```
88
+
89
+ Most projects need tiers 1 + 2. Tier 3 only when components routinely need overrides outside the semantic layer.
90
+
91
+ ## Workflow A — code is source of truth
92
+
93
+ ### A1. Author tokens
94
+
95
+ Edit the canonical JSON file. For this repo, the source-of-truth file is in your consuming product (e.g., `<product-repo>/tokens/source.json`). design-ai provides:
96
+
97
+ - The reference shape (in `examples/palette-saas-violet.md`).
98
+ - Rules for naming, ramp construction, contrast validation (in `knowledge/colors/`).
99
+
100
+ ### A2. Generate platform mirrors via Style Dictionary
101
+
102
+ ```bash
103
+ npm install -D style-dictionary
104
+ ```
105
+
106
+ `style-dictionary.config.json`:
107
+
108
+ ```json
109
+ {
110
+ "source": ["tokens/source.json"],
111
+ "platforms": {
112
+ "css": {
113
+ "transformGroup": "css",
114
+ "buildPath": "src/styles/",
115
+ "files": [{ "destination": "tokens.css", "format": "css/variables" }]
116
+ },
117
+ "tailwind": {
118
+ "transformGroup": "js",
119
+ "buildPath": "src/styles/",
120
+ "files": [{ "destination": "tokens.tailwind.js", "format": "javascript/module" }]
121
+ },
122
+ "ios": {
123
+ "transformGroup": "ios-swift",
124
+ "buildPath": "ios/Tokens/",
125
+ "files": [{ "destination": "DesignTokens.swift", "format": "ios-swift/class.swift", "className": "DesignTokens" }]
126
+ }
127
+ }
128
+ }
129
+ ```
130
+
131
+ ```bash
132
+ npx style-dictionary build
133
+ ```
134
+
135
+ Outputs:
136
+ - `src/styles/tokens.css` — CSS custom properties
137
+ - `src/styles/tokens.tailwind.js` — Tailwind theme extension
138
+ - `ios/Tokens/DesignTokens.swift` — Swift constants
139
+
140
+ CI lint: ensure built files are up-to-date with source. If not, fail the PR (forces engineers to commit the regen).
141
+
142
+ ### A3. Mirror to Figma
143
+
144
+ Tokens Studio plugin → `Sync from Git` (Tokens Studio Pro) or manual `Import JSON`. The Figma file's Variables now match the source.
145
+
146
+ Maintain in CI: a nightly job exports Figma variables and diffs against `tokens/source.json`. Drift triggers a Slack alert.
147
+
148
+ ## Workflow B — Figma is source of truth
149
+
150
+ For teams where designers maintain tokens in Figma and engineers consume.
151
+
152
+ ### B1. Author in Figma
153
+
154
+ Designers create Variables in Figma (`Local variables` panel). Use Tokens Studio plugin for rich token features (themes, multi-mode, references).
155
+
156
+ ### B2. Export to JSON
157
+
158
+ - Tokens Studio plugin: `Tools → Export → Tokens Studio JSON`.
159
+ - Or Figma REST API: `GET /v1/files/<key>/variables/local`.
160
+
161
+ Land the export in `<product-repo>/tokens/source.json`.
162
+
163
+ ### B3. Generate platform mirrors
164
+
165
+ Same as workflow A2 — Style Dictionary builds CSS, Tailwind, etc.
166
+
167
+ ### B4. CI gate
168
+
169
+ A GitHub Action runs on PR open:
170
+ 1. Pulls latest Figma export.
171
+ 2. Diffs against committed `tokens/source.json`.
172
+ 3. If different, fails PR with a "Figma tokens out of sync" message.
173
+
174
+ ## Validation rules (independent of direction)
175
+
176
+ Every token PR — whether changing source.json or arriving from Figma — must pass:
177
+
178
+ 1. **Contrast check**: every `text` token has ≥ 4.5:1 against its expected `bg`. Use a CI script reading [`knowledge/a11y/contrast.md`](../knowledge/a11y/contrast.md) ratios.
179
+ 2. **Reference resolution**: no broken aliases. `color.semantic.primary → {color.brand.primary.600}` must resolve.
180
+ 3. **Type consistency**: a token referencing a `color` must be `$type: color`. No `$type: number → color` aliases.
181
+ 4. **No raw hex in semantic layer**: `color.semantic.primary` must alias a primitive, not be a hex literal. Catch via lint.
182
+ 5. **Mode parity**: every token defined in light mode must have a dark mode value. Empty dark = warn.
183
+ 6. **Naming consistency**: kebab-case file paths, dot-separated token paths. No mixed conventions.
184
+
185
+ Sample lint script structure:
186
+
187
+ ```ts
188
+ // tokens-lint.ts
189
+ import { resolve } from "style-dictionary/utils";
190
+ import contrast from "wcag-contrast";
191
+
192
+ function lint(tokens) {
193
+ const issues = [];
194
+ // 1. Reference resolution
195
+ const flat = resolve(tokens);
196
+ // 2. Contrast for text-on-bg pairs
197
+ const pairs = [["text-primary", "bg-default"], ["text-secondary", "bg-default"]];
198
+ for (const [textKey, bgKey] of pairs) {
199
+ const ratio = contrast.hex(flat[`color.semantic.${textKey}`].$value, flat[`color.semantic.${bgKey}`].$value);
200
+ if (ratio < 4.5) issues.push(`${textKey} on ${bgKey} is ${ratio.toFixed(2)}:1 (need 4.5)`);
201
+ }
202
+ // 3. Mode parity, etc.
203
+ return issues;
204
+ }
205
+ ```
206
+
207
+ ## Migration — existing project to tokens
208
+
209
+ For a project with hardcoded styles:
210
+
211
+ 1. **Inventory**: grep for hex values across the codebase. Group similar hues.
212
+ 2. **Map to a curated palette**: pick the closest match from [`knowledge/colors/palettes-by-product-type.md`](../knowledge/colors/palettes-by-product-type.md).
213
+ 3. **Build primitive ramp** for the canonical brand color (use `color-palette` skill).
214
+ 4. **Replace hardcoded values one section at a time** — start with most-frequent.
215
+ 5. **Add a CI lint** that fails PRs with new hex values in source files (allows only token references).
216
+
217
+ Budget: ~1 week for a small product (5–10 components), ~1 month for a large one.
218
+
219
+ ## Tools comparison
220
+
221
+ | Tool | Strength | Weakness |
222
+ | --- | --- | --- |
223
+ | **Style Dictionary** | Multi-platform output, maintained by Amazon, mature | Config-heavy; small DSL learning curve |
224
+ | **Tokens Studio (Figma plugin)** | Best Figma-side authoring; rich type support | Free tier limited; sync requires paid tier |
225
+ | **Theo** (Salesforce) | Older, simpler | Largely superseded by Style Dictionary |
226
+ | **Specify** | Hosted token platform with Figma + code sync | SaaS dependency, paid |
227
+ | **Knapsack** | Token + design system platform | Heavier; suits larger orgs |
228
+ | **W3C DTCG format** | Format standard, not a tool | Spec is still evolving |
229
+
230
+ For most projects: **Style Dictionary + Tokens Studio plugin (free tier) + manual import**. The Style Dictionary side is automated; the Figma sync is manual every few weeks.
231
+
232
+ ## Cross-reference
233
+
234
+ - [docs/FIGMA-INTEGRATION.md](FIGMA-INTEGRATION.md) — Figma-specific workflows
235
+ - [knowledge/colors/color-theory.md](../knowledge/colors/color-theory.md) — palette construction
236
+ - [knowledge/a11y/contrast.md](../knowledge/a11y/contrast.md) — contrast validation rules
237
+ - [examples/palette-saas-violet.md](../examples/palette-saas-violet.md) — reference token output
@@ -0,0 +1,206 @@
1
+ # AI 코딩 도구에서 design-ai 사용하기
2
+
3
+ 이 지식 베이스를 다양한 AI 코딩 도구에 연결하는 방법이에요.
4
+
5
+ ## Codex CLI
6
+
7
+ Codex는 프로젝트 루트의 `AGENTS.md`를 자동으로 읽어요.
8
+
9
+ ```bash
10
+ cd /path/to/design-ai
11
+ codex "한국 핀테크 앱을 위한 컬러 팔레트를 만들어 주세요"
12
+ ```
13
+
14
+ Codex가 `AGENTS.md`를 읽고, `knowledge/`를 탐색해서, 적절한 스킬 플레이북을 적용해요. 별도 설정 필요 없어요.
15
+
16
+ ## Route eval checkpoints
17
+
18
+ 키워드, 스킬, 에이전트 문서를 수정한 뒤 작업 brief가 여전히 의도한 design-ai route를 선택하는지 검증할 때 route eval을 사용하세요.
19
+
20
+ ```bash
21
+ design-ai route --eval-template --json > route-eval.json
22
+ design-ai route --eval --from-file route-eval.json --strict --json
23
+ ```
24
+
25
+ 이 eval은 deterministic하고 read-only예요. AI provider를 호출하지 않고, learning profile을 수정하지 않고, 설치된 skill도 바꾸지 않아요. 더 깊은 prompt, learning, Website Console eval을 만들기 전 agent routing conformance check로 쓰면 됩니다.
26
+
27
+ ## Prompt and pack eval checkpoints
28
+
29
+ Route eval이 통과한 뒤에는 prompt/pack eval로 agent prompt와 context bundle이 기대한 route, playbook file, checklist, context coverage를 유지하는지 확인하세요.
30
+
31
+ ```bash
32
+ design-ai prompt --eval-template --json > prompt-eval.json
33
+ design-ai prompt --eval --from-file prompt-eval.json --strict --json
34
+
35
+ design-ai pack --eval-template --json > pack-eval.json
36
+ design-ai pack --eval --from-file pack-eval.json --strict --json
37
+ ```
38
+
39
+ Prompt eval은 context bundle을 만들기 전 prompt plan을 검사합니다. Pack eval은 bundled file set과 context status를 검사하되 eval JSON에는 전체 context file body를 출력하지 않습니다. 두 경로 모두 deterministic, local, read-only입니다.
40
+
41
+ ## Learning signal registry
42
+
43
+ 로컬 학습 profile 상태, usage sidecar 활동, route/prompt/pack/learning eval file, check learning capture entry, workspace readiness를 한 번에 읽기 전용으로 확인할 때 learning signal registry를 사용하세요.
44
+
45
+ ```bash
46
+ design-ai learn --signals --from-file . --json
47
+ design-ai learn --signals --from-file . --strict --json
48
+ design-ai learn --signals --from-file route-eval-report.json --usage-file learning.usage.json
49
+ ```
50
+
51
+ `--from-file`은 단일 eval signal file이나 `route-eval*.json`, `prompt-eval*.json`, `pack-eval*.json`, `learning-eval*.json` report가 들어 있는 directory를 받을 수 있어요. 이 명령은 `learning.json`을 수정하지 않고, 외부 AI API도 호출하지 않으며, 로컬 metadata와 짧은 check-capture text preview만 노출합니다. Signal registry나 agent development backlog가 warn/fail일 때 local gate를 실패시키려면 `--strict`를 붙이세요.
52
+
53
+ ## Claude Code
54
+
55
+ Claude Code는 `CLAUDE.md`를 자동으로 읽어요. **슬래시 커맨드**와 **스킬 자동 로딩**을 쓰려면 심볼릭 링크를 거는 게 좋아요:
56
+
57
+ ```bash
58
+ # 프로젝트 루트에서:
59
+ mkdir -p ~/.claude/commands ~/.claude/skills ~/.claude/agents
60
+
61
+ # 슬래시 커맨드
62
+ for f in commands/*.md; do
63
+ ln -sf "$(pwd)/$f" "$HOME/.claude/commands/design-$(basename "$f")"
64
+ done
65
+
66
+ # 스킬
67
+ for d in skills/*/; do
68
+ name=$(basename "$d")
69
+ ln -sf "$(pwd)/$d" "$HOME/.claude/skills/design-$name"
70
+ done
71
+
72
+ # 에이전트
73
+ for f in agents/*.md; do
74
+ [ "$(basename "$f")" = "README.md" ] && continue
75
+ ln -sf "$(pwd)/$f" "$HOME/.claude/agents/$(basename "$f")"
76
+ done
77
+ ```
78
+
79
+ 또는 프로젝트 루트에서 installer로 한 번에:
80
+
81
+ ```bash
82
+ ./install.sh
83
+ ```
84
+
85
+ Public npm publish와 `npm run registry:smoke`가 끝난 뒤에는 `npx @design-ai/cli install` 경로도 사용할 수 있어요.
86
+
87
+ 이렇게 하면:
88
+ - `/design-design-review`, `/design-palette-from-brand` 같은 커맨드를 어디서든 쓸 수 있어요.
89
+ - Claude Code 스킬 시스템에서 스킬이 자동 로딩돼요.
90
+ - 에이전트를 이름으로 호출할 수 있어요.
91
+
92
+ 심볼릭 링크를 안 걸어도 대화에서 경로로 직접 참조하면 돼요:
93
+ - "`skills/color-palette/PLAYBOOK.md`의 플레이북을 핀테크 앱에 적용해 주세요."
94
+ - "`agents/design-critic.md` 에이전트를 띄워서 이 Figma 링크를 리뷰해 주세요."
95
+
96
+ ## Cursor
97
+
98
+ 프로젝트의 `.cursorrules`에 다음 내용을 넣어요:
99
+
100
+ ```
101
+ 당신은 20년 이상 경력의 시니어 프로덕트 디자이너입니다.
102
+
103
+ 사용자가 디자인 작업을 요청하면, /path/to/design-ai/AGENTS.md의 플레이북을 따르세요.
104
+
105
+ UX 감사: /path/to/design-ai/skills/ux-audit/PLAYBOOK.md
106
+ 팔레트: /path/to/design-ai/skills/color-palette/PLAYBOOK.md
107
+ 컴포넌트 스펙: /path/to/design-ai/skills/component-spec-writer/PLAYBOOK.md
108
+ ...
109
+ ```
110
+
111
+ 경로는 환경에 맞게 조정하세요.
112
+
113
+ ## Aider
114
+
115
+ ```bash
116
+ aider --read AGENTS.md --read knowledge/colors/color-theory.md \
117
+ --read skills/color-palette/PLAYBOOK.md
118
+ ```
119
+
120
+ 또는 `.aider.conf.yml`:
121
+
122
+ ```yaml
123
+ read:
124
+ - AGENTS.md
125
+ - knowledge/a11y/contrast.md
126
+ - knowledge/a11y/keyboard-and-focus.md
127
+ - knowledge/colors/color-theory.md
128
+ - knowledge/typography/type-scale-fundamentals.md
129
+ ```
130
+
131
+ ## 일반 프롬프트 (모든 모델)
132
+
133
+ 관련 지식과 스킬을 시스템 프롬프트로 합쳐요:
134
+
135
+ ```bash
136
+ cat AGENTS.md \
137
+ skills/color-palette/PLAYBOOK.md \
138
+ knowledge/colors/color-theory.md \
139
+ knowledge/a11y/contrast.md \
140
+ > /tmp/system-prompt.md
141
+ ```
142
+
143
+ `/tmp/system-prompt.md`를 어떤 LLM이든 시스템 프롬프트로 넘겨요.
144
+
145
+ ## VS Code 확장
146
+
147
+ VS Code 확장은 사이드바에서 design-ai 자산을 탐색할 수 있게 해줘요:
148
+
149
+ ```bash
150
+ cd vscode-extension
151
+ npm install
152
+ npx @vscode/vsce package
153
+ code --install-extension design-ai-*.vsix
154
+ ```
155
+
156
+ 설정 (`design-ai.path`, `design-ai.language`)으로 경로와 언어를 지정할 수 있어요. Copilot Chat / Cursor / Continue 등 어떤 AI 어시스턴트와도 함께 쓸 수 있어요 (벤더 중립).
157
+
158
+ 자세한 사용법은 [`docs/integrations/vscode-walkthrough.ko.md`](integrations/vscode-walkthrough.ko.md)를 참고하세요.
159
+
160
+ ## 토큰 예산
161
+
162
+ 전부 다 로딩하면 과해요. 작업별 최소 컨텍스트:
163
+
164
+ | 작업 | 로딩할 파일 |
165
+ | --- | --- |
166
+ | 컬러 팔레트 생성 | `AGENTS.md`, `skills/color-palette/PLAYBOOK.md`, `knowledge/colors/color-theory.md`, `knowledge/colors/palettes-by-product-type.md`, `knowledge/a11y/contrast.md` |
167
+ | 컴포넌트 스펙 | `AGENTS.md`, `skills/component-spec-writer/PLAYBOOK.md`, `knowledge/components/INDEX.md`, `knowledge/a11y/keyboard-and-focus.md` |
168
+ | UX 감사 | `AGENTS.md`, `skills/ux-audit/PLAYBOOK.md`, `knowledge/patterns/ux-guidelines.md`, `knowledge/a11y/contrast.md`, `knowledge/a11y/keyboard-and-focus.md` |
169
+ | 디자인 시스템 부트스트랩 | `AGENTS.md`, `skills/design-system-builder/PLAYBOOK.md`, `knowledge/colors/color-theory.md`, `knowledge/typography/type-scale-fundamentals.md`, `knowledge/layout/spacing-and-grid.md` |
170
+ | 웹사이트 개선 컨트롤 타워 | `AGENTS.md`, `skills/website-improvement/PLAYBOOK.md`, `docs/WEBSITE-IMPROVEMENT.md`, `knowledge/patterns/dashboard-composition.md`, `knowledge/patterns/report-design.md`, `knowledge/patterns/ux-guidelines.md`, `knowledge/a11y/keyboard-and-focus.md` |
171
+
172
+ 이 정도면 한 작업당 30K 토큰 미만이라 캐싱 전이라도 대부분 모델의 컨텍스트 윈도우에 넉넉히 들어가요.
173
+
174
+ ## 한국 프로젝트에서 추가 컨텍스트
175
+
176
+ 한국 시장 작업에는 KR 전용 지식 파일을 추가로 로딩하세요:
177
+
178
+ | 도메인 | 파일 |
179
+ | --- | --- |
180
+ | 결제 / 핀테크 | `knowledge/i18n/korean-payments.md` |
181
+ | 타이포그래피 | `knowledge/typography/korean-typography.md`, `knowledge/typography/pretendard-and-fallbacks.md` |
182
+ | 음성 / 챗봇 | `knowledge/conversational/korean-conversational-conventions.md` |
183
+ | 게임 UI | `knowledge/game-ui/korean-game-conventions.md` |
184
+ | 영상 | `knowledge/video/korean-video-conventions.md` |
185
+ | 인쇄 | `knowledge/print/korean-print-conventions.md` |
186
+ | 일러스트 | `knowledge/illustration/korean-illustration-conventions.md` |
187
+ | 공간 / VR | `knowledge/spatial/korean-spatial-context.md` |
188
+
189
+ ## 새로고침 주기
190
+
191
+ 업스트림 디자인 시스템에 새 버전이 나오면 새로고침하세요:
192
+
193
+ ```bash
194
+ bash tools/clone-refs.sh # refs/ 갱신
195
+ bash tools/extractors/run-all.sh # knowledge/ 재생성
196
+ ```
197
+
198
+ 생성된 지식 파일은 frontmatter에 `extracted_at`이 있어요. 핸드라이팅 파일(상단에 `<!-- hand-written -->`)은 보존돼요.
199
+
200
+ ## 참고 문서
201
+
202
+ - [`AGENTS.ko.md`](../AGENTS.ko.md) — 보편적 진입점
203
+ - [`README.ko.md`](https://github.com/sungjin9288/design-ai/blob/main/README.ko.md) — 사람이 읽는 진입점
204
+ - [`QUICKSTART.ko.md`](QUICKSTART.ko.md) — 5분 시작 가이드
205
+ - [`DISTRIBUTION.ko.md`](DISTRIBUTION.ko.md) — 배포 채널 비교
206
+ - [`integrations/codex-walkthrough.ko.md`](integrations/codex-walkthrough.ko.md) — 도구별 워크스루 예시 (Codex / Cursor / Aider / SDK / VS Code)
package/docs/USING.md ADDED
@@ -0,0 +1,218 @@
1
+ # Using design-ai with your AI agent
2
+
3
+ How to plug this knowledge base into different AI coding tools.
4
+
5
+ ## Codex CLI
6
+
7
+ Codex automatically reads `AGENTS.md` from the project root.
8
+
9
+ ```bash
10
+ cd /path/to/design-ai
11
+ codex "Generate a color palette for a Korean fintech app"
12
+ ```
13
+
14
+ Codex will consume `AGENTS.md`, navigate `knowledge/`, and apply the relevant skill playbook. No setup required.
15
+
16
+ ## design-ai MCP server
17
+
18
+ Use MCP when you want Claude Code or Codex to call design-ai as tools instead of asking the agent to read repo files manually.
19
+
20
+ Claude Code:
21
+
22
+ ```bash
23
+ claude mcp add --transport stdio design-ai -- design-ai mcp
24
+ ```
25
+
26
+ Codex:
27
+
28
+ ```bash
29
+ codex mcp add design-ai -- design-ai mcp
30
+ ```
31
+
32
+ If `design-ai` is not on `PATH`, use the local clone entrypoint:
33
+
34
+ ```bash
35
+ node /path/to/design-ai/cli/bin/design-ai-mcp.mjs
36
+ ```
37
+
38
+ The MCP server exposes route, prompt, pack, search, show, examples, check, Website Improvement MCP readiness, and version tools. See [`docs/integrations/design-ai-mcp-server.md`](integrations/design-ai-mcp-server.md).
39
+
40
+ ## Route eval checkpoints
41
+
42
+ Use route evals when you want to verify that task briefs still select the intended design-ai command, skill, agents, and knowledge set after changing keywords, skills, or agent docs.
43
+
44
+ ```bash
45
+ design-ai route --eval-template --json > route-eval.json
46
+ design-ai route --eval --from-file route-eval.json --strict --json
47
+ ```
48
+
49
+ The eval is deterministic and read-only. It does not call an AI provider, write to the learning profile, or mutate installed skills. Treat it as the first agent-routing conformance check before deeper prompt, learning, or Website Console evals.
50
+
51
+ ## Prompt and pack eval checkpoints
52
+
53
+ Use prompt and pack evals after route evals pass. They verify that generated agent prompts and context bundles still include the expected route, playbook files, checklist items, and context coverage.
54
+
55
+ ```bash
56
+ design-ai prompt --eval-template --json > prompt-eval.json
57
+ design-ai prompt --eval --from-file prompt-eval.json --strict --json
58
+
59
+ design-ai pack --eval-template --json > pack-eval.json
60
+ design-ai pack --eval --from-file pack-eval.json --strict --json
61
+ ```
62
+
63
+ Prompt evals check the plan before context bundling. Pack evals check the bundled file set and context status without printing the full context file bodies in eval JSON. Both paths are deterministic, local, and read-only.
64
+
65
+ ## Learning signal registry
66
+
67
+ Use the learning signal registry when you want one read-only snapshot that joins local learning profile health, usage sidecar activity, route/prompt/pack/learning eval files, check learning capture entries, and workspace readiness.
68
+
69
+ ```bash
70
+ design-ai learn --signals --from-file . --json
71
+ design-ai learn --signals --from-file . --strict --json
72
+ design-ai learn --signals --from-file route-eval-report.json --usage-file learning.usage.json
73
+ ```
74
+
75
+ `--from-file` accepts either a single eval signal file or a directory containing `route-eval*.json`, `prompt-eval*.json`, `pack-eval*.json`, or `learning-eval*.json` reports. The command does not mutate `learning.json`, does not call external AI APIs, and exposes only local metadata plus short check-capture text previews. Add `--strict` when you want the signal registry or agent development backlog to fail a local gate on warn/fail status.
76
+
77
+ Readiness JSON keeps `optionalGaps` as a compact id list and adds `optionalGapDetails` for operator and automation handoff. It also exposes `requiredCheckIds`, `optionalCheckIds`, `checkStatusById`, and `checkRequiredById`; Markdown reports render the same check index so operators can review id-based readiness without opening JSON. For missing check-capture evidence, the detail explains that the gap stays advisory until a real warn/fail check artifact is reviewed and captured with `check --learn --yes`; no placeholder mutation command is emitted.
78
+
79
+ ## Agent development backlog
80
+
81
+ Use the focused backlog when you want only the local AI/agent next-action queue from the signal registry, without the full learning/usage/eval/workspace report.
82
+
83
+ ```bash
84
+ design-ai learn --agent-backlog --from-file . --json
85
+ design-ai learn --agent-backlog --from-file . --strict --json
86
+ design-ai learn --agent-backlog --from-file . --report --out agent-backlog.md
87
+ ```
88
+
89
+ The command is read-only and uses the same deterministic `agentDevelopment` data as `learn --signals`. JSON and Markdown output include the signal readiness summary, the readiness check index, and an `actionPlan` with ordered steps, an `executionQueue` that groups preview/read-only commands before file-write and mutation-review commands while also exposing `ordered`, `orderedCount`, `nextActionId`, `nextCommand`, `nextCommandArgs`, `nextCommandRunPolicy`, `nextCommandSelection`, `nextCommandAlignment`, `operatorHandoff`, `operatorHandoff.decision`, `operatorHandoff.state`, `operatorHandoff.refreshCommand`, and a command-bearing `commandManifest`, aggregate `safetySummary` counts, verification commands, `requiresReviewBeforeMutation` flags, and `commandSafety` metadata that classifies follow-up commands as `read-only`, `writes-local-file`, or `mutates-local-state`. Queue items also expose a `runPolicy` of `preview-only`, `review-before-file-write`, or `review-before-mutation`, plus `commandEffects` target hints for output files, learning profile files, usage sidecars, mutation flags, and clean-workspace review reasons. Generated actions, plan steps, verification commands, queue items, command manifest entries, gate commands, and operator runbook commands also include `commandArgs` arrays alongside human-readable `command` strings. First-run profile initialization steps use an explicit `learn --init --dry-run` preview command and expose the confirmed `learn --init --yes` profile write through `applyCommand`, `applyCommandArgs`, `applyCommandSafety`, and `applyRequiresReviewBeforeMutation` so local automation can require review before mutating `learning.json`. Learning eval bootstrap commands target the active profile's sibling `learning-eval.json`, signal registry summaries include that sibling checkpoint even when `--from-file` points at a separate signal directory, and template-only replay actions emit `learn --eval --from-file <checkpoint> --file <profile> --strict --json --out <checkpoint-report>` so a sibling executed report can clear the template replay warning. Usage-record commands that include `--with-learning` are classified as `mutates-local-state`, use `review-before-mutation`, and expose `DESIGN_AI_LEARNING_FILE` plus `DESIGN_AI_LEARNING_USAGE_FILE` targets because they write privacy-preserving usage sidecar metadata. Workspace readiness commands also expose `--learning-usage` as a usage sidecar target alongside `--learning-file` profile metadata. The queue also includes `commandEffectSummary` aggregate counts, `nextCommandSelection` strategy/reason metadata for distinguishing ranked next actions from safety-ordered recommended commands, `nextCommandAlignment` metadata for comparing the operator runbook's first command with the queue's recommended command, `operatorHandoff` metadata for the single next command local automation should present or run, a `decision` enum for branching on `run-operator-gate`, `run-shared-command`, `run-operator-command`, `run-queue-command`, or `none`, a compact `state.status` enum for `ready`, `gate-required`, `review-required`, or `no-command`, context-aware refresh command metadata for re-checking the same signal source, learning profile, and usage sidecar after the selected handoff, and `commandEffectReview` guidance so an operator can scan target and mutation-flag exposure, then follow a concrete review headline, checklist, phase-tagged gate commands, `gatePhaseSummary` counts, and `gateRunbook` buckets before opening every manifest entry. The same queue also exposes an `operatorRunbook` with `before`, `execute`, `after`, and `refresh` stages plus `nextStage` / `nextCommand` / `nextCommandArgs` / `nextCommandSelection` metadata, so local operators can start with the first required gate command when present and understand the stage-order reason before following the reviewed handoff sequence without rebuilding it from separate gate and command-manifest fields or reparsing shell strings. This lets an operator move from backlog review to controlled execution without guessing which commands may change local files or rebuilding the recommended action order from grouped buckets. It does not mutate `learning.json`, skill files, usage sidecars, eval files, or target repositories, and it does not call external AI APIs.
90
+
91
+ On first-run workspaces where the selected learning profile does not exist yet, the ranked backlog starts with `agent-learning-profile-init` before eval checkpoint bootstrap so the ranked action and safe queue tell the same setup story.
92
+
93
+ Operator handoff gates are scoped to the current next queue command. If the next command is a read-only preview, `operatorHandoff.state.status` can be `ready` even when later queued commands still require file-write or mutation review; use `nextQueueCommandRequiresGate` and `operatorGateAppliesToNextQueueAction` to explain that distinction.
94
+
95
+ Missing check-capture entries stay advisory. The focused backlog does not emit a placeholder `check artifact.md --learn --yes` action until real `check:*` learning entries exist; capture actual warn/fail artifacts first, then use the generated skill proposal handoff.
96
+
97
+ ## Skill evolution proposals
98
+
99
+ Use skill evolution proposals after repeated `check --learn --yes` captures point at the same route or category. The report turns those local signals into candidate skill edits, but it remains preview-only.
100
+
101
+ ```bash
102
+ design-ai learn --propose-skills --from-file . --json
103
+ design-ai learn --propose-skills --from-file . --min-evidence 3 --json
104
+ design-ai learn --propose-skills --from-file . --strict --json
105
+ design-ai learn --propose-skills --from-file . --report --out skill-proposals.md
106
+ design-ai learn --propose-skills --from-file route-eval-report.json --usage-file learning.usage.json
107
+ ```
108
+
109
+ Each proposal includes the candidate skill path, evidence sources, proposed instruction delta, verification command, and risk level. Use `--min-evidence N` to tune how many related check-capture entries are required before a proposal appears. Use `--report --out skill-proposals.md` when you need a reviewer-friendly Markdown artifact before editing a skill by hand. Add `--strict` when pending proposals or upstream signal readiness warnings should fail a local gate. The command does not mutate `learning.json`, does not edit `skills/*/SKILL.md`, and does not call external AI APIs.
110
+
111
+ ## Claude Code
112
+
113
+ Claude Code reads `CLAUDE.md` automatically. To get **slash commands** and **skill auto-loading**, optionally symlink:
114
+
115
+ ```bash
116
+ # From the project root:
117
+ mkdir -p ~/.claude/commands ~/.claude/skills ~/.claude/agents
118
+
119
+ # Slash commands
120
+ for f in commands/*.md; do
121
+ ln -sf "$(pwd)/$f" "$HOME/.claude/commands/design-$(basename "$f")"
122
+ done
123
+
124
+ # Skills
125
+ for d in skills/*/; do
126
+ name=$(basename "$d")
127
+ ln -sf "$(pwd)/$d" "$HOME/.claude/skills/design-$name"
128
+ done
129
+
130
+ # Agents
131
+ for f in agents/*.md; do
132
+ [ "$(basename "$f")" = "README.md" ] && continue
133
+ ln -sf "$(pwd)/$f" "$HOME/.claude/agents/$(basename "$f")"
134
+ done
135
+ ```
136
+
137
+ This makes:
138
+ - `/design-design-review`, `/design-palette-from-brand`, etc. available globally.
139
+ - The skills auto-loadable by Claude Code's skill system.
140
+ - Agents spawnable by name.
141
+
142
+ If you don't symlink, you can still reference everything by path in conversation:
143
+ - "Apply the playbook at `skills/color-palette/PLAYBOOK.md` to a fintech app."
144
+ - "Spawn the agent at `agents/design-critic.md` to review this Figma link."
145
+
146
+ ## Cursor
147
+
148
+ Drop these contents into your project's `.cursorrules`:
149
+
150
+ ```
151
+ You are a senior product designer with 20+ years of experience.
152
+
153
+ When the user asks for design work, follow the playbook in /path/to/design-ai/AGENTS.md.
154
+
155
+ For UX audits: /path/to/design-ai/skills/ux-audit/PLAYBOOK.md
156
+ For palettes: /path/to/design-ai/skills/color-palette/PLAYBOOK.md
157
+ For component specs: /path/to/design-ai/skills/component-spec-writer/PLAYBOOK.md
158
+ ...
159
+ ```
160
+
161
+ Adjust paths.
162
+
163
+ ## Aider
164
+
165
+ ```bash
166
+ aider --read AGENTS.md --read knowledge/colors/color-theory.md \
167
+ --read skills/color-palette/PLAYBOOK.md
168
+ ```
169
+
170
+ Or use `.aider.conf.yml`:
171
+
172
+ ```yaml
173
+ read:
174
+ - AGENTS.md
175
+ - knowledge/a11y/contrast.md
176
+ - knowledge/a11y/keyboard-and-focus.md
177
+ - knowledge/colors/color-theory.md
178
+ - knowledge/typography/type-scale-fundamentals.md
179
+ ```
180
+
181
+ ## Plain prompt (any model)
182
+
183
+ Concatenate the relevant knowledge + skill into the system prompt:
184
+
185
+ ```bash
186
+ cat AGENTS.md \
187
+ skills/color-palette/PLAYBOOK.md \
188
+ knowledge/colors/color-theory.md \
189
+ knowledge/a11y/contrast.md \
190
+ > /tmp/system-prompt.md
191
+ ```
192
+
193
+ Pass `/tmp/system-prompt.md` as the system prompt to whatever LLM you're using.
194
+
195
+ ## Token budget
196
+
197
+ Including everything is overkill. Per-task minimal context:
198
+
199
+ | Task | Files to load |
200
+ | --- | --- |
201
+ | Color palette generation | `AGENTS.md`, `skills/color-palette/PLAYBOOK.md`, `knowledge/colors/color-theory.md`, `knowledge/colors/palettes-by-product-type.md`, `knowledge/a11y/contrast.md` |
202
+ | Component spec | `AGENTS.md`, `skills/component-spec-writer/PLAYBOOK.md`, `knowledge/components/INDEX.md`, `knowledge/a11y/keyboard-and-focus.md` |
203
+ | UX audit | `AGENTS.md`, `skills/ux-audit/PLAYBOOK.md`, `knowledge/patterns/ux-guidelines.md`, `knowledge/a11y/contrast.md`, `knowledge/a11y/keyboard-and-focus.md` |
204
+ | Design system bootstrap | `AGENTS.md`, `skills/design-system-builder/PLAYBOOK.md`, `knowledge/colors/color-theory.md`, `knowledge/typography/type-scale-fundamentals.md`, `knowledge/layout/spacing-and-grid.md` |
205
+ | Website improvement control tower | `AGENTS.md`, `skills/website-improvement/PLAYBOOK.md`, `docs/WEBSITE-IMPROVEMENT.md`, `knowledge/patterns/dashboard-composition.md`, `knowledge/patterns/report-design.md`, `knowledge/patterns/ux-guidelines.md`, `knowledge/a11y/keyboard-and-focus.md` |
206
+
207
+ This stays under 30K tokens for any single task — well within most model context windows even before caching.
208
+
209
+ ## Refresh cycle
210
+
211
+ When new versions of upstream design systems are released, refresh:
212
+
213
+ ```bash
214
+ bash tools/clone-refs.sh # Pull/clone refs/
215
+ bash tools/extractors/run-all.sh # Regenerate knowledge/
216
+ ```
217
+
218
+ Generated knowledge files include `extracted_at` in their frontmatter. Hand-written files (`<!-- hand-written -->` at top) are preserved.