@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,429 @@
1
+ # AI learning
2
+
3
+ design-ai supports a local learning profile. This is not model training, fine-tuning, or external telemetry. It is explicit local memory that you choose to include in generated prompts; `check --learn` can derive entries from a local QA report only when you run it.
4
+
5
+ ## Scope
6
+
7
+ What ships in v4.54:
8
+
9
+ - `design-ai learn --init` previews starter local learning entries for dogfood use, and `--init --yes` writes them to the selected profile.
10
+ - `design-ai learn --remember ...` stores user or project preferences in a local JSON profile.
11
+ - `design-ai learn --feedback ...` converts outcome feedback into reusable local learning notes.
12
+ - `design-ai check <artifact.md|--stdin> --learn` previews warning/failure QA results as local learning entries, and `--learn --yes` writes them to the selected profile.
13
+ - `design-ai learn --list` shows saved entries, with optional `--category`, `--query`, `--explain`, and `--limit` filters.
14
+ - `design-ai learn --export` prints the Markdown context block used by prompt generation, with the same filters.
15
+ - `design-ai learn --backup` prints a full portable learning-profile backup in JSON mode.
16
+ - `design-ai learn --redact` prints a portable JSON backup with sensitive-looking entry text redacted from the local profile, `--from-file`, or `--stdin`.
17
+ - `design-ai learn --out file` writes JSON result artifacts, `learn --export --out file` writes the Markdown context block, and `learn --curate --report --out file` writes the Markdown curation report, while `--force` controls overwrites.
18
+ - `design-ai learn --verify` validates a portable learning JSON payload without importing it.
19
+ - `design-ai learn --diff --from-file learning.json` compares the active profile against a portable learning JSON payload without importing it, reporting profile-only entries, comparison-only entries, metadata changes, and id conflicts.
20
+ - `design-ai learn --restore --from-file learning-backup.json` previews a full active-profile replacement from a portable backup, and `--restore --yes` applies it only when the source audit has no failures.
21
+ - Confirmed `learn --restore --yes` writes a rollback backup of the previous active profile before replacement; use `--backup-file path` to choose the rollback file.
22
+ - `design-ai learn --restore-backups` lists sibling restore rollback backups for the active profile without mutating the profile.
23
+ - `design-ai learn --restore-backups --prune` previews or applies deleting older sibling restore rollback backups while keeping the newest backups and never mutating the active profile.
24
+ - `design-ai learn --import` merges entries from a JSON learning profile or `learn --export --json` payload.
25
+ - `design-ai learn --audit` inspects profile shape, duplicates, possible sensitive content, and cleanup suggestions without changing the profile.
26
+ - `design-ai learn --audit --fix --dry-run` previews safe cleanup suggestions that can be applied automatically.
27
+ - `design-ai learn --audit --fix --yes` applies only unambiguous safe cleanup suggestions.
28
+ - `design-ai learn --curate` previews archive-first cleanup for duplicate and sensitive learning entries without changing the profile, and includes advisory usage review hints for profile-path mismatch, stale selected ids, and unused active entries when a usage sidecar is available.
29
+ - `design-ai learn --curate --report` emits a Markdown curation report for preview or apply results, and `--out file` writes it as a durable local review artifact.
30
+ - `design-ai learn --curate --yes` moves duplicate/sensitive candidates into a sibling `*.archive.json` file instead of deleting them.
31
+ - `design-ai learn --stats` summarizes profile counts, category/source distribution, recency, and audit status without changing the profile.
32
+ - `design-ai learn --usage` summarizes prompt/pack `--with-learning` usage sidecar events, selected entry counts, unused active entries, and recent usage without changing any files.
33
+ - `design-ai learn --propose-skills` converts repeated check-capture learning signals into preview-only candidate skill instruction deltas without changing `learning.json` or skill files.
34
+ - `design-ai learn --eval-template` generates a runnable learning eval checkpoint JSON from the active profile, optional query, category, and limit.
35
+ - `design-ai learn --eval` validates deterministic learning-selection checkpoints from a JSON file or stdin without changing the profile; add `--strict` to exit non-zero when any checkpoint warns or fails. JSON reports expose checkpoint `generatedAt` plus a sanitized `sourceProfile` summary without raw checkpoint brief or query text.
36
+ - `design-ai workspace` includes the selected learning profile path, entry count, category counts, latest entry, audit status, usage sidecar readiness, eval checkpoint readiness, and canonical repository alignment in a broader read-only dogfood readiness snapshot; add `--learning-usage path` or `--learning-eval path` to include specific artifacts, omit them to auto-detect sibling `learning.usage.json` and `learning-eval.json` files when present, and add `--strict` when warning/failure readiness should fail the command.
37
+ - `design-ai workspace` checks learning usage sidecar readiness when usage metadata is available. If the sidecar points at another profile or references selected entry ids that are no longer present in the active profile, `workspace` emits a warning and suggests `design-ai learn --curate --usage-file ...` so profile audit and usage review are inspected together.
38
+ - When learning curation is recommended, `design-ai workspace` also suggests a companion report artifact command such as `design-ai learn --curate --report --out <learning-file-dir>/learning-curation-report.md`, adding `--usage-file` when usage metadata is part of the readiness warning.
39
+ - `design-ai workspace` checks learning eval checkpoint freshness when metadata is available. If the profile was updated after the checkpoint was generated, the checkpoint came from another profile path, or the source entry count changed, `workspace` emits a warning and suggests regenerating the checkpoint.
40
+ - When a clean learning profile has entries but no checkpoint is available, `design-ai workspace` adds a next-action command for `design-ai learn --eval-template --file <learning.json> --out <learning-file-dir>/learning-eval.json`.
41
+ - `design-ai workspace` automatically detects sibling restore rollback backups such as `learning.restore-backup-*.json`, reports the total/latest backup inventory in JSON as `learningRestoreBackups`, and suggests a preview-first `design-ai learn --restore-backups --prune --keep 5` next action when older backups exceed the default keep count.
42
+ - Workspace next-action commands that include learning profile, usage sidecar, or eval checkpoint paths are shell-quoted, so paths with spaces or apostrophes remain copy/paste safe.
43
+ - Post-publish registry smoke verifies public registry `design-ai workspace --learning-eval learning-eval.json --strict --json` checkpoint summaries, auto-detected learning usage sidecar summaries, public registry `design-ai workspace` workspace restore-backups readiness with restore rollback backup inventory, public registry `design-ai learn --eval-template` checkpoint generation plus generated checkpoint strict validation, public registry JSON `design-ai learn --restore` preview/apply output plus public registry learn restore `--out` file-write confirmation, public registry learn restore rollback backup verification, public registry learn restore `--backup-file` path coverage, public registry `design-ai learn --restore-backups` restore rollback backup inventory coverage, and public registry `design-ai learn --restore-backups --prune` restore rollback backup pruning coverage from the published package path.
44
+ - `design-ai learn --forget ... --yes` removes a single saved entry.
45
+ - `design-ai learn --clear --yes` clears the local profile.
46
+ - `design-ai prompt --with-learning ...` injects learned context into the generated task prompt, ranking entries by current brief relevance before falling back to recency, with optional `--learning-category` and `--learning-limit` scoping plus selection scoring metadata.
47
+ - `design-ai pack --with-learning ...` includes the same brief-relevant learned context in portable prompt packs, with the same optional scoping controls and selection scoring metadata.
48
+ - `prompt --with-learning` and `pack --with-learning` write a local usage sidecar such as `learning.usage.json` with command, route id, selected learning entry ids, selection counts, audit status, and a short brief hash. The sidecar does not store raw brief/query text.
49
+ - Exported and injected learned context carries an audit summary; if the profile has warnings, the generated context includes a notice to run `design-ai learn --audit`.
50
+
51
+ What does not ship:
52
+
53
+ - Model fine-tuning.
54
+ - Private model training on user artifacts.
55
+ - External telemetry or background collection outside explicit local CLI runs.
56
+ - Semantic embedding index generation.
57
+ - Background learning from accepted/rejected recommendations without an explicit CLI command.
58
+
59
+ ## Storage
60
+
61
+ Default path:
62
+
63
+ ```bash
64
+ ~/.design-ai/learning.json
65
+ ```
66
+
67
+ Default usage sidecar path:
68
+
69
+ ```bash
70
+ ~/.design-ai/learning.usage.json
71
+ ```
72
+
73
+ Override path:
74
+
75
+ ```bash
76
+ DESIGN_AI_LEARNING_FILE=/path/to/learning.json design-ai learn --list
77
+ DESIGN_AI_LEARNING_USAGE_FILE=/path/to/learning.usage.json design-ai prompt "audit checkout UX" --with-learning
78
+ design-ai learn --usage --file /path/to/learning.json --usage-file /path/to/learning.usage.json
79
+ ```
80
+
81
+ The profile and usage sidecar are local to the machine. They are not synced, uploaded, or sent to any provider by this CLI.
82
+
83
+ For a broader local readiness check that includes git state, learning audit state, and release-script availability, run:
84
+
85
+ ```bash
86
+ design-ai workspace --json
87
+ design-ai workspace --learning-file ./learning.json
88
+ design-ai workspace --learning-file ./learning.json --learning-usage ./learning.usage.json
89
+ design-ai workspace --learning-file ./learning.json --strict
90
+ design-ai workspace --learning-file ./learning.json --learning-usage ./learning.usage.json --learning-eval ./learning-eval.json --strict
91
+ design-ai workspace --strict
92
+ ```
93
+
94
+ This command is read-only. It does not save learning entries, edit the profile, create commits, push branches, or run release scripts.
95
+
96
+ If the selected learning profile has sibling `learning.usage.json`, `learning-eval.json`, or `learning.restore-backup-*.json` files, `workspace` automatically includes those summaries. Use `--learning-usage path` or `--learning-eval path` only when you want a different sidecar or checkpoint.
97
+
98
+ When usage metadata is available, `workspace` compares it against the selected profile. A usage sidecar becomes a readiness warning when its `profileFile` points at another profile or when its selected entry ids no longer exist in the active profile, and the next actions point to usage-aware curation plus a companion curation Markdown report rather than a separate usage-only report.
99
+
100
+ When checkpoint metadata is available, `workspace` also compares it against the selected profile. A passing checkpoint still becomes a readiness warning when the profile `updatedAt` is newer than checkpoint `generatedAt`, when `sourceProfile.file` does not match the active profile path, or when the recorded source entry count differs from the active profile count.
101
+
102
+ If the selected profile, usage sidecar, report output, or checkpoint path includes spaces or shell-sensitive characters, the suggested `learn --curate --usage-file`, `learn --curate --report --out`, `learn --usage`, `learn --propose-skills`, `learn --eval-template`, and `learn --eval --from-file` commands quote the path in the next action output.
103
+
104
+ If the selected learning profile already contains entries and passes audit, `workspace` suggests an eval-template bootstrap command until a sibling or explicit checkpoint is available:
105
+
106
+ ```bash
107
+ design-ai learn --eval-template --file ./learning.json --out ./learning-eval.json
108
+ design-ai workspace --learning-file ./learning.json --strict
109
+ ```
110
+
111
+ For a durable local AI/agent development handoff, save the read-only signal registry as Markdown:
112
+
113
+ ```bash
114
+ design-ai learn --signals --from-file . --report --out learning-signals.md
115
+ ```
116
+
117
+ The report includes learning audit state, usage sidecar counts, eval signal files, check-capture summaries, workspace readiness, deterministic agent development backlog actions, recommendations, and privacy boundaries. JSON readiness output also includes `requiredCheckIds`, `optionalCheckIds`, `checkStatusById`, and `checkRequiredById` so local automation can branch on a specific readiness check without scanning the full `checks` array. It does not mutate `learning.json`, usage sidecars, eval files, skill files, or target repositories.
118
+
119
+ If sibling restore rollback backups are present, `workspace` remains read-only and only reports the inventory. When more than five backups exist, the next action points to a dry-run-safe prune command:
120
+
121
+ ```bash
122
+ design-ai learn --restore-backups --file ./learning.json --prune --keep 5
123
+ ```
124
+
125
+ ## Usage
126
+
127
+ Bootstrap a starter profile:
128
+
129
+ ```bash
130
+ design-ai learn --init
131
+ design-ai learn --init --yes
132
+ design-ai learn --init --yes --json
133
+ ```
134
+
135
+ `learn --init` is preview-first and does not mutate the profile. Add `--yes` to save deterministic starter entries for recommendation style, implementation workflow, accessibility, Korean UX, brand language, and local data boundaries. Existing `category + normalized text` duplicates are skipped and reported, so re-running the command is safe.
136
+
137
+ Remember a preference:
138
+
139
+ ```bash
140
+ design-ai learn --remember "Prefer dense Korean product UI with restrained enterprise styling" --category korean
141
+ ```
142
+
143
+ Record outcome feedback:
144
+
145
+ ```bash
146
+ design-ai learn --feedback "Keep audit findings short and evidence-led" --outcome keep
147
+ design-ai learn --feedback "Avoid decorative marketing language in enterprise dashboards" --outcome avoid --category brand
148
+ design-ai learn --feedback --from-file feedback.md --outcome improve --category workflow
149
+ cat feedback.md | design-ai learn --feedback --stdin --outcome avoid --category brand
150
+ ```
151
+
152
+ Feedback is explicit local memory. `--outcome keep` stores a "repeat this" instruction, `--outcome improve` stores an "improve future outputs by..." instruction, and `--outcome avoid` stores an "avoid this" instruction. The default feedback category is `workflow`; use `--category` when feedback belongs to brand, accessibility, Korean-market behavior, or another scoped area. Use `--from-file` or `--stdin` when the reviewed-output note is too long or already saved in another tool.
153
+
154
+ Capture artifact QA feedback:
155
+
156
+ ```bash
157
+ design-ai check output.md --learn
158
+ design-ai check output.md --learn --yes
159
+ cat output.md | design-ai check --stdin --learn --yes --learning-file ./learning.json --json
160
+ ```
161
+
162
+ `check --learn` is a preview and does not mutate the profile. Add `--yes` to save only warning/failure check results. The capture keeps the existing learning entry shape (`id`, `category`, `text`, `source`, `createdAt`), records source as `check:<routeId>` or `check:artifact`, maps keyboard/screen-reader findings to `accessibility`, Korean-context findings to `korean`, and all remaining check findings to `workflow`. Duplicate category+normalized text pairs are skipped and reported.
163
+
164
+ List saved preferences:
165
+
166
+ ```bash
167
+ design-ai learn --list
168
+ design-ai learn --list --json
169
+ design-ai learn --list --category korean --limit 5
170
+ design-ai learn --list --query "keyboard accessibility" --explain --json
171
+ ```
172
+
173
+ Export the learned context block:
174
+
175
+ ```bash
176
+ design-ai learn --export
177
+ design-ai learn --export --category accessibility --limit 3
178
+ design-ai learn --export --query "pricing page" --limit 3
179
+ design-ai learn --export --out learned-context.md
180
+ ```
181
+
182
+ `--query` filters list/export output to entries whose category or text matches the query tokens. Unlike prompt/pack learning injection, query-filtered list/export does not fill remaining limit slots with recency fallback entries, so it is safe for profile inspection. Add `--explain` to `learn --list` when you need the selection score, matched tokens, and reason for each listed entry; JSON output includes the same selection metadata shape used by prompt/pack learning context. The exported block includes profile audit metadata in JSON mode. Human Markdown stays compact when the profile passes audit, and includes a warning notice when the profile has audit warnings. `--out` writes the Markdown block for `--export`, and refuses to overwrite an existing file unless `--force` is provided.
183
+
184
+ Back up the full local profile:
185
+
186
+ ```bash
187
+ design-ai learn --backup --json --out learning-backup.json
188
+ ```
189
+
190
+ Backup JSON includes all normalized entries, the source profile path, profile metadata, an `exportedAt` timestamp, and the current audit summary. The payload keeps an `entries` array, so it can be reviewed and then restored or imported on another machine with `design-ai learn --restore` or `design-ai learn --import`. `--out` uses the same safe file-write rules as `prompt` and `pack`: existing files are rejected unless you add `--force`.
191
+
192
+ Create a redacted portable profile before sharing:
193
+
194
+ ```bash
195
+ design-ai learn --redact --json --out learning-redacted.json
196
+ design-ai learn --redact --from-file learning-backup.json --json --out learning-redacted.json --force
197
+ cat learning-backup.json | design-ai learn --redact --stdin --json --out learning-redacted.json --force
198
+ ```
199
+
200
+ Redacted JSON keeps the same importable `entries` shape as a backup, but replaces conservative sensitive-content matches with `[REDACTED:<code>]` markers and includes `redactions`, `sourceAuditSummary`, and post-redaction `auditSummary` fields. It is read-only and does not change the source profile or source portable payload.
201
+
202
+ Verify a portable learning payload before importing:
203
+
204
+ ```bash
205
+ design-ai learn --verify --from-file learning-backup.json
206
+ cat learning-backup.json | design-ai learn --verify --stdin --json
207
+ ```
208
+
209
+ Verify mode parses the same `entries` payload accepted by import, normalizes imported entry metadata, and reports audit warnings such as duplicate ids or sensitive-looking text. It never reads or writes the target local profile.
210
+
211
+ Compare a portable learning payload against the active profile:
212
+
213
+ ```bash
214
+ design-ai learn --diff --from-file learning-backup.json
215
+ design-ai learn --diff --from-file learning-backup.json --json --out learning-diff.json
216
+ cat learning-backup.json | design-ai learn --diff --stdin --json
217
+ ```
218
+
219
+ Diff mode is read-only. It compares the active profile with a portable profile by category plus normalized text, then reports profile-only entries, comparison-only entries, metadata changes for matching notes, and id conflicts where the same id points at different learning text.
220
+
221
+ Restore the active profile from a portable backup:
222
+
223
+ ```bash
224
+ design-ai learn --backup --json --out learning-backup.json
225
+ design-ai learn --verify --from-file learning-backup.json
226
+ design-ai learn --diff --from-file learning-backup.json --json
227
+ design-ai learn --restore --from-file learning-backup.json
228
+ design-ai learn --restore --from-file learning-backup.json --yes --json
229
+ design-ai learn --restore --from-file learning-backup.json --yes --backup-file learning-before-restore.json
230
+ design-ai learn --restore-backups
231
+ design-ai learn --restore-backups --json --out restore-backups.json
232
+ design-ai learn --restore-backups --prune --keep 5
233
+ design-ai learn --restore-backups --prune --keep 5 --yes
234
+ cat learning-backup.json | design-ai learn --restore --stdin --yes
235
+ ```
236
+
237
+ Restore is preview-first and replaces the active profile only when `--yes` is present. It requires `--from-file` or `--stdin`, rejects `--dry-run` combined with `--yes`, and refuses to apply a source payload whose audit has failures. Confirmed apply writes the previous active profile to a rollback backup before the replacement. The default rollback path is a sibling timestamped file such as `learning.restore-backup-20260602T010203000Z.json`; pass `--backup-file path` to choose a specific file. Existing explicit rollback files require `--force`, and the rollback path cannot be the active profile or restore source. JSON output reports the target file, dry-run/apply state, restorable state, rollback `backupFile`, `backupCreated`, `backupEntryCount`, rollback preview command, previous/restored counts, removed/added counts, same-text count, metadata changes, id conflicts, audit summary, diff details, and privacy metadata. Use restore when the backup should become the complete active profile; use import when you only want to merge new entries while keeping the existing profile.
238
+
239
+ `learn --restore-backups` is read-only. It searches for sibling files matching `learning.restore-backup-*.json`, reports the latest backups first, audits each backup file, and prints a restore dry-run preview command for each candidate. Use this when you need to find the automatic rollback file from a previous confirmed restore before deciding whether to preview or apply a rollback.
240
+
241
+ `learn --restore-backups --prune` is preview-first. It keeps the newest rollback backups, reports older backup files that would be deleted, and deletes those older backup files only when `--yes` is present. It never changes the active `learning.json` profile.
242
+
243
+ Import a portable learning profile:
244
+
245
+ ```bash
246
+ design-ai learn --backup --json --out learning-backup.json
247
+ design-ai learn --redact --json --out learning-redacted.json
248
+ design-ai learn --redact --from-file learning-backup.json --json --out learning-redacted.json --force
249
+ design-ai learn --verify --from-file learning-backup.json
250
+ design-ai learn --diff --from-file learning-backup.json --json
251
+ design-ai learn --import --from-file learning-backup.json --dry-run
252
+ cat learning-backup.json | design-ai learn --import --stdin --yes
253
+ ```
254
+
255
+ Import accepts JSON objects with an `entries` array, including full local profile files and `learn --export --json` output. `--dry-run` previews added and skipped entries without mutating the target profile. Confirmed import requires `--yes`, skips duplicate category+text pairs, preserves imported timestamps when valid, marks imported sources with `import:`, and remints ids only when an imported id conflicts with an existing entry.
256
+
257
+ Audit the local profile before using it in prompts:
258
+
259
+ ```bash
260
+ design-ai learn --audit
261
+ design-ai learn --audit --json
262
+ design-ai learn --audit --fix --dry-run
263
+ design-ai learn --audit --fix --yes
264
+ design-ai learn --curate
265
+ design-ai learn --curate --usage-file ./learning.usage.json
266
+ design-ai learn --curate --report --out learning-curation-report.md
267
+ design-ai learn --curate --yes --json
268
+ ```
269
+
270
+ The plain audit is advisory and non-mutating. It reports invalid JSON/profile shape failures plus warnings for duplicate entries, missing timestamps, long notes, and conservative sensitive-content patterns such as secret-like assignments, private key blocks, email addresses, and Korean mobile phone numbers. JSON output includes `suggestions`; human output adds a Suggested cleanup section with safe `design-ai learn --file ... --forget ... --yes` commands only when id-based deletion is unambiguous.
271
+
272
+ `--audit --fix --dry-run` turns those safe suggestions into a cleanup plan without changing the file. `--audit --fix --yes` removes only entries that have stable, unambiguous ids and skips anything that still needs manual review, such as invalid JSON, duplicate ids, malformed entries, or warnings without a safe target.
273
+
274
+ `--curate` is the safer Hermes-inspired path for normal profile maintenance. It previews curation proposals by default, classifies duplicate text and conservative sensitive-content warnings as archive candidates, and leaves timestamp, long-note, malformed-entry, duplicate-id, or profile-level failures for manual review. When a default or explicit `--usage-file` sidecar is available, the same preview adds a usage review section for sidecars recorded against a different profile path, stale selected ids, and active entries that have not appeared in recorded prompt/pack usage. Usage review is advisory only: `autoArchive` stays `false`, and unused or mismatched usage signals never archive entries by themselves. Add `--report` when you need a Markdown audit trail with profile/archive paths, before/after summaries, archive candidates, manual review items, usage review, privacy notes, and next steps; `--curate --report --out file` writes that report without requiring `--json`. Confirmed `--curate --yes` rewrites the active `learning.json` with duplicate/sensitive archive candidates removed and appends their full entries plus `archivedAt`, `archiveReason`, `issueCodes`, and `originalFile` metadata to a sibling archive file such as `learning.archive.json`. No archive file is written during preview.
275
+
276
+ Summarize profile health and recency:
277
+
278
+ ```bash
279
+ design-ai learn --stats
280
+ design-ai learn --stats --json
281
+ ```
282
+
283
+ Stats mode is also read-only. It is a compact overview for deciding whether to inspect, filter, or clean up the profile before using `--with-learning`.
284
+
285
+ Summarize usage sidecar activity:
286
+
287
+ ```bash
288
+ design-ai learn --usage
289
+ design-ai learn --usage --json
290
+ design-ai learn --usage --limit 5 --usage-file ./learning.usage.json
291
+ ```
292
+
293
+ Usage mode is read-only. It reports event count, command/route/category distribution, entry ids selected by `prompt` and `pack`, active profile entries that have not been used yet, stale selected ids no longer present in the active profile, and recent events. It preserves the privacy boundary from the sidecar: selected entry ids and short brief hashes are shown, but raw prompt or query text is not stored or reported.
294
+
295
+ Preview skill evolution proposals:
296
+
297
+ ```bash
298
+ design-ai learn --propose-skills
299
+ design-ai learn --propose-skills --from-file . --json
300
+ design-ai learn --propose-skills --from-file . --min-evidence 3 --json
301
+ design-ai learn --propose-skills --from-file . --review-file skill-proposals.review.json --strict --json
302
+ design-ai learn --propose-skills --from-file . --review-template --out skill-proposals.review.json
303
+ design-ai learn --propose-skills --from-file . --patch --out skill-proposals.patch
304
+ design-ai learn --propose-skills --from-file route-eval-report.json --usage-file ./learning.usage.json --json --out skill-proposals.json
305
+ ```
306
+
307
+ Skill proposal mode is read-only. It scans active learning entries whose `source` starts with `check:`, groups repeated check-capture signals by candidate skill and category, and emits proposal records with `candidateSkillPath`, `evidenceSources`, `proposedInstructionDelta`, `verificationCommand`, and `riskLevel`. Single-entry groups are reported as skipped until enough repeated evidence exists. Use `--min-evidence N` when a project needs stricter review before skill edits, or a lower local threshold for early dogfood review. Use `--review-template --out skill-proposals.review.json` to scaffold a JSON decision file for current unresolved proposals; generated decisions default to `deferred` so the gate stays pending until an operator deliberately changes a decision to `applied` or `rejected`. Use `--review-file skill-proposals.review.json` to join manual decisions without changing that file; proposal decisions with `status: "applied"` or `status: "rejected"` clear the proposal review gate, while `accepted` and `deferred` remain pending. Use `--patch --out skill-proposals.patch` when an operator wants a unified diff handoff for unresolved proposals before editing any skill file. The command is deliberately preview-only: `--yes` is rejected, `learning.json` is not changed, `skills/*/SKILL.md` is not edited, the review file is not changed unless the operator explicitly writes a separate `--review-template --out` artifact, and no external AI API is called.
308
+
309
+ Minimal review file:
310
+
311
+ ```json
312
+ {
313
+ "version": 1,
314
+ "decisions": [
315
+ {
316
+ "proposalId": "skill-proposal-website-improvement-abc123",
317
+ "status": "applied",
318
+ "reviewedAt": "2026-06-11T00:00:00.000Z",
319
+ "reviewer": "local-operator",
320
+ "note": "Instruction delta manually applied and verified."
321
+ }
322
+ ]
323
+ }
324
+ ```
325
+
326
+ Evaluate learning-selection checkpoints:
327
+
328
+ ```bash
329
+ design-ai learn --eval-template --query "Spec a Button component API with keyboard accessibility" --category accessibility --out learning-eval.json
330
+ cat > learning-eval.json <<'JSON'
331
+ {
332
+ "version": 1,
333
+ "cases": [
334
+ {
335
+ "id": "button-accessibility",
336
+ "routeId": "component-spec",
337
+ "brief": "Spec a Button component API with keyboard accessibility",
338
+ "category": "accessibility",
339
+ "limit": 1,
340
+ "expectedSelectedIds": ["learn-relevant"],
341
+ "avoidedSelectedIds": ["learn-brand"],
342
+ "minMatchedCount": 1,
343
+ "requireNoFallback": true
344
+ }
345
+ ]
346
+ }
347
+ JSON
348
+ design-ai learn --eval --from-file learning-eval.json --strict --json
349
+ cat learning-eval.json | design-ai learn --eval --stdin --category accessibility --limit 1
350
+ design-ai learn --eval --from-file learning-eval.json --json --out learning-eval-report.json
351
+ ```
352
+
353
+ `learn --eval-template` is read-only and writes a checkpoint file that can be passed directly to `learn --eval`; checkpoint templates intentionally store raw `brief` text so they can be re-run locally, so review them before sharing. Eval mode is also read-only. It compares checkpoint cases against the same brief-relevance selection used by `prompt --with-learning` and `pack --with-learning`, then reports expected selected ids, avoided selected ids, minimum matched counts, fallback policy failures, and per-case status. JSON and human eval reports expose a short `briefHash`, selected entry ids, counts, and issues; they do not expose raw brief/query text or matched tokens. `--out` writes only the eval report artifact and follows the normal overwrite protection unless `--force` is provided.
354
+ Add `--strict` when the eval report should act as a local CI or release gate: the report is printed or written first, then the command exits non-zero if any case warns or fails.
355
+
356
+ Remove one saved entry:
357
+
358
+ ```bash
359
+ design-ai learn --forget learn-abc123def0 --yes
360
+ design-ai learn --forget 2 --yes
361
+ ```
362
+
363
+ Clear every saved entry:
364
+
365
+ ```bash
366
+ design-ai learn --clear --yes
367
+ ```
368
+
369
+ Use learned context in a prompt:
370
+
371
+ ```bash
372
+ design-ai prompt "Audit this checkout UX" --with-learning
373
+ design-ai prompt "Audit this checkout UX" --with-learning --learning-category korean --learning-limit 5
374
+ ```
375
+
376
+ When `--with-learning` is used, generated prompt plans include the same audit summary as `learn --export --json`. The selected entries are ranked against the prompt brief first, then recency is used for ties or unmatched fallback entries. JSON output includes `selection.selected[]` with each selected entry's `id`, `category`, relevance `score`, `matchedTokens`, and `reason` (`brief-match`, `recency-fallback`, or `recency`). Prompt and pack JSON also include `learningUsage`, and the CLI writes a local sidecar event that records selected entry ids and a short brief hash, not raw brief text. The learned-context block includes a compact selection note, and if the local profile has audit warnings, it tells the receiving agent to run `design-ai learn --audit` before relying on that context.
377
+
378
+ Use learned context in a prompt pack:
379
+
380
+ ```bash
381
+ design-ai pack "Spec a pricing page for Korean SaaS" --with-learning --max-bytes 80000
382
+ design-ai pack "Spec a pricing page for Korean SaaS" --with-learning --learning-category brand --learning-limit 3 --max-bytes 80000
383
+ ```
384
+
385
+ ## Categories
386
+
387
+ Use categories to make learned context scannable:
388
+
389
+ | Category | Use for |
390
+ |---|---|
391
+ | `preference` | General design taste or output preference |
392
+ | `brand` | Brand voice, visual language, tone |
393
+ | `workflow` | Team process, handoff, review norms |
394
+ | `constraint` | Business, legal, product, or platform constraints |
395
+ | `accessibility` | Accessibility preferences that exceed the baseline |
396
+ | `korean` | Korean market, language, typography, or platform conventions |
397
+ | `other` | Anything that does not fit the above |
398
+
399
+ ## Safety rules
400
+
401
+ Learning entries are treated as preferences, not absolute instructions. They must not override:
402
+
403
+ - Explicit task instructions.
404
+ - Accessibility requirements.
405
+ - Privacy constraints.
406
+ - Legal or policy constraints.
407
+ - Checked knowledge files and route playbooks.
408
+
409
+ Use `--with-learning` only when saved context should influence the current task. The CLI prioritizes entries whose category/text match the current brief, then falls back to recent entries when the limit still has room. Inspect `learningContext.selection` in `--json` output when you need to confirm whether an entry was selected by brief match or recency fallback. Add `--learning-category <kind>` and `--learning-limit <N>` when only one category or a small subset should influence the prompt. Use `design-ai learn --list --query <text> --explain` or `design-ai learn --export --query <text>` when you want to inspect matching local preferences without recency fallback.
410
+
411
+ Run `design-ai learn --audit` before exporting or injecting a profile that may contain copied project notes, credentials, contact details, or stale entries. Follow the Suggested cleanup section when it recommends removal; rewrite and re-add entries when the issue is sensitive content or an overlong note that still contains useful preference signal.
412
+
413
+ Use `design-ai learn --stats` when you need a quick read on profile size, category distribution, source distribution, latest entry, and audit status before deciding whether to run a detailed audit.
414
+
415
+ Use `design-ai learn --feedback` only for durable preferences you want future prompts to see. Do not store one-off task corrections, private project facts, credentials, contact details, or unresolved critique as feedback entries.
416
+
417
+ Use `design-ai learn --verify --from-file` before reviewing or applying a profile from another machine or repository. It confirms the payload is importable without touching your current local profile.
418
+
419
+ Use `design-ai learn --diff --from-file` after verification when you need to understand what would be new, missing, or metadata-changed before deciding whether to import or restore a portable profile.
420
+
421
+ Use `design-ai learn --redact --json --out learning-redacted.json` before sending a local learning profile to another person, repository, or support channel. If you already have a portable backup artifact, use `design-ai learn --redact --from-file learning-backup.json --json --out learning-redacted.json --force` or pipe it through `design-ai learn --redact --stdin --json --out learning-redacted.json --force` so the original artifact remains unchanged. Review the resulting `redactions` list and then run `design-ai learn --verify --from-file learning-redacted.json` if the redacted profile will be imported elsewhere.
422
+
423
+ Use `design-ai learn --import --dry-run` before applying a profile from another machine or repository. Audit the source first when it may include copied project notes, credentials, contact details, or stale entries.
424
+
425
+ Use `design-ai learn --backup --json --out learning-backup.json` before major cleanup or machine migration when you need a complete local copy. Unlike `learn --export`, backup is not limited to the default prompt-context subset, and `--out` avoids accidental shell redirection overwrites unless `--force` is explicit.
426
+
427
+ Treat any learned-context audit warning as a review prompt, not as permission to include risky data. Remove, rewrite, or scope entries before using `--with-learning` when audit warnings are not expected. Use `--audit --fix --dry-run` first when you want to see which entries can be cleaned automatically.
428
+
429
+ Deletion actions and confirmed import require `--yes` because they mutate the local profile. Use `--list` first when you need the exact id or list number.
@@ -0,0 +1,224 @@
1
+ # Aider integration
2
+
3
+ How to use design-ai with **Aider** (terminal-based AI pair programmer, supports Claude/GPT models).
4
+
5
+ > **Looking for a worked example?** See [`docs/integrations/aider-walkthrough.md`](integrations/aider-walkthrough.md) — concrete sessions for component implementation, refactoring, design system bootstrap, and audit-then-fix workflows. Includes architect-mode, auto-test, and bash alias patterns.
6
+
7
+ ## Quickstart
8
+
9
+ Aider's `--read` flag adds files as read-only context. Pass design-ai entry docs at startup:
10
+
11
+ ```bash
12
+ cd /path/to/your/project
13
+
14
+ aider \
15
+ --read /path/to/design-ai/AGENTS.md \
16
+ --read /path/to/design-ai/knowledge/PRINCIPLES.md \
17
+ --message "Generate a fintech color palette for a Korean B2C app"
18
+ ```
19
+
20
+ Aider primes itself with the design-ai context, then handles the task in your project.
21
+
22
+ ## Configuration via `.aider.conf.yml`
23
+
24
+ For repeated use, configure at the project level:
25
+
26
+ ```yaml
27
+ # .aider.conf.yml — in your consuming project's root
28
+
29
+ read:
30
+ - /path/to/design-ai/AGENTS.md
31
+ - /path/to/design-ai/knowledge/PRINCIPLES.md
32
+ - /path/to/design-ai/knowledge/a11y/contrast.md
33
+ - /path/to/design-ai/knowledge/a11y/keyboard-and-focus.md
34
+ - /path/to/design-ai/knowledge/i18n/korean-typography.md # if Korean
35
+ - /path/to/design-ai/knowledge/i18n/korean-product-conventions.md
36
+
37
+ # Read-only references — Aider won't try to edit them
38
+ auto-commits: false # safer for design-ai docs
39
+ edit-format: diff # cleaner for design system files
40
+
41
+ # Map to your model preference
42
+ model: claude-3-5-sonnet
43
+ ```
44
+
45
+ Now `aider` in this project auto-loads design-ai context.
46
+
47
+ ## Per-task context loading
48
+
49
+ For specific tasks, pair the entry docs with the relevant skill playbook:
50
+
51
+ ```bash
52
+ # Color palette
53
+ aider \
54
+ --read /path/to/design-ai/AGENTS.md \
55
+ --read /path/to/design-ai/knowledge/PRINCIPLES.md \
56
+ --read /path/to/design-ai/skills/color-palette/PLAYBOOK.md \
57
+ --read /path/to/design-ai/knowledge/colors/color-theory.md \
58
+ --read /path/to/design-ai/knowledge/colors/palettes-by-product-type.md \
59
+ --message "Apply color-palette skill to: B2C fintech, Korean, teal seed"
60
+
61
+ # Component spec
62
+ aider \
63
+ --read /path/to/design-ai/AGENTS.md \
64
+ --read /path/to/design-ai/skills/component-spec-writer/PLAYBOOK.md \
65
+ --read /path/to/design-ai/knowledge/components/INDEX.md \
66
+ --read /path/to/design-ai/examples/component-button.md \
67
+ --message "Spec a custom RadioCard component"
68
+
69
+ # UX audit
70
+ aider \
71
+ --read /path/to/design-ai/AGENTS.md \
72
+ --read /path/to/design-ai/skills/ux-audit/PLAYBOOK.md \
73
+ --read /path/to/design-ai/knowledge/patterns/ux-guidelines.md \
74
+ --message "Audit src/screens/Checkout.tsx"
75
+ ```
76
+
77
+ Aider opens with full context, then operates on your project files.
78
+
79
+ ## Per-skill scripts
80
+
81
+ Save shell aliases for common tasks:
82
+
83
+ ```bash
84
+ # In ~/.bashrc or ~/.zshrc
85
+
86
+ DESIGN_AI=/path/to/design-ai
87
+
88
+ # Palette generation
89
+ alias design-palette='aider \
90
+ --read $DESIGN_AI/AGENTS.md \
91
+ --read $DESIGN_AI/knowledge/PRINCIPLES.md \
92
+ --read $DESIGN_AI/skills/color-palette/PLAYBOOK.md \
93
+ --read $DESIGN_AI/knowledge/colors/color-theory.md'
94
+
95
+ # Component spec
96
+ alias design-spec='aider \
97
+ --read $DESIGN_AI/AGENTS.md \
98
+ --read $DESIGN_AI/skills/component-spec-writer/PLAYBOOK.md \
99
+ --read $DESIGN_AI/knowledge/components/INDEX.md'
100
+
101
+ # UX audit
102
+ alias design-audit='aider \
103
+ --read $DESIGN_AI/AGENTS.md \
104
+ --read $DESIGN_AI/skills/ux-audit/PLAYBOOK.md \
105
+ --read $DESIGN_AI/knowledge/patterns/ux-guidelines.md \
106
+ --read $DESIGN_AI/knowledge/a11y/contrast.md'
107
+
108
+ # QA audit
109
+ alias design-qa='aider \
110
+ --read $DESIGN_AI/AGENTS.md \
111
+ --read $DESIGN_AI/skills/design-system-qa/PLAYBOOK.md \
112
+ --read $DESIGN_AI/knowledge/patterns/design-system-qa.md'
113
+ ```
114
+
115
+ Then:
116
+
117
+ ```bash
118
+ cd my-project
119
+ design-palette "fintech B2C, teal seed, Korean"
120
+ ```
121
+
122
+ ## Aider-specific features
123
+
124
+ ### `/read` and `/drop` mid-conversation
125
+
126
+ Aider lets you add/remove read-only files mid-conversation:
127
+
128
+ ```
129
+ > /read /path/to/design-ai/knowledge/i18n/korean-payments.md
130
+
131
+ OK, now I'll consider Korean payment patterns in suggestions.
132
+
133
+ > Apply that to checkout flow
134
+
135
+ [Aider produces output citing the Korean payment file]
136
+
137
+ > /drop /path/to/design-ai/knowledge/i18n/korean-payments.md
138
+ ```
139
+
140
+ This keeps the context lean — only load what you need for the current step.
141
+
142
+ ### Repo map
143
+
144
+ Aider auto-builds a repo map of your project. To include design-ai in the map, either symlink it as a folder OR keep it separate and use `--read` for explicit loading.
145
+
146
+ For most workflows: keep design-ai separate; load specific files via `--read` per task.
147
+
148
+ ### Model routing
149
+
150
+ Aider supports multiple models per task:
151
+
152
+ ```bash
153
+ aider --model claude-3-5-sonnet # heavy design tasks
154
+ aider --model haiku # quick edits
155
+ ```
156
+
157
+ For design-ai tasks: prefer Sonnet/Opus. Haiku may miss the citation discipline.
158
+
159
+ ## Aider workflow patterns
160
+
161
+ ### Pattern A: Apply skill + edit code
162
+
163
+ ```bash
164
+ cd my-project
165
+
166
+ aider \
167
+ --read /path/to/design-ai/AGENTS.md \
168
+ --read /path/to/design-ai/skills/component-spec-writer/PLAYBOOK.md \
169
+ --read /path/to/design-ai/examples/component-button.md \
170
+ src/components/Button/Button.tsx
171
+
172
+ # Now in Aider:
173
+ > "Refactor src/components/Button/Button.tsx to match the spec.
174
+ > Include all variants and states from the spec."
175
+ ```
176
+
177
+ Aider edits Button.tsx per the spec, with design-ai's discipline.
178
+
179
+ ### Pattern B: Generate spec, then implement
180
+
181
+ ```bash
182
+ # Step 1: Generate the spec
183
+ aider \
184
+ --read /path/to/design-ai/AGENTS.md \
185
+ --read /path/to/design-ai/skills/component-spec-writer/PLAYBOOK.md \
186
+ --message "Spec a Toast component for our React + Tailwind project. Save to docs/component-toast.md."
187
+
188
+ # Step 2: Implement against the spec
189
+ aider \
190
+ --read docs/component-toast.md \
191
+ --message "Implement Toast in src/components/Toast/Toast.tsx per the spec."
192
+ ```
193
+
194
+ Two passes; spec is the contract between them.
195
+
196
+ ### Pattern C: Apply iterate command
197
+
198
+ ```bash
199
+ aider \
200
+ --read /path/to/design-ai/commands/iterate.md \
201
+ --read examples/palette-saas-violet.md \
202
+ --message "Apply iterate to palette-saas-violet with critique:
203
+ Primary feels too saturated. Add a tertiary text color. Increase
204
+ focus-ring contrast on light bg."
205
+ ```
206
+
207
+ Aider applies the change + outputs a changelog.
208
+
209
+ ## Common pitfalls
210
+
211
+ | Pitfall | Fix |
212
+ | --- | --- |
213
+ | Aider tries to edit design-ai files | Load with `--read` (read-only). Aider won't suggest edits to read-only files. |
214
+ | Aider's repo map crowds context | Disable repo map for design-tasks: `--map-tokens 0`. |
215
+ | Aider invents APIs without checking refs/ | Pass relevant `examples/component-*.md` and `refs/` paths explicitly. |
216
+ | Aider's diff output is hard to read for design specs | Use `--edit-format whole` for design-ai output (full file replacement is clearer for spec docs). |
217
+
218
+ ## Cross-reference
219
+
220
+ - [`docs/USING.md`](USING.md) — multi-agent setup overview
221
+ - [`docs/CODEX-INTEGRATION.md`](CODEX-INTEGRATION.md) — Codex CLI deep-dive
222
+ - [`docs/CURSOR-INTEGRATION.md`](CURSOR-INTEGRATION.md) — Cursor IDE setup
223
+ - [`AGENTS.md`](../AGENTS.md) — universal agent instructions
224
+ - [`knowledge/PRINCIPLES.md`](../knowledge/PRINCIPLES.md) — agent priming