@hegemonart/get-design-done 1.18.0 → 1.19.5

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 (63) hide show
  1. package/.claude-plugin/marketplace.json +11 -5
  2. package/.claude-plugin/plugin.json +10 -4
  3. package/CHANGELOG.md +51 -0
  4. package/README.md +7 -0
  5. package/SKILL.md +10 -4
  6. package/agents/README.md +53 -0
  7. package/agents/a11y-mapper.md +10 -0
  8. package/agents/component-benchmark-harvester.md +11 -0
  9. package/agents/component-benchmark-synthesizer.md +11 -0
  10. package/agents/component-taxonomy-mapper.md +10 -0
  11. package/agents/design-advisor.md +10 -0
  12. package/agents/design-assumptions-analyzer.md +10 -0
  13. package/agents/design-auditor.md +15 -0
  14. package/agents/design-authority-watcher.md +10 -0
  15. package/agents/design-component-generator.md +10 -0
  16. package/agents/design-context-builder.md +6 -1
  17. package/agents/design-context-checker-gate.md +10 -0
  18. package/agents/design-context-checker.md +10 -0
  19. package/agents/design-discussant.md +10 -0
  20. package/agents/design-doc-writer.md +12 -0
  21. package/agents/design-executor.md +11 -1
  22. package/agents/design-figma-writer.md +10 -0
  23. package/agents/design-fixer.md +10 -0
  24. package/agents/design-integration-checker-gate.md +10 -0
  25. package/agents/design-integration-checker.md +10 -0
  26. package/agents/design-paper-writer.md +10 -0
  27. package/agents/design-pattern-mapper.md +11 -0
  28. package/agents/design-pencil-writer.md +10 -0
  29. package/agents/design-phase-researcher.md +11 -1
  30. package/agents/design-plan-checker.md +10 -0
  31. package/agents/design-planner.md +10 -0
  32. package/agents/design-reflector.md +10 -0
  33. package/agents/design-research-synthesizer.md +10 -0
  34. package/agents/design-start-writer.md +10 -0
  35. package/agents/design-update-checker.md +10 -0
  36. package/agents/design-verifier-gate.md +10 -0
  37. package/agents/design-verifier.md +11 -0
  38. package/agents/gdd-graphify-sync.md +10 -0
  39. package/agents/gdd-intel-updater.md +10 -0
  40. package/agents/gdd-learnings-extractor.md +10 -0
  41. package/agents/motion-mapper.md +10 -0
  42. package/agents/token-mapper.md +10 -0
  43. package/agents/visual-hierarchy-mapper.md +10 -0
  44. package/hooks/gdd-decision-injector.js +30 -8
  45. package/package.json +16 -3
  46. package/reference/data-visualization.md +333 -0
  47. package/reference/form-patterns.md +245 -0
  48. package/reference/information-architecture.md +255 -0
  49. package/reference/onboarding-progressive-disclosure.md +250 -0
  50. package/reference/platforms.md +346 -0
  51. package/reference/registry.json +409 -360
  52. package/reference/rtl-cjk-cultural.md +353 -0
  53. package/reference/schemas/insight-line.schema.json +37 -0
  54. package/reference/user-research.md +360 -0
  55. package/scripts/lib/design-search.cjs +206 -0
  56. package/scripts/lib/probe-optional.cjs +29 -0
  57. package/scripts/lib/relevance-counter.cjs +121 -0
  58. package/skills/complete-cycle/SKILL.md +40 -2
  59. package/skills/continue/SKILL.md +23 -0
  60. package/skills/pause/SKILL.md +40 -14
  61. package/skills/recall/SKILL.md +74 -0
  62. package/skills/resume/SKILL.md +34 -16
  63. package/skills/timeline/SKILL.md +65 -0
@@ -4,51 +4,16 @@
4
4
  "generated_at": "2026-04-24T00:00:00.000Z",
