@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.
- package/.claude-plugin/plugin.json +164 -0
- package/AGENTS.ko.md +126 -0
- package/AGENTS.md +182 -0
- package/CHANGELOG.md +6883 -0
- package/CLAUDE.md +39 -0
- package/LICENSE +21 -0
- package/README.ko.md +245 -0
- package/README.md +277 -0
- package/agents/README.md +14 -0
- package/agents/a11y-reviewer.md +121 -0
- package/agents/component-architect.md +57 -0
- package/agents/design-critic.md +46 -0
- package/agents/token-extractor.md +63 -0
- package/cli/bin/design-ai-mcp.mjs +6 -0
- package/cli/bin/design-ai.mjs +40 -0
- package/cli/commands/audit.mjs +111 -0
- package/cli/commands/check.mjs +226 -0
- package/cli/commands/doctor.mjs +141 -0
- package/cli/commands/examples.mjs +58 -0
- package/cli/commands/help.mjs +271 -0
- package/cli/commands/install.mjs +161 -0
- package/cli/commands/learn.mjs +1871 -0
- package/cli/commands/list.mjs +143 -0
- package/cli/commands/mcp.mjs +27 -0
- package/cli/commands/pack.mjs +211 -0
- package/cli/commands/prompt.mjs +199 -0
- package/cli/commands/route.mjs +247 -0
- package/cli/commands/search.mjs +60 -0
- package/cli/commands/show.mjs +52 -0
- package/cli/commands/site.mjs +558 -0
- package/cli/commands/status.mjs +161 -0
- package/cli/commands/uninstall.mjs +119 -0
- package/cli/commands/update.mjs +184 -0
- package/cli/commands/version.mjs +94 -0
- package/cli/commands/workspace.mjs +176 -0
- package/cli/lib/brief.mjs +52 -0
- package/cli/lib/check.mjs +642 -0
- package/cli/lib/dispatch.mjs +109 -0
- package/cli/lib/doctor.mjs +505 -0
- package/cli/lib/examples.mjs +258 -0
- package/cli/lib/exec.mjs +63 -0
- package/cli/lib/help-flags.mjs +5 -0
- package/cli/lib/learn.mjs +3694 -0
- package/cli/lib/log.mjs +47 -0
- package/cli/lib/mcp-server.mjs +426 -0
- package/cli/lib/output.mjs +101 -0
- package/cli/lib/pack.mjs +599 -0
- package/cli/lib/paths.mjs +63 -0
- package/cli/lib/prompt.mjs +603 -0
- package/cli/lib/route.mjs +740 -0
- package/cli/lib/search.mjs +158 -0
- package/cli/lib/show.mjs +161 -0
- package/cli/lib/signals.mjs +2337 -0
- package/cli/lib/site.mjs +6617 -0
- package/cli/lib/skill-proposals.mjs +2046 -0
- package/cli/lib/suggest.mjs +66 -0
- package/cli/lib/workspace.mjs +1056 -0
- package/commands/README.md +25 -0
- package/commands/component-spec.md +34 -0
- package/commands/conversational.md +44 -0
- package/commands/design-from-brief.md +141 -0
- package/commands/design-review.md +62 -0
- package/commands/document-from-brief.md +47 -0
- package/commands/extract-tokens.md +38 -0
- package/commands/game-ui.md +40 -0
- package/commands/illustration.md +37 -0
- package/commands/iterate.md +167 -0
- package/commands/motion-design.md +54 -0
- package/commands/palette-from-brand.md +50 -0
- package/commands/print.md +49 -0
- package/commands/slide-deck.md +46 -0
- package/commands/spatial.md +47 -0
- package/commands/stability-review.md +74 -0
- package/commands/video.md +42 -0
- package/commands/website-improvement.md +77 -0
- package/docs/AGENT-DEVELOPMENT.md +658 -0
- package/docs/AI-LEARNING.md +429 -0
- package/docs/AIDER-INTEGRATION.md +224 -0
- package/docs/ARCHITECTURE.ko.md +183 -0
- package/docs/ARCHITECTURE.md +105 -0
- package/docs/CODEX-INTEGRATION.md +311 -0
- package/docs/COMPANY-WEBSITE-DOGFOOD.ko.md +144 -0
- package/docs/COMPANY-WEBSITE-DOGFOOD.md +150 -0
- package/docs/COMPANY-WEBSITE-INTAKE-TEMPLATE.ko.md +153 -0
- package/docs/COMPANY-WEBSITE-INTAKE-TEMPLATE.md +154 -0
- package/docs/CONTRIBUTING.ko.md +203 -0
- package/docs/CONTRIBUTING.md +242 -0
- package/docs/CURSOR-INTEGRATION.md +220 -0
- package/docs/DISTRIBUTION.ko.md +248 -0
- package/docs/DISTRIBUTION.md +253 -0
- package/docs/DOGFOOD-FINDINGS.md +180 -0
- package/docs/DOGFOOD-V4-FINDINGS.md +139 -0
- package/docs/DOGFOOD-V4-MKDOCS-FINDINGS.md +233 -0
- package/docs/DOGFOOD-V4-NPM-FINDINGS.md +157 -0
- package/docs/DOGFOOD-V4-VSCODE-FINDINGS.md +135 -0
- package/docs/FIGMA-INTEGRATION.md +222 -0
- package/docs/MCP-INTEGRATION.md +243 -0
- package/docs/MIGRATION-v4.md +121 -0
- package/docs/PLUGIN-PACKAGING.md +240 -0
- package/docs/PRODUCT-READINESS.md +66 -0
- package/docs/QUICKSTART.ko.md +178 -0
- package/docs/QUICKSTART.md +179 -0
- package/docs/RELEASE-CHECKLIST.md +292 -0
- package/docs/ROADMAP.md +19495 -0
- package/docs/SESSION-LOG.md +940 -0
- package/docs/TOKEN-SYNC.md +237 -0
- package/docs/USING.ko.md +206 -0
- package/docs/USING.md +218 -0
- package/docs/WEBSITE-IMPROVEMENT.ko.md +75 -0
- package/docs/WEBSITE-IMPROVEMENT.md +89 -0
- package/docs/announcements/README.md +56 -0
- package/docs/announcements/dev-to-korea.md +206 -0
- package/docs/announcements/hashnode-post.ko.md +232 -0
- package/docs/announcements/okky-post.ko.md +158 -0
- package/docs/announcements/press-kit.md +101 -0
- package/docs/announcements/reddit-r-korea.md +196 -0
- package/docs/announcements/show-hn.md +114 -0
- package/docs/announcements/twitter-thread.md +255 -0
- package/docs/external-status.md +34 -0
- package/docs/integrations/aider-walkthrough.ko.md +275 -0
- package/docs/integrations/aider-walkthrough.md +274 -0
- package/docs/integrations/codex-walkthrough.ko.md +297 -0
- package/docs/integrations/codex-walkthrough.md +297 -0
- package/docs/integrations/cursor-walkthrough.ko.md +281 -0
- package/docs/integrations/cursor-walkthrough.md +284 -0
- package/docs/integrations/design-ai-mcp-server.md +169 -0
- package/docs/integrations/figma-mcp.md +149 -0
- package/docs/integrations/github-mcp.md +178 -0
- package/docs/integrations/linear-mcp.md +215 -0
- package/docs/integrations/notion-mcp.md +174 -0
- package/docs/integrations/sdk-walkthrough.ko.md +375 -0
- package/docs/integrations/sdk-walkthrough.md +375 -0
- package/docs/integrations/slack-mcp.md +208 -0
- package/docs/integrations/vscode-walkthrough.ko.md +202 -0
- package/docs/integrations/vscode-walkthrough.md +205 -0
- package/docs/requirements.txt +16 -0
- package/docs/site-overrides/extra.css +83 -0
- package/docs/site-overrides/favicon.svg +4 -0
- package/docs/site-overrides/logo.svg +10 -0
- package/docs/site-overrides/main.html +18 -0
- package/docs/website-console/app.js +2540 -0
- package/docs/website-console/index.html +24 -0
- package/docs/website-console/styles.css +975 -0
- package/examples/README.md +252 -0
- package/examples/cases/dogfood-v4-korean-hr-onboarding.md +356 -0
- package/examples/component-accordion-actions.md +153 -0
- package/examples/component-accordion-details.md +147 -0
- package/examples/component-accordion-summary.md +180 -0
- package/examples/component-accordion.md +229 -0
- package/examples/component-account-card.md +284 -0
- package/examples/component-address-input.md +260 -0
- package/examples/component-affix.md +190 -0
- package/examples/component-alert-dialog.md +210 -0
- package/examples/component-alert-title.md +77 -0
- package/examples/component-alert.md +192 -0
- package/examples/component-amount-input.md +278 -0
- package/examples/component-anchor.md +198 -0
- package/examples/component-app-bar.md +249 -0
- package/examples/component-aspect-ratio.md +156 -0
- package/examples/component-auto-complete.md +199 -0
- package/examples/component-avatar-group.md +170 -0
- package/examples/component-avatar.md +191 -0
- package/examples/component-back-top.md +123 -0
- package/examples/component-backdrop.md +148 -0
- package/examples/component-badge.md +181 -0
- package/examples/component-banner.md +237 -0
- package/examples/component-biometric-gate.md +281 -0
- package/examples/component-blockquote.md +153 -0
- package/examples/component-border-beam.md +207 -0
- package/examples/component-bottom-navigation.md +226 -0
- package/examples/component-box.md +112 -0
- package/examples/component-breadcrumb.md +222 -0
- package/examples/component-button-base.md +190 -0
- package/examples/component-button-group.md +117 -0
- package/examples/component-button.md +213 -0
- package/examples/component-calendar.md +280 -0
- package/examples/component-callout.md +131 -0
- package/examples/component-card-actions.md +101 -0
- package/examples/component-card-content.md +90 -0
- package/examples/component-card-header.md +122 -0
- package/examples/component-card-media.md +79 -0
- package/examples/component-card.md +233 -0
- package/examples/component-carousel.md +266 -0
- package/examples/component-cascader.md +135 -0
- package/examples/component-category-picker.md +271 -0
- package/examples/component-chart.md +237 -0
- package/examples/component-chat-interface.md +399 -0
- package/examples/component-checkbox.md +149 -0
- package/examples/component-click-away-listener.md +87 -0
- package/examples/component-code.md +213 -0
- package/examples/component-collapsible.md +219 -0
- package/examples/component-color-picker.md +110 -0
- package/examples/component-combobox.md +267 -0
- package/examples/component-command.md +299 -0
- package/examples/component-config-provider.md +190 -0
- package/examples/component-context-menu.md +179 -0
- package/examples/component-css-baseline.md +148 -0
- package/examples/component-date-picker.md +249 -0
- package/examples/component-descriptions.md +242 -0
- package/examples/component-dialog-actions.md +111 -0
- package/examples/component-dialog-content-text.md +76 -0
- package/examples/component-dialog-content.md +105 -0
- package/examples/component-dialog-title.md +104 -0
- package/examples/component-dialog.md +176 -0
- package/examples/component-divider.md +182 -0
- package/examples/component-doc-page.md +217 -0
- package/examples/component-drawer.md +257 -0
- package/examples/component-dropdown.md +220 -0
- package/examples/component-email-layout.md +253 -0
- package/examples/component-empty-state.md +269 -0
- package/examples/component-empty.md +172 -0
- package/examples/component-fade.md +87 -0
- package/examples/component-feature-grid.md +201 -0
- package/examples/component-field.md +266 -0
- package/examples/component-filled-input.md +114 -0
- package/examples/component-flex.md +117 -0
- package/examples/component-float-button.md +214 -0
- package/examples/component-form-control-label.md +134 -0
- package/examples/component-form-control.md +113 -0
- package/examples/component-form-controls.md +251 -0
- package/examples/component-form-group.md +86 -0
- package/examples/component-form-helper-text.md +95 -0
- package/examples/component-form-label.md +98 -0
- package/examples/component-form.md +291 -0
- package/examples/component-game-hud.md +362 -0
- package/examples/component-game-menu.md +327 -0
- package/examples/component-grid.md +140 -0
- package/examples/component-grow.md +79 -0
- package/examples/component-hero-block.md +252 -0
- package/examples/component-hover-card.md +211 -0
- package/examples/component-icon-button.md +142 -0
- package/examples/component-icon.md +102 -0
- package/examples/component-illustration.md +280 -0
- package/examples/component-image-list.md +107 -0
- package/examples/component-image.md +282 -0
- package/examples/component-input-adornment.md +101 -0
- package/examples/component-input-base.md +134 -0
- package/examples/component-input-number.md +141 -0
- package/examples/component-input-otp.md +271 -0
- package/examples/component-input.md +213 -0
- package/examples/component-item.md +243 -0
- package/examples/component-kbd.md +197 -0
- package/examples/component-krw-amount.md +219 -0
- package/examples/component-label.md +118 -0
- package/examples/component-layout.md +217 -0
- package/examples/component-link.md +223 -0
- package/examples/component-list-item-avatar.md +72 -0
- package/examples/component-list-item-button.md +139 -0
- package/examples/component-list-item-icon.md +82 -0
- package/examples/component-list-item-text.md +98 -0
- package/examples/component-list-item.md +116 -0
- package/examples/component-list-subheader.md +70 -0
- package/examples/component-list.md +198 -0
- package/examples/component-loading-button.md +125 -0
- package/examples/component-loading-sequence.md +254 -0
- package/examples/component-lottie-player.md +279 -0
- package/examples/component-masonry.md +191 -0
- package/examples/component-mentions.md +189 -0
- package/examples/component-menu-item.md +102 -0
- package/examples/component-menu-list.md +98 -0
- package/examples/component-menu.md +139 -0
- package/examples/component-menubar.md +259 -0
- package/examples/component-message.md +162 -0
- package/examples/component-mobile-stepper.md +155 -0
- package/examples/component-modal.md +220 -0
- package/examples/component-navigation-menu.md +295 -0
- package/examples/component-notification.md +166 -0
- package/examples/component-otp-countdown.md +245 -0
- package/examples/component-outlined-input.md +145 -0
- package/examples/component-page-transition.md +281 -0
- package/examples/component-pagination.md +226 -0
- package/examples/component-paper.md +199 -0
- package/examples/component-pass-auth.md +265 -0
- package/examples/component-payment-brand-button.md +253 -0
- package/examples/component-payment-method-selector.md +272 -0
- package/examples/component-payment-receipt.md +277 -0
- package/examples/component-popconfirm.md +144 -0
- package/examples/component-popover.md +239 -0
- package/examples/component-popper.md +129 -0
- package/examples/component-pricing-cards.md +247 -0
- package/examples/component-progress.md +195 -0
- package/examples/component-qr-code.md +201 -0
- package/examples/component-radio.md +167 -0
- package/examples/component-rate.md +202 -0
- package/examples/component-resizable.md +163 -0
- package/examples/component-result.md +270 -0
- package/examples/component-scroll-area.md +199 -0
- package/examples/component-scroll-reveal.md +320 -0
- package/examples/component-segmented.md +178 -0
- package/examples/component-select.md +258 -0
- package/examples/component-separator.md +177 -0
- package/examples/component-sheet.md +277 -0
- package/examples/component-sidebar.md +257 -0
- package/examples/component-skeleton.md +178 -0
- package/examples/component-slide.md +89 -0
- package/examples/component-slider.md +208 -0
- package/examples/component-snackbar-content.md +92 -0
- package/examples/component-snackbar.md +121 -0
- package/examples/component-sonner.md +165 -0
- package/examples/component-space.md +125 -0
- package/examples/component-spatial-locomotion.md +373 -0
- package/examples/component-spatial-panel.md +330 -0
- package/examples/component-speed-dial-action.md +78 -0
- package/examples/component-speed-dial.md +177 -0
- package/examples/component-spin.md +173 -0
- package/examples/component-spinner.md +204 -0
- package/examples/component-splitter.md +210 -0
- package/examples/component-stack.md +130 -0
- package/examples/component-statistic.md +282 -0
- package/examples/component-step-button.md +157 -0
- package/examples/component-step-connector.md +157 -0
- package/examples/component-step-content.md +121 -0
- package/examples/component-step-icon.md +115 -0
- package/examples/component-step-label.md +101 -0
- package/examples/component-step.md +84 -0
- package/examples/component-steps.md +264 -0
- package/examples/component-stock-chart.md +251 -0
- package/examples/component-swipeable-drawer.md +149 -0
- package/examples/component-switch.md +99 -0
- package/examples/component-tab-scroll-button.md +180 -0
- package/examples/component-tab.md +120 -0
- package/examples/component-table-body.md +82 -0
- package/examples/component-table-cell.md +118 -0
- package/examples/component-table-container.md +75 -0
- package/examples/component-table-footer.md +72 -0
- package/examples/component-table-head.md +78 -0
- package/examples/component-table-pagination.md +137 -0
- package/examples/component-table-row.md +113 -0
- package/examples/component-table-sort-label.md +109 -0
- package/examples/component-table.md +202 -0
- package/examples/component-tabs.md +184 -0
- package/examples/component-tag-badge.md +309 -0
- package/examples/component-tag.md +102 -0
- package/examples/component-testimonial-carousel.md +218 -0
- package/examples/component-textarea-autosize.md +114 -0
- package/examples/component-textarea.md +173 -0
- package/examples/component-time-picker.md +205 -0
- package/examples/component-timeline.md +170 -0
- package/examples/component-toast.md +224 -0
- package/examples/component-toggle-button.md +129 -0
- package/examples/component-toggle.md +220 -0
- package/examples/component-toolbar.md +104 -0
- package/examples/component-tooltip.md +178 -0
- package/examples/component-tour.md +176 -0
- package/examples/component-transaction-list-item.md +243 -0
- package/examples/component-transfer.md +156 -0
- package/examples/component-tree-select.md +202 -0
- package/examples/component-tree.md +297 -0
- package/examples/component-typography.md +215 -0
- package/examples/component-upload.md +295 -0
- package/examples/component-video-hero.md +409 -0
- package/examples/component-video-player.md +340 -0
- package/examples/component-voice-input.md +408 -0
- package/examples/component-watermark.md +217 -0
- package/examples/component-zoom.md +92 -0
- package/examples/doc-explanation-example.md +196 -0
- package/examples/doc-how-to-example.md +205 -0
- package/examples/doc-tutorial-example.md +162 -0
- package/examples/dogfood-korean-fintech-system.md +433 -0
- package/examples/email-transactional-example.md +259 -0
- package/examples/palette-saas-violet.md +235 -0
- package/examples/print-business-card-spec.md +205 -0
- package/examples/print-packaging-spec.md +285 -0
- package/examples/report-example.md +228 -0
- package/examples/slide-deck-example.md +237 -0
- package/examples/website-improvement-report.md +128 -0
- package/examples/website-improvement-workspace.json +126 -0
- package/install.sh +189 -0
- package/knowledge/COVERAGE.md +740 -0
- package/knowledge/PRINCIPLES.md +108 -0
- package/knowledge/a11y/contrast.md +70 -0
- package/knowledge/a11y/keyboard-and-focus.md +108 -0
- package/knowledge/colors/color-theory.md +90 -0
- package/knowledge/colors/mui-palette-structure.md +105 -0
- package/knowledge/colors/palettes-by-product-type.md +876 -0
- package/knowledge/components/INDEX.md +231 -0
- package/knowledge/components/index.json +1470 -0
- package/knowledge/components/shadcn-registry.md +159 -0
- package/knowledge/conversational/ai-chat-interfaces.md +323 -0
- package/knowledge/conversational/chatbot-design.md +312 -0
- package/knowledge/conversational/conversational-ui-fundamentals.md +299 -0
- package/knowledge/conversational/korean-voice-conventions.md +281 -0
- package/knowledge/conversational/voice-ui-patterns.md +297 -0
- package/knowledge/design-tokens/ant-design.md +124 -0
- package/knowledge/design-tokens/material-3.md +235 -0
- package/knowledge/design-tokens/polaris-and-carbon.md +231 -0
- package/knowledge/design-tokens/tailwind-v4.md +284 -0
- package/knowledge/game-ui/game-accessibility.md +317 -0
- package/knowledge/game-ui/game-ui-fundamentals.md +281 -0
- package/knowledge/game-ui/hud-design.md +324 -0
- package/knowledge/game-ui/korean-gaming-conventions.md +312 -0
- package/knowledge/game-ui/menu-systems.md +388 -0
- package/knowledge/i18n/korean-app-store-visual.md +223 -0
- package/knowledge/i18n/korean-document-style.md +301 -0
- package/knowledge/i18n/korean-payments.md +211 -0
- package/knowledge/i18n/korean-product-conventions.md +96 -0
- package/knowledge/i18n/korean-publishing.md +139 -0
- package/knowledge/i18n/korean-typography.md +123 -0
- package/knowledge/icons/curated-sets.md +225 -0
- package/knowledge/illustration/hero-illustrations.md +234 -0
- package/knowledge/illustration/illustration-systems.md +221 -0
- package/knowledge/illustration/mascot-design.md +208 -0
- package/knowledge/illustration/spot-illustrations.md +246 -0
- package/knowledge/illustration/svg-optimization.md +308 -0
- package/knowledge/layout/spacing-and-grid.md +119 -0
- package/knowledge/motion/app-loading-sequences.md +277 -0
- package/knowledge/motion/choreography-depth.md +297 -0
- package/knowledge/motion/marketing-motion.md +223 -0
- package/knowledge/motion/micro-interactions.md +266 -0
- package/knowledge/motion/motion-tools.md +281 -0
- package/knowledge/motion/principles.md +126 -0
- package/knowledge/patterns/auth-flow-design.md +316 -0
- package/knowledge/patterns/b2b-onboarding-flows.md +182 -0
- package/knowledge/patterns/brand-identity.md +238 -0
- package/knowledge/patterns/brand-references.md +97 -0
- package/knowledge/patterns/chart-color-encoding.md +269 -0
- package/knowledge/patterns/chart-types.md +344 -0
- package/knowledge/patterns/dashboard-composition.md +299 -0
- package/knowledge/patterns/design-system-qa.md +356 -0
- package/knowledge/patterns/document-typography.md +248 -0
- package/knowledge/patterns/email-design.md +338 -0
- package/knowledge/patterns/empty-states.md +263 -0
- package/knowledge/patterns/error-states.md +318 -0
- package/knowledge/patterns/form-design.md +237 -0
- package/knowledge/patterns/information-architecture.md +341 -0
- package/knowledge/patterns/landing-hero-design.md +283 -0
- package/knowledge/patterns/landing-page-patterns.md +681 -0
- package/knowledge/patterns/list-and-feed.md +371 -0
- package/knowledge/patterns/mobile-navigation.md +278 -0
- package/knowledge/patterns/money-and-amount.md +301 -0
- package/knowledge/patterns/onboarding.md +300 -0
- package/knowledge/patterns/pricing-page-design.md +261 -0
- package/knowledge/patterns/realtime-data.md +280 -0
- package/knowledge/patterns/report-design.md +330 -0
- package/knowledge/patterns/search-ux.md +373 -0
- package/knowledge/patterns/settings-page.md +325 -0
- package/knowledge/patterns/slide-deck-design.md +316 -0
- package/knowledge/patterns/styles-catalog.md +2599 -0
- package/knowledge/patterns/technical-writing.md +306 -0
- package/knowledge/patterns/ui-reasoning.md +1853 -0
- package/knowledge/patterns/ux-guidelines.md +1454 -0
- package/knowledge/platforms/react-native.md +395 -0
- package/knowledge/print/brochures-and-flyers.md +276 -0
- package/knowledge/print/korean-print-conventions.md +284 -0
- package/knowledge/print/packaging.md +321 -0
- package/knowledge/print/print-fundamentals.md +238 -0
- package/knowledge/print/signage-and-posters.md +235 -0
- package/knowledge/print/stationery.md +262 -0
- package/knowledge/spatial/ar-patterns.md +253 -0
- package/knowledge/spatial/comfort-and-accessibility.md +245 -0
- package/knowledge/spatial/spatial-design-fundamentals.md +346 -0
- package/knowledge/spatial/spatial-ui-elements.md +343 -0
- package/knowledge/spatial/vr-patterns.md +302 -0
- package/knowledge/typography/font-pairings.md +332 -0
- package/knowledge/typography/mui-type-scale.md +57 -0
- package/knowledge/typography/type-scale-fundamentals.md +105 -0
- package/knowledge/video/in-product-video.md +277 -0
- package/knowledge/video/korean-video-conventions.md +247 -0
- package/knowledge/video/marketing-video.md +258 -0
- package/knowledge/video/social-and-short-form.md +257 -0
- package/knowledge/video/video-fundamentals.md +296 -0
- package/package.json +106 -0
- package/skills/README.md +39 -0
- package/skills/color-palette/PLAYBOOK.md +175 -0
- package/skills/color-palette/SKILL.md +6 -0
- package/skills/color-palette/TEMPLATE.md +103 -0
- package/skills/component-spec-writer/PLAYBOOK.md +169 -0
- package/skills/component-spec-writer/SKILL.md +6 -0
- package/skills/component-spec-writer/TEMPLATE.md +115 -0
- package/skills/conversational-ui-designer/PLAYBOOK.md +231 -0
- package/skills/conversational-ui-designer/SKILL.md +6 -0
- package/skills/design-broadcast/PLAYBOOK.md +146 -0
- package/skills/design-broadcast/SKILL.md +6 -0
- package/skills/design-critique/PLAYBOOK.md +137 -0
- package/skills/design-critique/SKILL.md +6 -0
- package/skills/design-pr-review/PLAYBOOK.md +171 -0
- package/skills/design-pr-review/SKILL.md +6 -0
- package/skills/design-system-builder/PLAYBOOK.md +218 -0
- package/skills/design-system-builder/SKILL.md +6 -0
- package/skills/design-system-qa/PLAYBOOK.md +163 -0
- package/skills/design-system-qa/SKILL.md +6 -0
- package/skills/document-author/PLAYBOOK.md +167 -0
- package/skills/document-author/SKILL.md +6 -0
- package/skills/figma-token-sync/PLAYBOOK.md +149 -0
- package/skills/figma-token-sync/SKILL.md +6 -0
- package/skills/game-ui-designer/PLAYBOOK.md +209 -0
- package/skills/game-ui-designer/SKILL.md +6 -0
- package/skills/handoff-spec/PLAYBOOK.md +170 -0
- package/skills/handoff-spec/SKILL.md +6 -0
- package/skills/illustration-designer/PLAYBOOK.md +166 -0
- package/skills/illustration-designer/SKILL.md +6 -0
- package/skills/motion-designer/PLAYBOOK.md +223 -0
- package/skills/motion-designer/SKILL.md +6 -0
- package/skills/print-designer/PLAYBOOK.md +209 -0
- package/skills/print-designer/SKILL.md +6 -0
- package/skills/slide-deck-author/PLAYBOOK.md +198 -0
- package/skills/slide-deck-author/SKILL.md +6 -0
- package/skills/spatial-designer/PLAYBOOK.md +238 -0
- package/skills/spatial-designer/SKILL.md +6 -0
- package/skills/ux-audit/PLAYBOOK.md +142 -0
- package/skills/ux-audit/SKILL.md +6 -0
- package/skills/video-designer/PLAYBOOK.md +240 -0
- package/skills/video-designer/SKILL.md +6 -0
- package/skills/website-improvement/PLAYBOOK.md +118 -0
- package/skills/website-improvement/SKILL.md +6 -0
- package/skills/website-improvement/TEMPLATE.md +103 -0
- package/tools/audit/changelog-generate.py +176 -0
- package/tools/audit/check-coverage.py +483 -0
- package/tools/audit/doctor_assertions.py +256 -0
- package/tools/audit/example-qa.py +108 -0
- package/tools/audit/frontmatter-check.py +199 -0
- package/tools/audit/integration-check.py +95 -0
- package/tools/audit/korean-copy-check.py +161 -0
- package/tools/audit/link-check.py +146 -0
- package/tools/audit/local-ci.py +558 -0
- package/tools/audit/package-contents.py +723 -0
- package/tools/audit/package-smoke.py +22443 -0
- package/tools/audit/raw-hex-check.py +252 -0
- package/tools/audit/registry-smoke.py +8188 -0
- package/tools/audit/release-metadata.py +9832 -0
- package/tools/audit/run-all.py +351 -0
- package/tools/audit/smoke_assertions.py +12742 -0
- package/tools/audit/stability-review.py +332 -0
- package/tools/audit/stale-check.py +156 -0
- package/tools/migrations/add-version-frontmatter.py +132 -0
- package/tools/migrations/bump-last-updated.py +131 -0
- package/tools/migrations/promote-stability.py +172 -0
- package/tools/preview/README.md +58 -0
- 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
|