@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,203 @@
1
+ # 기여 가이드
2
+
3
+ design-ai 프로젝트에 기여하는 방법이에요. 코드 / 지식 파일 / 스킬 / 번역 어떤 형태로든 환영해요.
4
+
5
+ ## 새 소스 레포 추가하기
6
+
7
+ 1. `refs/`에 sparse clone으로 추가:
8
+ ```bash
9
+ git clone --depth 1 --filter=blob:none --sparse https://github.com/<org>/<repo>.git refs/<name>
10
+ git -C refs/<name> sparse-checkout init --cone
11
+ git -C refs/<name> sparse-checkout set <필요한 디렉토리만>
12
+ ```
13
+ 2. `README.md`의 표에 추가하세요.
14
+ 3. `tools/extractors/<source>.py`에 추출기를 작성하거나 갱신하세요.
15
+ 4. `./tools/extractors/run-all.sh` 실행.
16
+ 5. `knowledge/`의 생성 결과가 새 소스를 인용하는지 확인하세요.
17
+
18
+ ## 새 스킬 추가하기
19
+
20
+ 1. `skills/<skill-name>/` 디렉토리 생성.
21
+ 2. `PLAYBOOK.md` 작성 — 단계별 프로세스.
22
+ 3. `SKILL.md` 작성 — 같은 내용에 frontmatter 추가:
23
+ ```markdown
24
+ ---
25
+ name: <skill-name>
26
+ description: <한 문장 — 트리거 조건>
27
+ ---
28
+ ```
29
+ 4. 스킬이 구조화된 산출물을 만든다면 `TEMPLATE.md` 작성.
30
+ 5. `skills/<skill-name>/examples/`에 워크드 예제 추가.
31
+ 6. `skills/README.md` 인덱스 갱신.
32
+ 7. **검증 단계 (verification phase)** 필수 — PLAYBOOK 끝에 결과물 체크리스트 작성.
33
+
34
+ ## 새 에이전트 페르소나 추가하기
35
+
36
+ 1. `agents/<persona>.md` 생성, frontmatter 포함:
37
+ ```markdown
38
+ ---
39
+ name: <persona>
40
+ description: <언제 호출할지>
41
+ tools: [Read, Grep, Glob]
42
+ ---
43
+ ```
44
+ 2. 본문: 페르소나 설명, 범위, 출력 형식.
45
+ 3. `agents/README.md` 인덱스 갱신.
46
+
47
+ ## 슬래시 커맨드 추가하기
48
+
49
+ 1. `commands/<name>.md` 생성, frontmatter 포함:
50
+ ```markdown
51
+ ---
52
+ description: </name이 하는 일>
53
+ ---
54
+ ```
55
+ 2. 본문: 커맨드가 확장될 프롬프트 템플릿.
56
+ 3. `commands/README.md` 인덱스 갱신.
57
+
58
+ ## 지식 파일 편집하기
59
+
60
+ - **생성된 파일**: 추출기를 편집하고 재실행하세요. 출력을 손으로 직접 편집하면 안 돼요.
61
+ - **핸드라이팅 파일**: 본문 상단에 반드시 `<!-- hand-written -->`을 포함해야 해요.
62
+ - **혼합 파일**: 허용 안 됨. 생성 + 핸드라이팅 두 개로 분리하고 상호 링크하세요.
63
+
64
+ ### 버전 메타데이터 (v3.11+)
65
+
66
+ 모든 지식 파일에는 버전 정보가 포함돼야 해요:
67
+
68
+ ```yaml
69
+ ---
70
+ title: <제목>
71
+ applies_to: [<태그>]
72
+ version: 1.0.0
73
+ last_updated: 2026-05
74
+ stability: stable
75
+ ---
76
+ ```
77
+
78
+ - `version`: semver 형식 (`1.0.0`, `1.2.3-beta`).
79
+ - `last_updated`: `YYYY-MM` 또는 `YYYY-MM-DD`. 내용을 수정할 때마다 갱신.
80
+ - `stability`: `stable` / `beta` / `experimental` / `deprecated` 중 하나.
81
+
82
+ 새 파일은 보통 `version: 1.0.0`, `stability: stable`로 시작해요. 활발히 변경 중인 내용이면 `stability: experimental`로 표시하세요.
83
+
84
+ ## 인용 규칙
85
+
86
+ 지식 파일이 업스트림 소스를 참조할 때:
87
+
88
+ ```markdown
89
+ ---
90
+ source: refs/ant-design/components/button/Button.tsx
91
+ extracted_at: 2026-05-07
92
+ ---
93
+ ```
94
+
95
+ 여러 소스를 합치는 파일은 리스트로:
96
+
97
+ ```yaml
98
+ sources:
99
+ - refs/ant-design/components/button/Button.tsx
100
+ - refs/mui/packages/mui-material/src/Button/Button.js
101
+ - refs/shadcn-ui/apps/v4/registry/new-york-v4/ui/button.tsx
102
+ ```
103
+
104
+ ## 스타일
105
+
106
+ - **마크다운 우선** — 산문보다 구조화된 마크다운.
107
+ - **비교는 표로** — 어떤 비교든 표 형식이 더 읽기 쉬워요.
108
+ - **코드 블록에 언어 태그** (`json`, `tsx`, `css`, `bash`).
109
+ - **로컬 파일 링크는 상대 경로**.
110
+ - **업스트림 링크는 GitHub canonical URL** (로컬 `refs/`는 wiped될 수 있어서 깨질 수 있어요).
111
+
112
+ ## 한국어 콘텐츠 기여
113
+
114
+ 한국어 번역 / 콘텐츠 추가도 환영해요.
115
+
116
+ ### 톤 가이드
117
+
118
+ - **어댑터 / 사용자 대상**: 해요체 (친근, 일상). README.ko.md, USING.ko.md, integration walkthroughs 등.
119
+ - **법적 / 규정 / 공식**: 합쇼체 (정중, 격식). 약관, 정책, 공시 관련.
120
+ - **기술 / 코드 옆**: 중립적 — 명령형 또는 설명형. ARCHITECTURE.ko.md, 추출기 주석 등.
121
+
122
+ ### 번역 원칙
123
+
124
+ - **직역 거부**. 자연스러운 한국어 우선.
125
+ - **영어 기술 용어**는 그대로 두는 게 자연스러우면 그대로 (예: "API", "frontmatter", "schema").
126
+ - **한국 브랜드 / 컨벤션**은 한국어 유지 (Toss, KakaoPay, 카카오톡, 네이버, Pretendard).
127
+ - **코드 블록 / 명령어**는 보통 영문 그대로.
128
+ - **검증**: `tools/audit/korean-copy-check.py`로 영어 UI 문구가 한국어 파일에 섞여 있지 않은지 확인.
129
+
130
+ ### 한국어 파일 명명 규칙
131
+
132
+ - 영문 원본이 `FILE.md`면 한국어는 `FILE.ko.md`.
133
+ - 한국어 전용 지식 파일 (예: `korean-payments.md`)은 영문 파일명에 한국 컨벤션 내용을 한국어로 (혼용 OK).
134
+
135
+ ## 감사 (Audits)
136
+
137
+ PR을 올리기 전에 8개 감사를 모두 통과해야 해요. 보통은 통합 명령을 먼저 실행하세요:
138
+
139
+ ```bash
140
+ npm run audit:strict
141
+ ```
142
+
143
+ 개별 감사는 다음 8개예요:
144
+
145
+ | # | 스크립트 | 목적 |
146
+ | --- | --- | --- |
147
+ | 1 | `frontmatter-check.py` | YAML frontmatter 유효성 + 버전 필드 형식 |
148
+ | 2 | `link-check.py` | 내부 링크 해석 |
149
+ | 3 | `korean-copy-check.py` | 한국어 voice / register / typography |
150
+ | 4 | `raw-hex-check.py` | 예제 파일의 raw hex 색상 위생 |
151
+ | 5 | `integration-check.py` | 통합 워크스루 완전성 |
152
+ | 6 | `stale-check.py` | 지식 신선도 (`last_updated` 임계값) |
153
+ | 7 | `check-coverage.py` | 컴포넌트 / 스킬 / 예제 커버리지 리포트 |
154
+ | 8 | `example-qa.py` | 라우트별 대표 worked example 품질 |
155
+
156
+ CI가 PR마다 자동으로 실행해요. 로컬에서 미리 돌리면 시간 절약돼요.
157
+
158
+ ## Cross-source API reconciliation
159
+
160
+ Ant Design / MUI / shadcn-ui가 업데이트되면 component spec의 API가 업스트림과 어긋날 수 있어요. 먼저 짧은 summary로 위험도를 보고, 필요할 때만 전체 report를 열어보세요:
161
+
162
+ ```bash
163
+ # 빠른 분기 리뷰 요약
164
+ python3 tools/extractors/component_spec_conflict_check.py --multi-source --summary-only
165
+
166
+ # 전체 conflict report
167
+ python3 tools/extractors/component_spec_conflict_check.py --multi-source > /tmp/conflicts.md
168
+
169
+ # 단일 컴포넌트 reconciliation proposal
170
+ python3 tools/extractors/component_spec_reconcile.py --name button
171
+ ```
172
+
173
+ 우선순위는 `CRITICAL` / `HIGH`부터예요. `LOW`는 대부분 library-specific prop이라 바로 수정 대상은 아니고, 실제 design-system API에 필요한지 판단하면 돼요.
174
+
175
+ ## 커밋 메시지
176
+
177
+ [Conventional Commits](https://www.conventionalcommits.org/) 형식을 따라요:
178
+
179
+ ```
180
+ <type>: <description>
181
+
182
+ <optional body>
183
+ ```
184
+
185
+ 타입: `feat`, `fix`, `refactor`, `docs`, `test`, `chore`, `perf`, `ci`.
186
+
187
+ ## PR 워크플로
188
+
189
+ 1. 새 브랜치 생성 (`feat/<feature-name>` 또는 `fix/<issue>`).
190
+ 2. 변경사항 작성 + 8개 감사 통과 확인.
191
+ 3. 커밋 (Conventional Commits).
192
+ 4. PR 생성 — 변경 요약 + 테스트 플랜 포함.
193
+ 5. CI 통과 확인.
194
+ 6. 리뷰 요청.
195
+
196
+ 자세한 PR 형식은 영문 [`CONTRIBUTING.md`](CONTRIBUTING.md)와 [`AGENTS.md`](../AGENTS.md)를 참고하세요.
197
+
198
+ ## 참고 문서
199
+
200
+ - [`AGENTS.ko.md`](../AGENTS.ko.md) — 에이전트 진입점
201
+ - [`docs/ARCHITECTURE.ko.md`](ARCHITECTURE.ko.md) — 시스템 구조
202
+ - [`docs/USING.ko.md`](USING.ko.md) — 사용자 가이드
203
+ - [`docs/RELEASE-CHECKLIST.md`](RELEASE-CHECKLIST.md) — 릴리스 의식
@@ -0,0 +1,242 @@
1
+ # Contributing
2
+
3
+ ## Adding a new source repo
4
+
5
+ 1. Add to `refs/` via sparse clone:
6
+ ```bash
7
+ git clone --depth 1 --filter=blob:none --sparse https://github.com/<org>/<repo>.git refs/<name>
8
+ git -C refs/<name> sparse-checkout init --cone
9
+ git -C refs/<name> sparse-checkout set <only the dirs you need>
10
+ ```
11
+ 2. Add it to the table in `README.md`.
12
+ 3. Write or update an extractor in `tools/extractors/<source>.py`.
13
+ 4. Run `./tools/extractors/run-all.sh`.
14
+ 5. Verify generated files in `knowledge/` cite the new source.
15
+
16
+ ## Adding a new skill
17
+
18
+ 1. Create `skills/<skill-name>/`.
19
+ 2. Author `PLAYBOOK.md` with the step-by-step process.
20
+ 3. Author `SKILL.md` — same content, with frontmatter:
21
+ ```markdown
22
+ ---
23
+ name: <skill-name>
24
+ description: <one sentence — the trigger condition>
25
+ ---
26
+ ```
27
+ 4. Author `TEMPLATE.md` if the skill produces a structured artifact.
28
+ 5. Add a worked example in `skills/<skill-name>/examples/`.
29
+ 6. Update `skills/README.md` index.
30
+
31
+ ## Adding a new agent persona
32
+
33
+ 1. Create `agents/<persona>.md` with frontmatter:
34
+ ```markdown
35
+ ---
36
+ name: <persona>
37
+ description: <when to spawn>
38
+ tools: [Read, Grep, Glob]
39
+ ---
40
+ ```
41
+ 2. Body: persona description, scope, output format.
42
+ 3. Update `agents/README.md` index.
43
+
44
+ ## Adding a slash command
45
+
46
+ 1. Create `commands/<name>.md` with frontmatter:
47
+ ```markdown
48
+ ---
49
+ description: <what /name does>
50
+ ---
51
+ ```
52
+ 2. Body: the prompt template the command expands to.
53
+ 3. Update `commands/README.md` index.
54
+
55
+ ## Editing knowledge files
56
+
57
+ - Generated files: edit the extractor, re-run, do not edit output by hand.
58
+ - Hand-written files: must include `<!-- hand-written -->` at the top of the body.
59
+ - Mixed files: not allowed. Split into one generated + one hand-written file with cross-links.
60
+
61
+ ## Citation rules
62
+
63
+ When a knowledge file references upstream source:
64
+ ```markdown
65
+ ---
66
+ source: refs/ant-design/components/button/Button.tsx
67
+ extracted_at: 2026-05-07
68
+ ---
69
+ ```
70
+
71
+ Multi-source files use a list:
72
+ ```yaml
73
+ sources:
74
+ - refs/ant-design/components/button/Button.tsx
75
+ - refs/mui/packages/mui-material/src/Button/Button.js
76
+ - refs/shadcn-ui/apps/v4/registry/new-york-v4/ui/button.tsx
77
+ ```
78
+
79
+ ## Quarterly stability review
80
+
81
+ Operationalized in v4.6. Run quarterly (March / June / September / December — or per-major) to keep knowledge fresh and stability levels honest.
82
+
83
+ ### Step 1 — Generate the report
84
+
85
+ ```bash
86
+ python3 tools/audit/stability-review.py --output docs/STABILITY-REVIEW.md
87
+ ```
88
+
89
+ This produces a markdown report with sections:
90
+ - **Summary table** — counts by stability level, oldest file per level.
91
+ - **experimental → stable promotion candidates** — files that held up ≥ 6 months.
92
+ - **beta → stable promotion candidates** — files that held up ≥ 3 months.
93
+ - **Stable files due for re-review** — `last_updated ≥ 12 months ago`.
94
+ - **Deprecated files** — confirm removal plan.
95
+ - **Files without `stability`** — add the metadata.
96
+
97
+ ### Step 2 — Walk the report
98
+
99
+ For each section, decide per file:
100
+ - Still accurate? → Bump `last_updated`.
101
+ - Needs revision? → Edit + bump.
102
+ - Obsolete? → Mark `stability: deprecated` and add a deprecation note.
103
+ - Promotion candidate confirmed? → Promote.
104
+
105
+ ### Step 3 — Apply changes via the bulk tools
106
+
107
+ ```bash
108
+ # Bulk bump last_updated for files that are still accurate
109
+ python3 tools/migrations/bump-last-updated.py knowledge/a11y/contrast.md knowledge/a11y/keyboard-and-focus.md
110
+
111
+ # Promote experimental → stable (verifies current level matches --from)
112
+ python3 tools/migrations/promote-stability.py --from experimental --to stable knowledge/foo.md knowledge/bar.md
113
+
114
+ # Demote stable → deprecated when superseded (rare)
115
+ python3 tools/migrations/promote-stability.py --from stable --to deprecated knowledge/old-pattern.md
116
+ ```
117
+
118
+ Both tools support `--dry-run` and write atomically (temp + rename).
119
+
120
+ ### Step 4 — Document outcome
121
+
122
+ Add a section to the next minor release in `CHANGELOG.md`:
123
+
124
+ ```markdown
125
+ ### Stability review (Q3 2026)
126
+ - Promoted to stable: knowledge/foo.md, knowledge/bar.md
127
+ - Demoted to deprecated: knowledge/old-pattern.md
128
+ - Reviewed + bumped: 12 files
129
+ ```
130
+
131
+ ### Step 5 — Commit + close
132
+
133
+ ```bash
134
+ git add knowledge/ docs/STABILITY-REVIEW.md CHANGELOG.md
135
+ git commit -m "chore: quarterly stability review (Q3 2026)"
136
+ ```
137
+
138
+ The `STABILITY-REVIEW.md` file is per-quarter — keep the latest one in `docs/` so contributors can see the most-recent decision history.
139
+
140
+ ### Slash command
141
+
142
+ In Claude Code:
143
+
144
+ ```
145
+ /stability-review
146
+ ```
147
+
148
+ Runs the report-generation step + summarizes the candidates inline.
149
+
150
+ ## Cross-source API reconciliation (when adopting upstream changes)
151
+
152
+ When upstream design systems (Ant / MUI / shadcn) ship new versions, our component specs may drift from the canonical APIs. Two tools surface and resolve the drift.
153
+
154
+ ### 1. Detect drift — `component_spec_conflict_check.py`
155
+
156
+ ```bash
157
+ # All multi-source canonicals (33 components currently)
158
+ python3 tools/extractors/component_spec_conflict_check.py --multi-source
159
+
160
+ # Fast quarterly-review summary
161
+ python3 tools/extractors/component_spec_conflict_check.py --multi-source --summary-only
162
+
163
+ # Single component
164
+ python3 tools/extractors/component_spec_conflict_check.py --name button
165
+
166
+ # CI gating: exit 1 on HIGH/CRITICAL
167
+ python3 tools/extractors/component_spec_conflict_check.py --multi-source --strict
168
+ ```
169
+
170
+ Severity:
171
+ - `CRITICAL` — same prop, incompatible types (e.g., `boolean` vs `unknown`)
172
+ - `HIGH` — deprecation drift across sources
173
+ - `MEDIUM` — type/default refinements
174
+ - `LOW` — prop only in one source
175
+
176
+ ### 2. Propose unified API — `component_spec_reconcile.py`
177
+
178
+ ```bash
179
+ # Generate reconciliation proposal
180
+ python3 tools/extractors/component_spec_reconcile.py --name button
181
+
182
+ # Bulk review session
183
+ python3 tools/extractors/component_spec_reconcile.py --multi-source
184
+
185
+ # JSON for tooling
186
+ python3 tools/extractors/component_spec_reconcile.py --name button --json
187
+
188
+ # Preview HIGH-confidence row updates without writing
189
+ python3 tools/extractors/component_spec_reconcile.py --name button --apply-high --dry-run
190
+
191
+ # Apply HIGH-confidence row updates for one component
192
+ python3 tools/extractors/component_spec_reconcile.py --name button --apply-high
193
+
194
+ # Bulk preview; add --force only after reviewing the dry-run output
195
+ python3 tools/extractors/component_spec_reconcile.py --multi-source --apply-high --dry-run
196
+ python3 tools/extractors/component_spec_reconcile.py --multi-source --apply-high --force
197
+ ```
198
+
199
+ Output groups proposals by confidence:
200
+ - **HIGH** — all sources agree; safe to auto-adopt.
201
+ - **MEDIUM** — review before adopt (e.g., library-specific prop, compatible refinement).
202
+ - **MANUAL** — incompatible types or no majority on default; human design call required.
203
+
204
+ `--apply-high` is deliberately narrow: it updates only existing rows in the spec's API table, preserving descriptions and narrative sections. It does not add missing props, does not apply MEDIUM/MANUAL proposals, and requires `--force` for multi-source writes.
205
+
206
+ For each prop, the proposal includes:
207
+ - Recommended type (most-specific compatible across sources).
208
+ - Recommended default (majority value).
209
+ - Recommended deprecation status (lean toward deprecated if any source deprecates).
210
+ - Migration note (when adoption requires care — deprecation timeline, library-specific exceptions).
211
+
212
+ ### Workflow — quarterly upstream review
213
+
214
+ 1. Pull latest `refs/`:
215
+ ```bash
216
+ bash tools/clone-refs.sh
217
+ ```
218
+
219
+ 2. Detect drift:
220
+ ```bash
221
+ python3 tools/extractors/component_spec_conflict_check.py --multi-source --summary-only
222
+ python3 tools/extractors/component_spec_conflict_check.py --multi-source > /tmp/conflicts.md
223
+ ```
224
+
225
+ 3. For each component with HIGH/CRITICAL conflicts, generate proposal:
226
+ ```bash
227
+ python3 tools/extractors/component_spec_reconcile.py --name <component>
228
+ ```
229
+
230
+ 4. Review the MANUAL-confidence items first — they need design calls.
231
+
232
+ 5. Apply safe HIGH-confidence rows with `--apply-high --dry-run`, then `--apply-high` for the reviewed component. Apply MEDIUM/MANUAL rows by hand: update API table, add migration notes, bump `last_updated`.
233
+
234
+ 6. Document the upstream-review pass in CHANGELOG.
235
+
236
+ ## Style
237
+
238
+ - Markdown over prose.
239
+ - Tables for any comparison.
240
+ - Code blocks tagged with language (`json`, `tsx`, `css`).
241
+ - Links to local files use relative paths.
242
+ - Links to upstream use the GitHub canonical URL, not local `refs/` (so docs survive if `refs/` is wiped).
@@ -0,0 +1,220 @@
1
+ # Cursor integration
2
+
3
+ How to use design-ai with **Cursor IDE** (AI-native editor with Claude/GPT models).
4
+
5
+ > **Looking for a worked example?** See [`docs/integrations/cursor-walkthrough.md`](integrations/cursor-walkthrough.md) — concrete sessions for spec'ing components, auditing existing code, iterating on Figma screenshots, generating tokens, and using `Cmd+K` inline edits.
6
+
7
+ ## Quickstart
8
+
9
+ Two paths:
10
+
11
+ ### A. Project-level rules (recommended)
12
+
13
+ Create `.cursorrules` in your **consuming project's** root (not in design-ai itself):
14
+
15
+ ```
16
+ You are a senior product designer with 20+ years of experience.
17
+
18
+ For any design task:
19
+ 1. Read the rules at /path/to/design-ai/AGENTS.md
20
+ 2. Prime yourself with /path/to/design-ai/knowledge/PRINCIPLES.md
21
+ 3. For specific tasks:
22
+ - Color palette: /path/to/design-ai/skills/color-palette/PLAYBOOK.md
23
+ - Component spec: /path/to/design-ai/skills/component-spec-writer/PLAYBOOK.md
24
+ - UX audit: /path/to/design-ai/skills/ux-audit/PLAYBOOK.md
25
+ - Design system: /path/to/design-ai/skills/design-system-builder/PLAYBOOK.md
26
+ - QA audit: /path/to/design-ai/skills/design-system-qa/PLAYBOOK.md
27
+ 4. Cite knowledge files for every claim. Mark unsourced claims as "(judgment, not sourced)."
28
+ 5. For colors, always include a contrast matrix.
29
+ 6. For Korean content, apply rules in /path/to/design-ai/knowledge/i18n/.
30
+ ```
31
+
32
+ Cursor auto-loads `.cursorrules` at chat start.
33
+
34
+ ### B. Workspace context
35
+
36
+ Add design-ai as a workspace folder:
37
+
38
+ ```
39
+ File → Add Folder to Workspace → /path/to/design-ai
40
+ ```
41
+
42
+ Then reference design-ai files via `@` in Cursor:
43
+ - `@AGENTS.md`
44
+ - `@skills/color-palette/PLAYBOOK.md`
45
+ - `@knowledge/i18n/korean-typography.md`
46
+
47
+ Cursor's `@`-mention loads the file inline as context.
48
+
49
+ ## Cursor-specific patterns
50
+
51
+ ### Use `@docs` to feed knowledge
52
+
53
+ In Cursor, `@docs` lets you index external documentation. For design-ai:
54
+
55
+ ```
56
+ Settings → Features → Docs → Add new doc
57
+ URL: https://github.com/your-org/design-ai
58
+ ```
59
+
60
+ After indexing, `@design-ai` in chat searches across the entire knowledge base. Useful for finding "how do I handle Korean IME composition?" without knowing which file.
61
+
62
+ ### Composer for multi-step tasks
63
+
64
+ Cursor's Composer is similar to Claude Code's Plan mode. For complex tasks:
65
+
66
+ ```
67
+ Cmd+I → "Apply skills/design-system-builder/PLAYBOOK.md to a Korean fintech mobile app brief: [paragraph]"
68
+ ```
69
+
70
+ Composer breaks it into steps and applies them sequentially.
71
+
72
+ ### Inline edits with knowledge
73
+
74
+ When editing code (e.g., a component file), include design-ai knowledge:
75
+
76
+ ```
77
+ Cmd+K → "Refactor this component per examples/component-button.md spec"
78
+ ```
79
+
80
+ Cursor reads the spec and applies it to the open file.
81
+
82
+ ## Configuration
83
+
84
+ ### `.cursorrules` template
85
+
86
+ ```text
87
+ # Design-AI integration for [Project Name]
88
+
89
+ ## Role
90
+
91
+ You are a senior product designer (20+ years) helping with this project's
92
+ UI/UX. The design-ai knowledge base at /path/to/design-ai is your
93
+ authoritative reference.
94
+
95
+ ## Rules
96
+
97
+ 1. **Always cite**: every design claim must reference a file in design-ai's
98
+ `knowledge/` directory. Mark unsourced claims as "(judgment, not sourced)."
99
+
100
+ 2. **Prime first**: at the start of any design task, read
101
+ /path/to/design-ai/knowledge/PRINCIPLES.md.
102
+
103
+ 3. **Skill-first**: before producing artifacts, open the relevant
104
+ /path/to/design-ai/skills/<skill>/PLAYBOOK.md and follow it.
105
+
106
+ 4. **Color outputs require a contrast matrix.** Body text 4.5:1, UI 3:1.
107
+ Cite knowledge/a11y/contrast.md.
108
+
109
+ 5. **Korean content**: apply knowledge/i18n/korean-typography.md (line-height
110
+ +10%, weight 600 for emphasis), korean-product-conventions.md (form
111
+ patterns), and korean-payments.md (if fintech).
112
+
113
+ 6. **Component specs**: cite all 3 references (Ant/MUI/shadcn-ui from
114
+ refs/) and explain API choices in an "API choices made" section.
115
+
116
+ 7. **Verification phase**: at the end of each artifact, run the verification
117
+ checklist from the relevant skill PLAYBOOK.
118
+
119
+ ## Project context
120
+
121
+ - Stack: <your stack>
122
+ - Design system: <pointer to your tokens / Storybook>
123
+ - Locale: <ko / en / etc.>
124
+ - Density: <comfortable / compact>
125
+ ```
126
+
127
+ ### Per-task `.cursor/` overrides
128
+
129
+ For task-specific rules, create files in `.cursor/`:
130
+
131
+ ```
132
+ .cursor/
133
+ ├── rules-color-tasks.md # rules specific to palette work
134
+ ├── rules-component-specs.md # rules for component spec authoring
135
+ └── rules-korean-only.md # Korean-specific rules
136
+ ```
137
+
138
+ Reference in chat: "Apply rules from `.cursor/rules-korean-only.md` to this task."
139
+
140
+ (Cursor's per-task rule loading is evolving; check the current version's docs.)
141
+
142
+ ## Cursor vs Claude Code vs Codex CLI
143
+
144
+ | Scenario | Best tool |
145
+ | --- | --- |
146
+ | Quick edits to existing code with design context | Cursor (inline `Cmd+K`) |
147
+ | Long-running design system bootstrap | Claude Code (TodoWrite tracking) |
148
+ | Headless CI integration | Codex CLI |
149
+ | Working in an editor while iterating on design tokens | Cursor (composer + `@docs`) |
150
+ | Multi-agent parallel reviews | Claude Code (sub-agent spawning) |
151
+ | Reviewing a Figma file via MCP | Either Cursor or Claude Code (MCP support varies) |
152
+
153
+ For this project: **Cursor is excellent for "I'm coding the components"** workflow. Claude Code/Codex are better for "I'm authoring the design system docs."
154
+
155
+ ## Token budget management
156
+
157
+ Cursor's chat context is limited per turn. Don't dump all of design-ai. Per task:
158
+
159
+ | Task | Files to `@` |
160
+ | --- | --- |
161
+ | Generate palette | `@AGENTS.md` `@knowledge/PRINCIPLES.md` `@skills/color-palette/PLAYBOOK.md` `@knowledge/colors/color-theory.md` |
162
+ | Spec a Button | `@AGENTS.md` `@skills/component-spec-writer/PLAYBOOK.md` `@knowledge/components/INDEX.md` `@examples/component-button.md` (as quality reference) |
163
+ | Audit a screen | `@AGENTS.md` `@skills/ux-audit/PLAYBOOK.md` `@knowledge/patterns/ux-guidelines.md` `@knowledge/a11y/contrast.md` |
164
+
165
+ Cursor's `@`-mention is more granular than Claude Code's auto-loading — use it.
166
+
167
+ ## Cursor's MCP support
168
+
169
+ Cursor supports MCP servers as of mid-2025. Same configuration as Codex:
170
+
171
+ ```jsonc
172
+ // ~/.cursor/mcp.json
173
+ {
174
+ "mcpServers": {
175
+ "figma": {
176
+ "command": "node",
177
+ "args": ["/path/to/figma-mcp-server"],
178
+ "env": {
179
+ "FIGMA_API_KEY": "your-key"
180
+ }
181
+ }
182
+ }
183
+ }
184
+ ```
185
+
186
+ After setup, Cursor can read Figma files via the MCP tools (`figma.get_metadata`, `figma.get_variables`, etc.). See [`docs/FIGMA-INTEGRATION.md`](FIGMA-INTEGRATION.md).
187
+
188
+ ## Common Cursor pitfalls
189
+
190
+ | Pitfall | Fix |
191
+ | --- | --- |
192
+ | Cursor invents component APIs without checking refs/ | Add to `.cursorrules`: "Never invent APIs; always check refs/ant-design, refs/mui, refs/shadcn-ui." |
193
+ | Cursor's chat doesn't preserve PRINCIPLES across turns | Re-prime with `@knowledge/PRINCIPLES.md` per significant task. |
194
+ | Cursor outputs colors without contrast verification | Add explicit rule: "All color outputs include WCAG contrast values for text/UI pairs." |
195
+ | Cursor ignores Korean locale unless prompted | Specify in `.cursorrules`: "Default locale is Korean unless user states otherwise." |
196
+
197
+ ## Worked example
198
+
199
+ **User in Cursor**:
200
+ ```
201
+ @AGENTS.md @knowledge/PRINCIPLES.md @skills/color-palette/PLAYBOOK.md
202
+ Generate a teal-primary palette for a Korean B2C 가계부 app. Light + dark.
203
+ Output for Tailwind v4 + shadcn-ui CSS vars.
204
+ ```
205
+
206
+ **Cursor**:
207
+ 1. Reads the three referenced files.
208
+ 2. Applies color-palette playbook.
209
+ 3. Generates ramp from teal seed (per mood→hue mapping).
210
+ 4. Validates contrast.
211
+ 5. Outputs in requested formats.
212
+ 6. Self-verifies via the playbook's verification phase.
213
+
214
+ ## Cross-reference
215
+
216
+ - [`docs/USING.md`](USING.md) — multi-agent setup overview
217
+ - [`docs/CODEX-INTEGRATION.md`](CODEX-INTEGRATION.md) — Codex CLI deep-dive (similar patterns)
218
+ - [`docs/AIDER-INTEGRATION.md`](AIDER-INTEGRATION.md) — Aider configuration
219
+ - [`docs/FIGMA-INTEGRATION.md`](FIGMA-INTEGRATION.md) — Figma MCP setup
220
+ - [`AGENTS.md`](../AGENTS.md) — universal agent instructions