5
5
  "entries": [
6
6
  {
7
- "name": "shared-preamble",
8
- "path": "reference/shared-preamble.md",
9
- "type": "preamble",
10
- "tier": "L0",
11
- "description": "L0 aggregator \u2014 imports meta-rules first and exposes Framework Identity + Ordering Convention + Pre-Warming"
12
- },
13
- {
14
- "name": "meta-rules",
15
- "path": "reference/meta-rules.md",
16
- "type": "meta-rules",
17
- "tier": "L0",
18
- "description": "Framework-invariant rules: Required Reading Discipline, Writes Protocol, Deviation Handling, Completion Markers, Context-Exhaustion & Budget awareness"
19
- },
20
- {
21
- "name": "cycle-handoff-preamble",
22
- "path": "reference/cycle-handoff-preamble.md",
23
- "type": "preamble",
24
- "description": "Framing prose for archived cycle material \u2014 read as reference, not as current request"
25
- },
26
- {
27
- "name": "retrieval-contract",
28
- "path": "reference/retrieval-contract.md",
29
- "type": "preamble",
30
- "description": "3-layer search \u2192 metadata \u2192 full-doc protocol with per-row token-cost labels"
31
- },
32
- {
33
- "name": "heuristics",
34
- "path": "reference/heuristics.md",
35
- "type": "heuristic",
36
- "tier": "L2",
37
- "description": "NNG heuristics + GDD-specific rubrics used by auditor / verifier"
38
- },
39
- {
40
- "name": "anti-patterns",
41
- "path": "reference/anti-patterns.md",
42
- "type": "heuristic",
43
- "tier": "L2",
44
- "description": "Catalog of design anti-patterns surfaced during audit"
7
+ "name": "DEPRECATIONS",
8
+ "path": "reference/DEPRECATIONS.md",
9
+ "type": "schema",
10
+ "description": "Deprecation records and redirect mappings"
45
11
  },
46
12
  {
47
- "name": "checklists",
48
- "path": "reference/checklists.md",
49
- "type": "heuristic",
50
- "tier": "L2",
51
- "description": "Per-category gate checklists"
13
+ "name": "STATE-TEMPLATE",
14
+ "path": "reference/STATE-TEMPLATE.md",
15
+ "type": "schema",
16
+ "description": "Template for .design/STATE.md scaffolded by /gdd:scan"
52
17
  },
53
18
  {
54
19
  "name": "accessibility",
@@ -57,28 +22,17 @@
57
22
  "description": "WCAG + focus + keyboard-nav heuristics referenced by a11y-mapper"
58
23
  },
59
24
  {
60
- "name": "debugger-philosophy",
61
- "path": "reference/debugger-philosophy.md",
62
- "type": "heuristic",
63
- "description": "Philosophy guide for systematic-debugging agents"
64
- },
65
- {
66
- "name": "parallelism-rules",
67
- "path": "reference/parallelism-rules.md",
68
- "type": "heuristic",
69
- "description": "Rules for serial/parallel agent dispatch and Touches conflict detection"
70
- },
71
- {
72
- "name": "priority-matrix",
73
- "path": "reference/priority-matrix.md",
74
- "type": "heuristic",
75
- "description": "Severity \u00d7 Effort priority-score formula used by gap prioritizers"
25
+ "name": "ai-native-tool-interface",
26
+ "path": "reference/ai-native-tool-interface.md",
27
+ "type": "surfaces",
28
+ "description": "AI-native tool interface contract used across connections"
76
29
  },
77
30
  {
78
- "name": "project-skills-guide",
79
- "path": "reference/project-skills-guide.md",
31
+ "name": "anti-patterns",
32
+ "path": "reference/anti-patterns.md",
80
33
  "type": "heuristic",
81
- "description": "Guide for authoring project-skill artifacts (sketch/spike wrap-ups)"
34
+ "tier": "L2",
35
+ "description": "Catalog of design anti-patterns surfaced during audit"
82
36
  },
83
37
  {
84
38
  "name": "audit-scoring",
@@ -86,12 +40,6 @@
86
40
  "type": "output-contract",
87
41
  "description": "6-pillar + 7-category audit score rubric and output schema"
88
42
  },
89
- {
90
- "name": "review-format",
91
- "path": "reference/review-format.md",
92
- "type": "output-contract",
93
- "description": "Format of code-review output documents"
94
- },
95
43
  {
96
44
  "name": "authority-feeds",
97
45
  "path": "reference/authority-feeds.md",
@@ -99,229 +47,227 @@
99
47
  "description": "Whitelist of design-authority feed sources for the watcher"
100
48
  },
101
49
  {
102
- "name": "motion",
103
- "path": "reference/motion.md",
104
- "type": "motion",
105
- "description": "Motion vocabulary seed (extended in Phase 18)"
50
+ "name": "brand-voice",
51
+ "path": "reference/brand-voice.md",
52
+ "type": "heuristic",
53
+ "description": "Voice axes, archetypes, tone-by-context, industry-context palettes"
106
54
  },
107
55
  {
108
- "name": "typography",
109
- "path": "reference/typography.md",
56
+ "name": "checklists",
57
+ "path": "reference/checklists.md",
110
58
  "type": "heuristic",
111
- "description": "Typography-system heuristics used by visual-hierarchy-mapper"
59
+ "tier": "L2",
60
+ "description": "Per-category gate checklists"
112
61
  },
113
62
  {
114
- "name": "ai-native-tool-interface",
115
- "path": "reference/ai-native-tool-interface.md",
116
- "type": "surfaces",
117
- "description": "AI-native tool interface contract used across connections"
63
+ "name": "component-accordion",
64
+ "path": "reference/components/accordion.md",
65
+ "type": "component-spec",
66
+ "description": "Accordion component spec — h2–h6 header, aria-expanded on trigger, CSS grid height animation"
118
67
  },
119
68
  {
120
- "name": "intel-schema",
121
- "path": "reference/intel-schema.md",
122
- "type": "schema",
123
- "description": "Schema documentation for .design/intel/ files"
69
+ "name": "component-alert",
70
+ "path": "reference/components/alert.md",
71
+ "type": "component-spec",
72
+ "description": "Alert spec info/success/warning/error variants, role=alert vs role=status, icon reinforces variant"
124
73
  },
125
74
  {
126
- "name": "config-schema",
127
- "path": "reference/config-schema.md",
128
- "type": "schema",
129
- "description": "Schema documentation for .design/config.json"
75
+ "name": "component-badge",
76
+ "path": "reference/components/badge.md",
77
+ "type": "component-spec",
78
+ "description": "Badge spec count/dot/icon variants, 99+ overflow, aria-label on parent element"
130
79
  },
131
80
  {
132
- "name": "DEPRECATIONS",
133
- "path": "reference/DEPRECATIONS.md",
134
- "type": "schema",
135
- "description": "Deprecation records and redirect mappings"
81
+ "name": "component-breadcrumbs",
82
+ "path": "reference/components/breadcrumbs.md",
83
+ "type": "component-spec",
84
+ "description": "Breadcrumbs spec aria-current=page on last item, aria-hidden separators, ol not ul"
136
85
  },
137
86
  {
138
- "name": "STATE-TEMPLATE",
139
- "path": "reference/STATE-TEMPLATE.md",
140
- "type": "schema",
141
- "description": "Template for .design/STATE.md scaffolded by /gdd:scan"
87
+ "name": "component-button",
88
+ "path": "reference/components/button.md",
89
+ "type": "component-spec",
90
+ "description": "Button component spec — primary/secondary/ghost/destructive/icon-only; WAI-ARIA Enter/Space contract"
142
91
  },
143
92
  {
144
- "name": "model-prices",
145
- "path": "reference/model-prices.md",
146
- "type": "data",
147
- "description": "Anthropic model pricing table used by the telemetry aggregator"
93
+ "name": "component-card",
94
+ "path": "reference/components/card.md",
95
+ "type": "component-spec",
96
+ "description": "Card component spec stretched-link pattern, article semantics, nested interactive anti-pattern"
148
97
  },
149
98
  {
150
- "name": "model-tiers",
151
- "path": "reference/model-tiers.md",
152
- "type": "data",
153
- "description": "Per-agent default tier map and rationale"
99
+ "name": "component-checkbox",
100
+ "path": "reference/components/checkbox.md",
101
+ "type": "component-spec",
102
+ "description": "Checkbox component spec fieldset+legend, indeterminate state, aria-checked=mixed"
154
103
  },
155
104
  {
156
- "name": "figma-sandbox",
157
- "path": "reference/figma-sandbox.md",
158
- "type": "defaults",
159
- "description": "Four Figma plugin-sandbox pitfalls encoded as hard rules"
105
+ "name": "component-chip",
106
+ "path": "reference/components/chip.md",
107
+ "type": "component-spec",
108
+ "description": "Chip spec — filter/input/suggestion/display variants, aria-pressed on toggle, independent remove aria-label"
160
109
  },
161
110
  {
162
- "name": "mcp-budget.default",
163
- "path": "reference/mcp-budget.default.json",
164
- "type": "defaults",
165
- "description": "Default MCP per-task budget (calls + consecutive-timeout thresholds)"
111
+ "name": "component-command-palette",
112
+ "path": "reference/components/command-palette.md",
113
+ "type": "component-spec",
114
+ "description": "Command-palette spec — role=dialog + aria-modal, focus trap, role=combobox + aria-controls, Cmd/Ctrl+K"
166
115
  },
167
116
  {
168
- "name": "protected-paths.default",
169
- "path": "reference/protected-paths.default.json",
170
- "type": "defaults",
171
- "description": "Default glob list the plugin refuses to Edit/Write/mutate-via-Bash without override"
117
+ "name": "component-date-picker",
118
+ "path": "reference/components/date-picker.md",
119
+ "type": "component-spec",
120
+ "description": "Date-picker spec input + range, calendar role=dialog, day gridcell+button, native mobile fallback"
172
121
  },
173
122
  {
174
- "name": "start-interview",
175
- "path": "reference/start-interview.md",
176
- "type": "preamble",
177
- "description": "Locked 5-question interview consumed by /gdd:start (Phase 14.7) \u2014 pain, target-area, budget, framework/DS confirmation, Figma/canvas workflow"
123
+ "name": "component-drawer",
124
+ "path": "reference/components/drawer.md",
125
+ "type": "component-spec",
126
+ "description": "Drawer component spec focus trap, swipe-to-close, nav vs content role distinction"
178
127
  },
179
128
  {
180
- "name": "framer-motion-patterns",
181
- "path": "reference/framer-motion-patterns.md",
182
- "type": "heuristic",
183
- "description": "Framer Motion implementation: spring/tween, AnimatePresence, variants, gestures, a11y"
129
+ "name": "component-file-upload",
130
+ "path": "reference/components/file-upload.md",
131
+ "type": "component-spec",
132
+ "description": "File-upload spec drop-zone + picker, input[type=file] never display:none, remove aria-label"
184
133
  },
185
134
  {
186
- "name": "iconography",
187
- "path": "reference/iconography.md",
188
- "type": "heuristic",
189
- "description": "Icon sizing, metaphors, library catalog, touch targets, animation"
135
+ "name": "component-input",
136
+ "path": "reference/components/input.md",
137
+ "type": "component-spec",
138
+ "description": "Input component spec placeholder-as-label anti-pattern, aria-describedby error linking"
190
139
  },
191
140
  {
192
- "name": "performance",
193
- "path": "reference/performance.md",
194
- "type": "heuristic",
195
- "description": "Core Web Vitals budgets, JS/font/image budgets, React runtime perf"
141
+ "name": "component-label",
142
+ "path": "reference/components/label.md",
143
+ "type": "component-spec",
144
+ "description": "Label component spec — 4 association methods, .sr-only pattern, legend for groups"
196
145
  },
197
146
  {
198
- "name": "design-systems-catalog",
199
- "path": "reference/design-systems-catalog.md",
200
- "type": "taxonomy",
201
- "description": "Quick-reference index of 18 major design systems"
147
+ "name": "component-link",
148
+ "path": "reference/components/link.md",
149
+ "type": "component-spec",
150
+ "description": "Link component spec a[href] vs button boundary, WCAG 1.4.1 underline, rel=noopener"
202
151
  },
203
152
  {
204
- "name": "brand-voice",
205
- "path": "reference/brand-voice.md",
206
- "type": "heuristic",
207
- "description": "Voice axes, archetypes, tone-by-context, industry-context palettes"
153
+ "name": "component-list",
154
+ "path": "reference/components/list.md",
155
+ "type": "component-spec",
156
+ "description": "List spec display (ul/li) vs interactive (role=listbox + role=option), virtualise >100 items"
208
157
  },
209
158
  {
210
- "name": "visual-hierarchy-layout",
211
- "path": "reference/visual-hierarchy-layout.md",
212
- "type": "heuristic",
213
- "description": "Z-order, whitespace, grids, F/Z patterns, 24 landing archetypes"
159
+ "name": "component-menu",
160
+ "path": "reference/components/menu.md",
161
+ "type": "component-spec",
162
+ "description": "Menu spec — role=menu + role=menuitem, arrow-key nav, click-only open, sub-menu ArrowRight"
214
163
  },
215
164
  {
216
- "name": "gestalt",
217
- "path": "reference/gestalt.md",
218
- "type": "heuristic",
219
- "description": "8 Gestalt principles with scoring rubrics and grep signatures"
165
+ "name": "component-modal-dialog",
166
+ "path": "reference/components/modal-dialog.md",
167
+ "type": "component-spec",
168
+ "description": "Modal dialog spec focus trap, Escape contract, aria-modal, aria-labelledby, scroll-lock"
220
169
  },
221
170
  {
222
- "name": "design-system-guidance",
223
- "path": "reference/design-system-guidance.md",
224
- "type": "heuristic",
225
- "description": "Token versioning, multi-brand arch, governance, maturity rubric 0-5"
171
+ "name": "component-navbar",
172
+ "path": "reference/components/navbar.md",
173
+ "type": "component-spec",
174
+ "description": "Navbar spec — role=banner + role=navigation, skip link, aria-current=page, hamburger aria-expanded"
226
175
  },
227
176
  {
228
- "name": "palette-catalog",
229
- "path": "reference/palette-catalog.md",
230
- "type": "palette",
231
- "description": "40+ industry-vertical color palettes (WCAG verified, UUPM MIT)"
177
+ "name": "component-pagination",
178
+ "path": "reference/components/pagination.md",
179
+ "type": "component-spec",
180
+ "description": "Pagination spec — aria-label=Pagination, aria-current=page, per-page select with visible label"
232
181
  },
233
182
  {
234
- "name": "style-vocabulary",
235
- "path": "reference/style-vocabulary.md",
236
- "type": "style-vocabulary",
237
- "description": "67 UI aesthetics with keywords, effects, best-for, era (UUPM MIT)"
183
+ "name": "component-popover",
184
+ "path": "reference/components/popover.md",
185
+ "type": "component-spec",
186
+ "description": "Popover spec Floating UI middlewares, non-modal, aria-expanded+aria-controls"
238
187
  },
239
188
  {
240
- "name": "palettes-data",
241
- "path": "reference/data/palettes.csv",
242
- "type": "data",
243
- "description": "CSV data sibling for palette-catalog.md"
189
+ "name": "component-progress",
190
+ "path": "reference/components/progress.md",
191
+ "type": "component-spec",
192
+ "description": "Progress spec determinate (aria-valuenow) vs indeterminate (aria-valuetext), linear + circular"
244
193
  },
245
194
  {
246
- "name": "styles-data",
247
- "path": "reference/data/styles.csv",
248
- "type": "data",
249
- "description": "CSV data sibling for style-vocabulary.md"
195
+ "name": "component-radio",
196
+ "path": "reference/components/radio.md",
197
+ "type": "component-spec",
198
+ "description": "Radio component spec arrow-key auto-advance, Tab-as-group-unit, single-radio anti-pattern"
250
199
  },
251
200
  {
252
- "name": "surfaces",
253
- "path": "reference/surfaces.md",
254
- "type": "surfaces",
255
- "description": "Concentric radius, optical alignment, 3-layer shadow, image outlines, hit areas"
201
+ "name": "component-rich-text-editor",
202
+ "path": "reference/components/rich-text-editor.md",
203
+ "type": "component-spec",
204
+ "description": "Rich-text editor spec contenteditable + role=textbox, toolbar role=toolbar, aria-pressed on toggles"
256
205
  },
257
206
  {
258
- "name": "google-fonts-data",
259
- "path": "reference/data/google-fonts.csv",
260
- "type": "data",
261
- "description": "Google Fonts catalog (representative sample of 1923-row UUPM data set)"
207
+ "name": "component-select-combobox",
208
+ "path": "reference/components/select-combobox.md",
209
+ "type": "component-spec",
210
+ "description": "Select/combobox spec WAI-ARIA listbox + combobox contracts, aria-activedescendant"
262
211
  },
263
212
  {
264
- "name": "variable-fonts-loading",
265
- "path": "reference/variable-fonts-loading.md",
266
- "type": "typography",
267
- "phase": 18,
268
- "description": "Variable font axes, font-display trade-offs, WOFF2 subsetting, FOIT/FOUT, fallback metric overrides, GRAD axis for dark mode, system font stacks (REF-14)"
213
+ "name": "component-sidebar",
214
+ "path": "reference/components/sidebar.md",
215
+ "type": "component-spec",
216
+ "description": "Sidebar spec — aria-label=Secondary, icon+label vs icon-only collapsed, settings-nav + dashboard-nav variants"
269
217
  },
270
218
  {
271
- "name": "image-optimization",
272
- "path": "reference/image-optimization.md",
273
- "type": "performance",
274
- "phase": 18,
275
- "description": "WebP/AVIF/JPEG-XL matrix, srcset+sizes math, art direction, LQIP/BlurHash, lazy-loading, fetchpriority, CDN transforms, image budget enforcement (REF-15)"
219
+ "name": "component-skeleton",
220
+ "path": "reference/components/skeleton.md",
221
+ "type": "component-spec",
222
+ "description": "Skeleton spec — content-mirror layout, shimmer animation, aria-hidden on elements, aria-busy on container"
276
223
  },
277
224
  {
278
- "name": "css-grid-layout",
279
- "path": "reference/css-grid-layout.md",
280
- "type": "layout",
281
- "phase": 18,
282
- "description": "CSS Grid templates, subgrid, container queries, fluid clamp() typography, intrinsic sizing, logical properties, safe-area insets, anchor positioning (REF-16)"
225
+ "name": "component-slider",
226
+ "path": "reference/components/slider.md",
227
+ "type": "component-spec",
228
+ "description": "Slider spec — role=slider + aria-valuenow/min/max/valuetext, 44px thumb touch target, Page Up/Down ±10%"
283
229
  },
284
230
  {
285
- "name": "motion-advanced",
286
- "path": "reference/motion-advanced.md",
287
- "type": "motion",
288
- "phase": 18,
289
- "description": "Advanced motion: spring physics, FLIP, scroll-driven, View Transitions API, gesture/drag mechanics, clip-path animations, blur crossfades, WAAPI, Framer Motion hardware-accel gotcha, motion cohesion (REF-17)"
231
+ "name": "component-stepper",
232
+ "path": "reference/components/stepper.md",
233
+ "type": "component-spec",
234
+ "description": "Stepper spec — role=list (not role=tablist), aria-current=step, wizard/onboarding/checkout flow context"
290
235
  },
291
236
  {
292
- "name": "motion-easings",
293
- "path": "reference/motion-easings.md",
294
- "type": "motion",
295
- "phase": 18,
296
- "description": "12 canonical easing presets from RN MIT upstream — linear/quad/cubic/poly/sin/circle/exp/elastic/back/bounce/bezier + in/out/inOut wrappers; --ease-* token catalog; 60fps settle-times (MOT-01)"
237
+ "name": "component-switch",
238
+ "path": "reference/components/switch.md",
239
+ "type": "component-spec",
240
+ "description": "Switch component spec — role=switch, spring thumb, pill track, immediate-action rule"
297
241
  },
298
242
  {
299
- "name": "motion-interpolate",
300
- "path": "reference/motion-interpolate.md",
301
- "type": "motion",
302
- "phase": 18,
303
- "description": "Input→output range mapping + 4 extrapolation modes (extend|identity|clamp|wrap); taxonomy of progress/scroll/gesture/time-linked animations (MOT-02)"
243
+ "name": "component-table",
244
+ "path": "reference/components/table.md",
245
+ "type": "component-spec",
246
+ "description": "Table spec — scope=col on th, aria-sort, aria-selected on rows, role=grid vs role=table, virtualise >200"
304
247
  },
305
248
  {
306
- "name": "motion-spring",
307
- "path": "reference/motion-spring.md",
308
- "type": "motion",
309
- "phase": 18,
310
- "description": "Spring stiffness/damping/mass triad + 4 canonical presets (gentle/wobbly/stiff/slow) with 60fps settle-times; Framer Motion + React Spring syntax; CSS linear() approximation (MOT-05)"
249
+ "name": "component-tabs",
250
+ "path": "reference/components/tabs.md",
251
+ "type": "component-spec",
252
+ "description": "Tabs component spec — roving tabindex, arrow-key nav, automatic vs manual activation"
311
253
  },
312
254
  {
313
- "name": "motion-transition-taxonomy",
314
- "path": "reference/motion-transition-taxonomy.md",
315
- "type": "motion",
316
- "phase": 18,
317
- "description": "8 controlled transition families from hyperframes Apache-2.0: 3d, blur, cover, destruction, dissolve, distortion, grid, light — each with definition, canonical examples, when-to-use (MOT-03)"
255
+ "name": "component-toast",
256
+ "path": "reference/components/toast.md",
257
+ "type": "component-spec",
258
+ "description": "Toast spec — role=status vs role=alert, 4–8s auto-dismiss, stacking, UUPM dashboard context"
318
259
  },
319
260
  {
320
- "name": "motion-map-contract",
321
- "path": "reference/output-contracts/motion-map.schema.json",
322
- "type": "output-contract",
323
- "phase": 18,
324
- "description": "JSON schema for motion-mapper structured output block — easing, transition_family, duration_class, trigger per animation binding (MOT-04)"
261
+ "name": "component-tooltip",
262
+ "path": "reference/components/tooltip.md",
263
+ "type": "component-spec",
264
+ "description": "Tooltip spec — no interactive content, hover+focus trigger, 300ms delay, aria-describedby"
265
+ },
266
+ {
267
+ "name": "component-tree",
268
+ "path": "reference/components/tree.md",
269
+ "type": "component-spec",
270
+ "description": "Tree spec — role=tree + role=treeitem + role=group, aria-expanded, aria-level, aria-busy lazy-load"
325
271
  },
326
272
  {
327
273
  "name": "components-README",
@@ -336,214 +282,317 @@
336
282
  "description": "Locked 12-section spec shape for component benchmarks (Purpose → Failing example)"
337
283
  },
338
284
  {
339
- "name": "component-accordion",
340
- "path": "reference/components/accordion.md",
341
- "type": "component-spec",
342
- "description": "Accordion component spec — h2–h6 header, aria-expanded on trigger, CSS grid height animation"
285
+ "name": "config-schema",
286
+ "path": "reference/config-schema.md",
287
+ "type": "schema",
288
+ "description": "Schema documentation for .design/config.json"
343
289
  },
344
290
  {
345
- "name": "component-button",
346
- "path": "reference/components/button.md",
347
- "type": "component-spec",
348
- "description": "Button component spec — primary/secondary/ghost/destructive/icon-only; WAI-ARIA Enter/Space contract"
291
+ "name": "css-grid-layout",
292
+ "path": "reference/css-grid-layout.md",
293
+ "type": "layout",
294
+ "phase": 18,
295
+ "description": "CSS Grid templates, subgrid, container queries, fluid clamp() typography, intrinsic sizing, logical properties, safe-area insets, anchor positioning (REF-16)"
349
296
  },
350
297
  {
351
- "name": "component-card",
352
- "path": "reference/components/card.md",
353
- "type": "component-spec",
354
- "description": "Card component specstretched-link pattern, article semantics, nested interactive anti-pattern"
298
+ "name": "cycle-handoff-preamble",
299
+ "path": "reference/cycle-handoff-preamble.md",
300
+ "type": "preamble",
301
+ "description": "Framing prose for archived cycle material read as reference, not as current request"
355
302
  },
356
303
  {
357
- "name": "component-checkbox",
358
- "path": "reference/components/checkbox.md",
359
- "type": "component-spec",
360
- "description": "Checkbox component spec fieldset+legend, indeterminate state, aria-checked=mixed"
304
+ "name": "data-visualization",
305
+ "path": "reference/data-visualization.md",
306
+ "type": "heuristic",
307
+ "description": "Chart-choice matrix (25 types), color-blind-safe palettes, axis conventions, dashboard patterns (UUPM MIT)"
361
308
  },
362
309
  {
363
- "name": "component-drawer",
364
- "path": "reference/components/drawer.md",
365
- "type": "component-spec",
366
- "description": "Drawer component spec — focus trap, swipe-to-close, nav vs content role distinction"
310
+ "name": "debugger-philosophy",
311
+ "path": "reference/debugger-philosophy.md",
312
+ "type": "heuristic",
313
+ "description": "Philosophy guide for systematic-debugging agents"
367
314
  },
368
315
  {
369
- "name": "component-input",
370
- "path": "reference/components/input.md",
371
- "type": "component-spec",
372
- "description": "Input component spec — placeholder-as-label anti-pattern, aria-describedby error linking"
316
+ "name": "design-system-guidance",
317
+ "path": "reference/design-system-guidance.md",
318
+ "type": "heuristic",
319
+ "description": "Token versioning, multi-brand arch, governance, maturity rubric 0-5"
373
320
  },
374
321
  {
375
- "name": "component-label",
376
- "path": "reference/components/label.md",
377
- "type": "component-spec",
378
- "description": "Label component spec 4 association methods, .sr-only pattern, legend for groups"
322
+ "name": "design-systems-catalog",
323
+ "path": "reference/design-systems-catalog.md",
324
+ "type": "taxonomy",
325
+ "description": "Quick-reference index of 18 major design systems"
379
326
  },
380
327
  {
381
- "name": "component-link",
382
- "path": "reference/components/link.md",
383
- "type": "component-spec",
384
- "description": "Link component spec a[href] vs button boundary, WCAG 1.4.1 underline, rel=noopener"
328
+ "name": "figma-sandbox",
329
+ "path": "reference/figma-sandbox.md",
330
+ "type": "defaults",
331
+ "description": "Four Figma plugin-sandbox pitfalls encoded as hard rules"
385
332
  },
386
333
  {
387
- "name": "component-modal-dialog",
388
- "path": "reference/components/modal-dialog.md",
389
- "type": "component-spec",
390
- "description": "Modal dialog spec focus trap, Escape contract, aria-modal, aria-labelledby, scroll-lock"
334
+ "name": "form-patterns",
335
+ "path": "reference/form-patterns.md",
336
+ "type": "heuristic",
337
+ "description": "Label position, inline-validation timing, autocomplete tokens, password UX, CAPTCHA ethics"
391
338
  },
392
339
  {
393
- "name": "component-popover",
394
- "path": "reference/components/popover.md",
395
- "type": "component-spec",
396
- "description": "Popover spec Floating UI middlewares, non-modal, aria-expanded+aria-controls"
340
+ "name": "framer-motion-patterns",
341
+ "path": "reference/framer-motion-patterns.md",
342
+ "type": "heuristic",
343
+ "description": "Framer Motion implementation: spring/tween, AnimatePresence, variants, gestures, a11y"
397
344
  },
398
345
  {
399
- "name": "component-radio",
400
- "path": "reference/components/radio.md",
401
- "type": "component-spec",
402
- "description": "Radio component spec arrow-key auto-advance, Tab-as-group-unit, single-radio anti-pattern"
346
+ "name": "gestalt",
347
+ "path": "reference/gestalt.md",
348
+ "type": "heuristic",
349
+ "description": "8 Gestalt principles with scoring rubrics and grep signatures"
403
350
  },
404
351
  {
405
- "name": "component-select-combobox",
406
- "path": "reference/components/select-combobox.md",
407
- "type": "component-spec",
408
- "description": "Select/combobox spec WAI-ARIA listbox + combobox contracts, aria-activedescendant"
352
+ "name": "google-fonts-data",
353
+ "path": "reference/data/google-fonts.csv",
354
+ "type": "data",
355
+ "description": "Google Fonts catalog (representative sample of 1923-row UUPM data set)"
409
356
  },
410
357
  {
411
- "name": "component-switch",
412
- "path": "reference/components/switch.md",
413
- "type": "component-spec",
414
- "description": "Switch component spec — role=switch, spring thumb, pill track, immediate-action rule"
358
+ "name": "heuristics",
359
+ "path": "reference/heuristics.md",
360
+ "type": "heuristic",
361
+ "tier": "L2",
362
+ "description": "NNG heuristics + GDD-specific rubrics used by auditor / verifier"
415
363
  },
416
364
  {
417
- "name": "component-tabs",
418
- "path": "reference/components/tabs.md",
419
- "type": "component-spec",
420
- "description": "Tabs component spec roving tabindex, arrow-key nav, automatic vs manual activation"
365
+ "name": "iconography",
366
+ "path": "reference/iconography.md",
367
+ "type": "heuristic",
368
+ "description": "Icon sizing, metaphors, library catalog, touch targets, animation"
421
369
  },
422
370
  {
423
- "name": "component-tooltip",
424
- "path": "reference/components/tooltip.md",
425
- "type": "component-spec",
426
- "description": "Tooltip spec — no interactive content, hover+focus trigger, 300ms delay, aria-describedby"
371
+ "name": "image-optimization",
372
+ "path": "reference/image-optimization.md",
373
+ "type": "performance",
374
+ "phase": 18,
375
+ "description": "WebP/AVIF/JPEG-XL matrix, srcset+sizes math, art direction, LQIP/BlurHash, lazy-loading, fetchpriority, CDN transforms, image budget enforcement (REF-15)"
427
376
  },
428
377
  {
429
- "name": "component-toast",
430
- "path": "reference/components/toast.md",
431
- "type": "component-spec",
432
- "description": "Toast spec role=status vs role=alert, 4–8s auto-dismiss, stacking, UUPM dashboard context"
378
+ "name": "information-architecture",
379
+ "path": "reference/information-architecture.md",
380
+ "type": "heuristic",
381
+ "description": "Nav pattern catalog, menu-depth rules, card sort/tree test benchmarks, wayfinding, faceted nav"
433
382
  },
434
383
  {
435
- "name": "component-alert",
436
- "path": "reference/components/alert.md",
437
- "type": "component-spec",
438
- "description": "Alert spec — info/success/warning/error variants, role=alert vs role=status, icon reinforces variant"
384
+ "name": "insight-line.schema",
385
+ "path": "reference/schemas/insight-line.schema.json",
386
+ "type": "schema",
387
+ "tier": "haiku",
388
+ "description": "JSONL schema for agent run-end insight lines written to .design/intel/insights.jsonl"
439
389
  },
440
390
  {
441
- "name": "component-progress",
442
- "path": "reference/components/progress.md",
443
- "type": "component-spec",
444
- "description": "Progress spec determinate (aria-valuenow) vs indeterminate (aria-valuetext), linear + circular"
391
+ "name": "intel-schema",
392
+ "path": "reference/intel-schema.md",
393
+ "type": "schema",
394
+ "description": "Schema documentation for .design/intel/ files"
445
395
  },
446
396
  {
447
- "name": "component-skeleton",
448
- "path": "reference/components/skeleton.md",
449
- "type": "component-spec",
450
- "description": "Skeleton spec — content-mirror layout, shimmer animation, aria-hidden on elements, aria-busy on container"
397
+ "name": "mcp-budget.default",
398
+ "path": "reference/mcp-budget.default.json",
399
+ "type": "defaults",
400
+ "description": "Default MCP per-task budget (calls + consecutive-timeout thresholds)"
451
401
  },
452
402
  {
453
- "name": "component-badge",
454
- "path": "reference/components/badge.md",
455
- "type": "component-spec",
456
- "description": "Badge spec — count/dot/icon variants, 99+ overflow, aria-label on parent element"
403
+ "name": "meta-rules",
404
+ "path": "reference/meta-rules.md",
405
+ "type": "meta-rules",
406
+ "tier": "L0",
407
+ "description": "Framework-invariant rules: Required Reading Discipline, Writes Protocol, Deviation Handling, Completion Markers, Context-Exhaustion & Budget awareness"
457
408
  },
458
409
  {
459
- "name": "component-chip",
460
- "path": "reference/components/chip.md",
461
- "type": "component-spec",
462
- "description": "Chip spec filter/input/suggestion/display variants, aria-pressed on toggle, independent remove aria-label"
410
+ "name": "model-prices",
411
+ "path": "reference/model-prices.md",
412
+ "type": "data",
413
+ "description": "Anthropic model pricing table used by the telemetry aggregator"
463
414
  },
464
415
  {
465
- "name": "component-menu",
466
- "path": "reference/components/menu.md",
467
- "type": "component-spec",
468
- "description": "Menu spec — role=menu + role=menuitem, arrow-key nav, click-only open, sub-menu ArrowRight"
416
+ "name": "model-tiers",
417
+ "path": "reference/model-tiers.md",
418
+ "type": "data",
419
+ "description": "Per-agent default tier map and rationale"
469
420
  },
470
421
  {
471
- "name": "component-navbar",
472
- "path": "reference/components/navbar.md",
473
- "type": "component-spec",
474
- "description": "Navbar spec role=banner + role=navigation, skip link, aria-current=page, hamburger aria-expanded"
422
+ "name": "motion",
423
+ "path": "reference/motion.md",
424
+ "type": "motion",
425
+ "description": "Motion vocabulary seed (extended in Phase 18)"
475
426
  },
476
427
  {
477
- "name": "component-sidebar",
478
- "path": "reference/components/sidebar.md",
479
- "type": "component-spec",
480
- "description": "Sidebar spec — aria-label=Secondary, icon+label vs icon-only collapsed, settings-nav + dashboard-nav variants"
428
+ "name": "motion-advanced",
429
+ "path": "reference/motion-advanced.md",
430
+ "type": "motion",
431
+ "phase": 18,
432
+ "description": "Advanced motion: spring physics, FLIP, scroll-driven, View Transitions API, gesture/drag mechanics, clip-path animations, blur crossfades, WAAPI, Framer Motion hardware-accel gotcha, motion cohesion (REF-17)"
481
433
  },
482
434
  {
483
- "name": "component-breadcrumbs",
484
- "path": "reference/components/breadcrumbs.md",
485
- "type": "component-spec",
486
- "description": "Breadcrumbs spec — aria-current=page on last item, aria-hidden separators, ol not ul"
435
+ "name": "motion-easings",
436
+ "path": "reference/motion-easings.md",
437
+ "type": "motion",
438
+ "phase": 18,
439
+ "description": "12 canonical easing presets from RN MIT upstream — linear/quad/cubic/poly/sin/circle/exp/elastic/back/bounce/bezier + in/out/inOut wrappers; --ease-* token catalog; 60fps settle-times (MOT-01)"
487
440
  },
488
441
  {
489
- "name": "component-pagination",
490
- "path": "reference/components/pagination.md",
491
- "type": "component-spec",
492
- "description": "Pagination spec — aria-label=Pagination, aria-current=page, per-page select with visible label"
442
+ "name": "motion-interpolate",
443
+ "path": "reference/motion-interpolate.md",
444
+ "type": "motion",
445
+ "phase": 18,
446
+ "description": "Input→output range mapping + 4 extrapolation modes (extend|identity|clamp|wrap); taxonomy of progress/scroll/gesture/time-linked animations (MOT-02)"
493
447
  },
494
448
  {
495
- "name": "component-table",
496
- "path": "reference/components/table.md",
497
- "type": "component-spec",
498
- "description": "Table spec — scope=col on th, aria-sort, aria-selected on rows, role=grid vs role=table, virtualise >200"
449
+ "name": "motion-map-contract",
450
+ "path": "reference/output-contracts/motion-map.schema.json",
451
+ "type": "output-contract",
452
+ "phase": 18,
453
+ "description": "JSON schema for motion-mapper structured output block — easing, transition_family, duration_class, trigger per animation binding (MOT-04)"
499
454
  },
500
455
  {
501
- "name": "component-list",
502
- "path": "reference/components/list.md",
503
- "type": "component-spec",
504
- "description": "List spec — display (ul/li) vs interactive (role=listbox + role=option), virtualise >100 items"
456
+ "name": "motion-spring",
457
+ "path": "reference/motion-spring.md",
458
+ "type": "motion",
459
+ "phase": 18,
460
+ "description": "Spring stiffness/damping/mass triad + 4 canonical presets (gentle/wobbly/stiff/slow) with 60fps settle-times; Framer Motion + React Spring syntax; CSS linear() approximation (MOT-05)"
505
461
  },
506
462
  {
507
- "name": "component-tree",
508
- "path": "reference/components/tree.md",
509
- "type": "component-spec",
510
- "description": "Tree spec — role=tree + role=treeitem + role=group, aria-expanded, aria-level, aria-busy lazy-load"
463
+ "name": "motion-transition-taxonomy",
464
+ "path": "reference/motion-transition-taxonomy.md",
465
+ "type": "motion",
466
+ "phase": 18,
467
+ "description": "8 controlled transition families from hyperframes Apache-2.0: 3d, blur, cover, destruction, dissolve, distortion, grid, light — each with definition, canonical examples, when-to-use (MOT-03)"
511
468
  },
512
469
  {
513
- "name": "component-command-palette",
514
- "path": "reference/components/command-palette.md",
515
- "type": "component-spec",
516
- "description": "Command-palette spec role=dialog + aria-modal, focus trap, role=combobox + aria-controls, Cmd/Ctrl+K"
470
+ "name": "onboarding-progressive-disclosure",
471
+ "path": "reference/onboarding-progressive-disclosure.md",
472
+ "type": "heuristic",
473
+ "description": "First-run patterns, feature discovery, Aha-moment mapping, onboarding anti-patterns"
517
474
  },
518
475
  {
519
- "name": "component-date-picker",
520
- "path": "reference/components/date-picker.md",
521
- "type": "component-spec",
522
- "description": "Date-picker spec — input + range, calendar role=dialog, day gridcell+button, native mobile fallback"
476
+ "name": "palette-catalog",
477
+ "path": "reference/palette-catalog.md",
478
+ "type": "palette",
479
+ "description": "40+ industry-vertical color palettes (WCAG verified, UUPM MIT)"
523
480
  },
524
481
  {
525
- "name": "component-slider",
526
- "path": "reference/components/slider.md",
527
- "type": "component-spec",
528
- "description": "Slider spec role=slider + aria-valuenow/min/max/valuetext, 44px thumb touch target, Page Up/Down ±10%"
482
+ "name": "palettes-data",
483
+ "path": "reference/data/palettes.csv",
484
+ "type": "data",
485
+ "description": "CSV data sibling for palette-catalog.md"
529
486
  },
530
487
  {
531
- "name": "component-file-upload",
532
- "path": "reference/components/file-upload.md",
533
- "type": "component-spec",
534
- "description": "File-upload spec drop-zone + picker, input[type=file] never display:none, remove aria-label"
488
+ "name": "parallelism-rules",
489
+ "path": "reference/parallelism-rules.md",
490
+ "type": "heuristic",
491
+ "description": "Rules for serial/parallel agent dispatch and Touches conflict detection"
535
492
  },
536
493
  {
537
- "name": "component-rich-text-editor",
538
- "path": "reference/components/rich-text-editor.md",
539
- "type": "component-spec",
540
- "description": "Rich-text editor spec — contenteditable + role=textbox, toolbar role=toolbar, aria-pressed on toggles"
494
+ "name": "performance",
495
+ "path": "reference/performance.md",
496
+ "type": "heuristic",
497
+ "description": "Core Web Vitals budgets, JS/font/image budgets, React runtime perf"
541
498
  },
542
499
  {
543
- "name": "component-stepper",
544
- "path": "reference/components/stepper.md",
545
- "type": "component-spec",
546
- "description": "Stepper spec role=list (not role=tablist), aria-current=step, wizard/onboarding/checkout flow context"
500
+ "name": "platforms",
501
+ "path": "reference/platforms.md",
502
+ "type": "heuristic",
503
+ "description": "iOS/Android/web/visionOS/watchOS conventions: nav patterns, safe areas, gestures, native typography, haptics"
504
+ },
505
+ {
506
+ "name": "priority-matrix",
507
+ "path": "reference/priority-matrix.md",
508
+ "type": "heuristic",
509
+ "description": "Severity × Effort priority-score formula used by gap prioritizers"
510
+ },
511
+ {
512
+ "name": "project-skills-guide",
513
+ "path": "reference/project-skills-guide.md",
514
+ "type": "heuristic",
515
+ "description": "Guide for authoring project-skill artifacts (sketch/spike wrap-ups)"
516
+ },
517
+ {
518
+ "name": "protected-paths.default",
519
+ "path": "reference/protected-paths.default.json",
520
+ "type": "defaults",
521
+ "description": "Default glob list the plugin refuses to Edit/Write/mutate-via-Bash without override"
522
+ },
523
+ {
524
+ "name": "retrieval-contract",
525
+ "path": "reference/retrieval-contract.md",
526
+ "type": "preamble",
527
+ "description": "3-layer search → metadata → full-doc protocol with per-row token-cost labels"
528
+ },
529
+ {
530
+ "name": "review-format",
531
+ "path": "reference/review-format.md",
532
+ "type": "output-contract",
533
+ "description": "Format of code-review output documents"
534
+ },
535
+ {
536
+ "name": "rtl-cjk-cultural",
537
+ "path": "reference/rtl-cjk-cultural.md",
538
+ "type": "heuristic",
539
+ "description": "RTL mirroring, CJK typography, Arabic/Hebrew/Devanagari, cultural color meanings, inclusive imagery"
540
+ },
541
+ {
542
+ "name": "shared-preamble",
543
+ "path": "reference/shared-preamble.md",
544
+ "type": "preamble",
545
+ "tier": "L0",
546
+ "description": "L0 aggregator — imports meta-rules first and exposes Framework Identity + Ordering Convention + Pre-Warming"
547
+ },
548
+ {
549
+ "name": "start-interview",
550
+ "path": "reference/start-interview.md",
551
+ "type": "preamble",
552
+ "description": "Locked 5-question interview consumed by /gdd:start (Phase 14.7) — pain, target-area, budget, framework/DS confirmation, Figma/canvas workflow"
553
+ },
554
+ {
555
+ "name": "style-vocabulary",
556
+ "path": "reference/style-vocabulary.md",
557
+ "type": "style-vocabulary",
558
+ "description": "67 UI aesthetics with keywords, effects, best-for, era (UUPM MIT)"
559
+ },
560
+ {
561
+ "name": "styles-data",
562
+ "path": "reference/data/styles.csv",
563
+ "type": "data",
564
+ "description": "CSV data sibling for style-vocabulary.md"
565
+ },
566
+ {
567
+ "name": "surfaces",
568
+ "path": "reference/surfaces.md",
569
+ "type": "surfaces",
570
+ "description": "Concentric radius, optical alignment, 3-layer shadow, image outlines, hit areas"
571
+ },
572
+ {
573
+ "name": "typography",
574
+ "path": "reference/typography.md",
575
+ "type": "heuristic",
576
+ "description": "Typography-system heuristics used by visual-hierarchy-mapper"
577
+ },
578
+ {
579
+ "name": "user-research",
580
+ "path": "reference/user-research.md",
581
+ "type": "heuristic",
582
+ "description": "Research method matrix, A/B testing, synthesis techniques, research ethics"
583
+ },
584
+ {
585
+ "name": "variable-fonts-loading",
586
+ "path": "reference/variable-fonts-loading.md",
587
+ "type": "typography",
588
+ "phase": 18,
589
+ "description": "Variable font axes, font-display trade-offs, WOFF2 subsetting, FOIT/FOUT, fallback metric overrides, GRAD axis for dark mode, system font stacks (REF-14)"
590
+ },
591
+ {
592
+ "name": "visual-hierarchy-layout",
593
+ "path": "reference/visual-hierarchy-layout.md",
594
+ "type": "heuristic",
595
+ "description": "Z-order, whitespace, grids, F/Z patterns, 24 landing archetypes"
547
596
  }
548
597
  ]
549
598
  }