@hegemonart/get-design-done 1.24.2 → 1.26.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/marketplace.json +2 -2
- package/.claude-plugin/plugin.json +1 -1
- package/CHANGELOG.md +87 -0
- package/README.de.md +679 -0
- package/README.fr.md +679 -0
- package/README.it.md +679 -0
- package/README.ja.md +679 -0
- package/README.ko.md +679 -0
- package/README.md +399 -728
- package/README.zh-CN.md +480 -133
- package/SKILL.md +2 -0
- package/agents/README.md +60 -0
- package/agents/design-reflector.md +43 -0
- package/agents/gdd-intel-updater.md +34 -1
- package/agents/prototype-gate.md +122 -0
- package/agents/quality-gate-runner.md +125 -0
- package/hooks/budget-enforcer.ts +275 -11
- package/hooks/gdd-decision-injector.js +183 -3
- package/hooks/gdd-turn-closeout.js +238 -0
- package/hooks/hooks.json +10 -0
- package/package.json +5 -5
- package/reference/STATE-TEMPLATE.md +41 -0
- package/reference/config-schema.md +30 -0
- package/reference/model-prices.md +40 -19
- package/reference/prices/antigravity.md +21 -0
- package/reference/prices/augment.md +21 -0
- package/reference/prices/claude.md +42 -0
- package/reference/prices/cline.md +23 -0
- package/reference/prices/codebuddy.md +21 -0
- package/reference/prices/codex.md +25 -0
- package/reference/prices/copilot.md +21 -0
- package/reference/prices/cursor.md +21 -0
- package/reference/prices/gemini.md +25 -0
- package/reference/prices/kilo.md +21 -0
- package/reference/prices/opencode.md +23 -0
- package/reference/prices/qwen.md +25 -0
- package/reference/prices/trae.md +23 -0
- package/reference/prices/windsurf.md +21 -0
- package/reference/registry.json +107 -1
- package/reference/runtime-models.md +446 -0
- package/reference/schemas/runtime-models.schema.json +123 -0
- package/scripts/install.cjs +8 -0
- package/scripts/lib/budget-enforcer.cjs +446 -0
- package/scripts/lib/cost-arbitrage.cjs +294 -0
- package/scripts/lib/gdd-state/mutator.ts +454 -0
- package/scripts/lib/gdd-state/parser.ts +351 -1
- package/scripts/lib/gdd-state/types.ts +193 -0
- package/scripts/lib/install/installer.cjs +188 -11
- package/scripts/lib/install/parse-runtime-models.cjs +267 -0
- package/scripts/lib/install/runtimes.cjs +43 -0
- package/scripts/lib/quality-gate-detect.cjs +126 -0
- package/scripts/lib/runtime-detect.cjs +96 -0
- package/scripts/lib/tier-resolver.cjs +311 -0
- package/scripts/validate-frontmatter.ts +138 -1
- package/skills/quality-gate/SKILL.md +222 -0
- package/skills/router/SKILL.md +79 -10
- package/skills/sketch-wrap-up/SKILL.md +47 -2
- package/skills/spike-wrap-up/SKILL.md +41 -2
- package/skills/turn-closeout/SKILL.md +115 -0
- package/skills/verify/SKILL.md +22 -0
package/README.md
CHANGED
|
@@ -2,16 +2,16 @@
|
|
|
2
2
|
|
|
3
3
|
# GET DESIGN DONE
|
|
4
4
|
|
|
5
|
-
**English** · [简体中文](README.zh-CN.md)
|
|
5
|
+
**English** · [简体中文](README.zh-CN.md) · [日本語](README.ja.md) · [한국어](README.ko.md) · [Français](README.fr.md) · [Italiano](README.it.md) · [Deutsch](README.de.md)
|
|
6
6
|
|
|
7
|
-
**
|
|
7
|
+
**A design-quality pipeline for AI coding agents: brief → explore → plan → implement → verify.**
|
|
8
8
|
|
|
9
|
-
**
|
|
9
|
+
**Get Design Done keeps AI-generated UI tied to your brief, your design system, your references, and your quality gates. Works with Claude Code, OpenCode, Gemini CLI, Kilo, Codex, Copilot, Cursor, Windsurf, Antigravity, Augment, Trae, Qwen Code, CodeBuddy, and Cline.**
|
|
10
10
|
|
|
11
11
|
[](https://www.npmjs.com/package/@hegemonart/get-design-done)
|
|
12
12
|
[](https://www.npmjs.com/package/@hegemonart/get-design-done)
|
|
13
|
-
[](https://github.com/hegemonart/get-design-done)
|
|
14
13
|
[](https://github.com/hegemonart/get-design-done/actions/workflows/ci.yml)
|
|
14
|
+
[](https://github.com/hegemonart/get-design-done)
|
|
15
15
|
[](https://nodejs.org/)
|
|
16
16
|
[](LICENSE)
|
|
17
17
|
|
|
@@ -21,15 +21,15 @@
|
|
|
21
21
|
npx @hegemonart/get-design-done@latest
|
|
22
22
|
```
|
|
23
23
|
|
|
24
|
-
**
|
|
24
|
+
**Works on macOS, Linux, and Windows.**
|
|
25
25
|
|
|
26
26
|
<br>
|
|
27
27
|
|
|
28
|
-
*"
|
|
28
|
+
*"AI coding agents ship UI fast. Get Design Done makes sure it ships as design."*
|
|
29
29
|
|
|
30
30
|
<br>
|
|
31
31
|
|
|
32
|
-
[Why I Built This](#why-i-built-this) · [How It Works](#how-it-works) · [
|
|
32
|
+
[Why I Built This](#why-i-built-this) · [How It Works](#how-it-works) · [Commands](#commands) · [Connections](#connections) · [Why It Works](#why-it-works)
|
|
33
33
|
|
|
34
34
|
</div>
|
|
35
35
|
|
|
@@ -44,91 +44,86 @@ npx @hegemonart/get-design-done@latest
|
|
|
44
44
|
> /gdd:handoff ./my-design.html
|
|
45
45
|
> ```
|
|
46
46
|
>
|
|
47
|
-
>
|
|
47
|
+
> Parses the bundle's CSS custom properties into D-XX design decisions, runs the verification pass with Handoff Faithfulness scoring, and optionally writes implementation status back to Figma.
|
|
48
48
|
|
|
49
49
|
---
|
|
50
50
|
|
|
51
51
|
## Why I Built This
|
|
52
52
|
|
|
53
|
-
I'm a designer who ships with
|
|
53
|
+
I'm a designer who ships with AI coding agents. The code-side workflow is mature: specs, tasks, tests, commits, review loops. The design-side workflow was not.
|
|
54
54
|
|
|
55
|
-
What I kept running into:
|
|
55
|
+
What I kept running into: the agent could generate a screen that looked fine in isolation, but the work was disconnected. Tokens did not match the existing system. Contrast ratios drifted below WCAG. Hierarchy got reinvented per screen. Old anti-patterns leaked into new components. And because nothing verified the output against the original brief, the problems usually surfaced late, in PR review or after handoff.
|
|
56
56
|
|
|
57
|
-
So I built Get Design Done
|
|
57
|
+
So I built Get Design Done: a design pipeline that gives AI coding agents the same kind of structure developers already expect from engineering workflows. It captures the brief, maps the current design system, grounds decisions in references, decomposes the work into atomic tasks, executes those tasks, and verifies the result before you ship.
|
|
58
58
|
|
|
59
|
-
|
|
59
|
+
Behind the scenes: 37 specialized agents, a queryable intel store, tier-aware model routing, 12 optional tool connections, atomic commits, and a no-regret adaptive layer that learns from solidify-with-rollback outcomes. What you use day to day: a few `/gdd:*` commands that keep design work coherent.
|
|
60
60
|
|
|
61
61
|
— **Hegemon**
|
|
62
62
|
|
|
63
63
|
---
|
|
64
64
|
|
|
65
|
-
|
|
65
|
+
AI-generated design has the same failure mode as AI-generated code: describe what you want, get something plausible, then watch it fall apart at scale because no system tied the output back to the brief.
|
|
66
66
|
|
|
67
|
-
Get Design Done
|
|
67
|
+
Get Design Done is the context engineering layer for design work. It turns "make this UI better" into a traceable cycle: brief → inventory → references → plan → implementation → verification.
|
|
68
68
|
|
|
69
69
|
---
|
|
70
70
|
|
|
71
|
-
##
|
|
72
|
-
|
|
73
|
-
Anyone shipping UI with Claude Code who expects the output to actually hold up — engineers, designers, design-engineers, solo founders. If you care that tokens match, contrast passes WCAG, and the result ties back to what you asked for, this is for you.
|
|
74
|
-
|
|
75
|
-
You don't need to be a designer. The pipeline carries the design expertise so you don't have to — it extracts the system, grounds in references, verifies against the brief, and catches the things people usually miss.
|
|
76
|
-
|
|
77
|
-
Built-in quality gates catch real problems: Handoff Faithfulness scoring on Claude Design bundles, contrast audits across the full palette × surface matrix, anti-pattern detection from the NNG catalog, dark-mode architecture verification, and motion-system consistency checks.
|
|
78
|
-
|
|
79
|
-
### v1.19.0 Highlights — Full Knowledge Coverage (18 reference files)
|
|
80
|
-
|
|
81
|
-
- **Knowledge-layer complete** — The plugin now ships **18 reference files** covering every major design-knowledge domain identified in the 2026-04-18 coverage audit. Agents have authoritative answers on platform conventions, internationalization, research methodology, information architecture, form design, and data visualization — in addition to the foundational knowledge from v1.15.0.
|
|
82
|
-
- **7 new Phase 19 references** — `platforms.md` (iOS/Android/web/visionOS/watchOS), `rtl-cjk-cultural.md` (RTL + CJK + cultural color), `onboarding-progressive-disclosure.md`, `user-research.md` (method matrix, A/B, ethics), `information-architecture.md` (nav patterns, tree-test benchmarks), `form-patterns.md` (Wroblewski label research, autocomplete taxonomy, CAPTCHA ethics), `data-visualization.md` (25 chart types, Okabe-Ito palette, dashboard patterns — UUPM MIT).
|
|
83
|
-
- **New `type:forms` executor task type** — `design-executor` now has a dedicated 7-step checklist for form audits: label position, validation timing, autocomplete tokens, inputmode hints, password UX, multi-step state, and CAPTCHA compliance.
|
|
84
|
-
- **Platform + locale detection in context-builder** — `design-context-builder` now explicitly prompts for locale/RTL/CJK requirements (Area 2) and device targets with platform references (Area 6), ensuring downstream agents receive the full platform context.
|
|
71
|
+
## What You Get
|
|
85
72
|
|
|
86
|
-
|
|
73
|
+
- **Brief-grounded design work** — every cycle starts with the problem, audience, constraints, success metrics, and must-haves.
|
|
74
|
+
- **Design-system extraction** — GDD inventories tokens, typography, spacing, components, motion, accessibility, dark mode, and design debt before planning changes.
|
|
75
|
+
- **Reference-backed decisions** — agents use embedded design references plus optional Figma, Refero, Pinterest, Storybook, Chromatic, Preview, Claude Design, paper.design, pencil.dev, Graphify, 21st.dev Magic, and Magic Patterns connections.
|
|
76
|
+
- **Atomic execution** — design tasks are decomposed by dependency, run in safe waves, and committed independently.
|
|
77
|
+
- **Verification before shipping** — audits check brief fit, token integration, WCAG contrast, component conformance, motion consistency, dark-mode architecture, and design anti-patterns.
|
|
78
|
+
- **Rollback on failed validation** — solidify-with-rollback validates each task before it sticks; failed work is automatically reverted.
|
|
87
79
|
|
|
88
|
-
|
|
89
|
-
- **Motion vocabulary (RN MIT upstream)** — `motion-easings.md` (12 canonical curve presets, `--ease-*` token catalog), `motion-interpolate.md` (input→output range + 4 extrapolation modes: extend/identity/clamp/wrap), `motion-spring.md` (gentle/wobbly/stiff/slow presets with 60fps settle-times). Optional math helpers at `scripts/lib/easings.cjs` and `scripts/lib/spring.cjs`.
|
|
90
|
-
- **Transition taxonomy (hyperframes Apache-2.0)** — `motion-transition-taxonomy.md` names 8 controlled families (3d, blur, cover, destruction, dissolve, distortion, grid, light) so motion-mapper output diffs cleanly cycle-over-cycle.
|
|
91
|
-
- **Structured motion-map output** — `motion-mapper` now emits a JSON block at the top of `.design/map/motion.md` conforming to `reference/output-contracts/motion-map.schema.json`. Every animation binding declares easing (canonical or custom+justification), transition family, duration class, and trigger type. `scripts/lib/parse-contract.cjs` validates and returns structured data or actionable error.
|
|
92
|
-
- **Agent wiring** — `token-mapper` gains easing consolidation (raw `cubic-bezier()` → `--ease-*` token recommendations); `design-executor` reads craft references per task type; `design-auditor` scores gesture patterns and clip-path animations as advanced-craft signal (positive, not a penalty).
|
|
93
|
-
|
|
94
|
-
### v1.15.0 Highlights — Design Knowledge Expansion
|
|
95
|
-
|
|
96
|
-
- **10 new foundational references** — `iconography.md`, `performance.md`, `brand-voice.md`, `visual-hierarchy-layout.md`, `gestalt.md`, `design-system-guidance.md`, `design-systems-catalog.md`, `framer-motion-patterns.md`, `palette-catalog.md`, `style-vocabulary.md`. Agents now have authoritative answers on icon sizing, Web Vitals budgets, brand voice axes, Gestalt principles, DS governance, and 40+ industry-vertical color palettes.
|
|
97
|
-
- **MIFB micro-polish track** — MIT content from [Jakub Krehel](https://jakub.kr/writing/details-that-make-interfaces-feel-better): new `reference/surfaces.md` (concentric radius, 3-layer shadow), `text-wrap: balance/pretty`, canonical press scale `0.96`, `AnimatePresence initial={false}`, `bounce: 0` icon cross-fade, and 4 new BAN entries. All four mapper agents gain "Micro-polish findings" detection. New 7th audit pillar: **Micro-polish** (5%).
|
|
98
|
-
- **UUPM data ingest** — One-shot MIT snapshot from [nextlevelbuilder/ui-ux-pro-max-skill](https://github.com/nextlevelbuilder/ui-ux-pro-max-skill) v2.5.0: icon metaphor taxonomy, React perf heuristics, 20+ industry verticals, 24 landing-page archetypes, 57 font pairings, 40+ WCAG-verified palettes, 38+ UI aesthetic styles — all rewritten in GDD voice.
|
|
99
|
-
- **⚠️ Breaking** — 7th audit pillar changes Anti-Pattern Compliance weight (10%→5%). Cross-cycle score comparisons spanning v1.14.x and v1.15.0 should account for this weight shift.
|
|
100
|
-
|
|
101
|
-
### v1.14.0 Highlights
|
|
80
|
+
---
|
|
102
81
|
|
|
103
|
-
|
|
104
|
-
- **Component generators** — 21st.dev Magic MCP adds a prior-art gate before any greenfield build; Magic Patterns generates DS-aware components with a `preview_url` for visual verification. Both feed into a shared `design-component-generator` agent.
|
|
105
|
-
- **Twelve tool connections** — Four new connections (paper.design, pencil.dev, 21st.dev, Magic Patterns) join the original eight. All are optional; the pipeline degrades gracefully to fallbacks when any connection is unavailable.
|
|
82
|
+
## Who This Is For
|
|
106
83
|
|
|
107
|
-
|
|
84
|
+
GDD is for engineers, designers, design engineers, founders, and product builders who ship UI with AI coding agents and need the result to hold together beyond the first screenshot.
|
|
108
85
|
|
|
109
|
-
|
|
86
|
+
Use it when you care that tokens match, contrast passes WCAG, motion feels cohesive, components follow your system, and the final implementation still matches what you asked for.
|
|
110
87
|
|
|
111
|
-
|
|
88
|
+
You do not need to be a designer to benefit from it. The pipeline carries the design discipline into the agent workflow: it extracts context, asks only for missing decisions, grounds the work in references, and catches the issues people usually find too late.
|
|
112
89
|
|
|
113
|
-
|
|
90
|
+
### v1.26.0 Highlights — Headless Model Resolver
|
|
114
91
|
|
|
115
|
-
|
|
92
|
+
Closes the model-selection gap left by v1.24.0's distribution headlessness: `default-tier: opus|sonnet|haiku` frontmatter now actually does something on the 13 non-Claude runtimes the multi-runtime installer ships to. Three layers gain runtime-awareness without a breaking change — agent frontmatter, router output, and cost telemetry all keep their existing fields and gain new additive ones.
|
|
116
93
|
|
|
117
|
-
**
|
|
94
|
+
- **Per-runtime tier→model adapter** — `reference/runtime-models.md` is the single source of truth for all 14 runtimes (claude, codex, gemini, qwen, kilo, copilot, cursor, windsurf, antigravity, augment, trae, codebuddy, cline, opencode). Each row carries `tier_to_model`, `reasoning_class_to_model`, and a provenance array (source URL + retrieval timestamp + last-validated cycle). Strict pure-JS validator at `scripts/lib/install/parse-runtime-models.cjs` — no `ajv` dependency at the parser layer.
|
|
95
|
+
- **`tier-resolver.cjs` + `runtime-detect.cjs`** — translates `opus|sonnet|haiku` frontmatter into the concrete model name a specific runtime understands (`gpt-5` under codex, `gemini-2.5-pro` under gemini, `claude-opus-4-7` under claude). Non-blocking fallback chain: runtime entry → claude row + warning event → null + fail event. Runtime detection reuses Phase 24's env-var lookup chain — single source of truth lives in `scripts/lib/install/runtimes.cjs`.
|
|
96
|
+
- **`resolved_models` router field** — the router's JSON output now carries a per-agent map of concrete model IDs for the active runtime, alongside the legacy `model_tier_overrides` (which keeps its `opus|sonnet|haiku` enum for back-compat across all 14 runtimes). Strict superset over v1.25.0 — same back-compat discipline as Phase 25's `complexity_class` next to `path`. Installer also drops a `models.json` per runtime config-dir so runtime harnesses can read the map at session start without parsing markdown.
|
|
97
|
+
- **Per-runtime price tables + cost arbitrage** — `reference/model-prices.md` becomes a router that links to per-runtime sub-tables (`reference/prices/{claude,codex,gemini,qwen,…}.md`). The shared `scripts/lib/budget-enforcer.cjs` backend reads them by runtime. events.jsonl cost rows tag `runtime`; the cost-aggregator rolls up per-runtime AND per-tier. Reflector surfaces a structured cross-runtime arbitrage proposal when one runtime's spend exceeds another's by >50% on the same `(agent, tier)`.
|
|
98
|
+
- **`reasoning-class` runtime-neutral alias** — additive `reasoning-class: high|medium|low` frontmatter alias for `default-tier`. Both may coexist; equivalence is enforced (`high ↔ opus`, `medium ↔ sonnet`, `low ↔ haiku`). v1.26 ships the alias with full equivalence semantics and does **not** deprecate `default-tier` — long-term winner is data-gated by adoption signal through Phase 28.
|
|
118
99
|
|
|
119
|
-
|
|
100
|
+
See [docs/MULTI-RUNTIME-MODELS.md](docs/MULTI-RUNTIME-MODELS.md) for the ops guide (adding a runtime, fallback chain, cost roll-up).
|
|
120
101
|
|
|
121
|
-
|
|
102
|
+
### Previous releases
|
|
122
103
|
|
|
123
|
-
|
|
104
|
+
- **v1.25.0** — Pipeline Hardening (prototype gate + STATE `<prototyping>` block, router S/M/L/XL `complexity_class`, quality-gate Stage 4.5, Stop-hook turn closeout).
|
|
105
|
+
- **v1.24.0** — Multi-Runtime Installer (`@clack/prompts` interactive multi-select for all 14 runtimes, idempotent + foreign-AGENTS.md-safe, scripted CI surface preserved 1:1).
|
|
106
|
+
- **v1.23.5** — No-Regret Adaptive Layer (Thompson sampling bandit + AdaNormalHedge ensemble + MMR rerank; single-user via informed-prior bootstrap, no opt-in telemetry).
|
|
107
|
+
- **v1.23.0** — SDK Domain Primitives (solidify-with-rollback gate, JSON output contracts, auto-crystallization of `Touches:` patterns).
|
|
108
|
+
- **v1.22.0** — SDK Observability (~24 typed event types, per-tool-call trajectory, append-only event chain, secret scrubber).
|
|
109
|
+
- **v1.21.0** — Headless SDK (`gdd-sdk` CLI runs full pipeline without Claude Code, parallel researchers, cross-harness MCP).
|
|
110
|
+
- **v1.20.0** — SDK Foundation (resilience primitives, lockfile-safe `STATE.md`, `gdd-state` MCP server with 11 typed tools, TypeScript foundation).
|
|
124
111
|
|
|
125
|
-
|
|
112
|
+
For full release notes see [CHANGELOG.md](CHANGELOG.md).
|
|
126
113
|
|
|
127
|
-
|
|
114
|
+
---
|
|
128
115
|
|
|
129
|
-
|
|
116
|
+
<p align="center">
|
|
117
|
+
<strong>Supported by</strong>
|
|
118
|
+
</p>
|
|
130
119
|
|
|
131
|
-
|
|
120
|
+
<div align="center">
|
|
121
|
+
<a href="https://www.humbleteam.com/" aria-label="Humbleteam">
|
|
122
|
+
<img src="docs/assets/sponsors/humbleteam.svg" alt="Humbleteam logo" width="180">
|
|
123
|
+
</a>
|
|
124
|
+
<br>
|
|
125
|
+
<sub>Product design partner for ambitious startups and AI products.</sub>
|
|
126
|
+
</div>
|
|
132
127
|
|
|
133
128
|
---
|
|
134
129
|
|
|
@@ -138,103 +133,98 @@ Built-in quality gates catch real problems: Handoff Faithfulness scoring on Clau
|
|
|
138
133
|
npx @hegemonart/get-design-done@latest
|
|
139
134
|
```
|
|
140
135
|
|
|
141
|
-
|
|
136
|
+
The installer prompts you to choose:
|
|
137
|
+
1. **Runtime** — Claude Code, OpenCode, Gemini, Kilo, Codex, Copilot, Cursor, Windsurf, Antigravity, Augment, Trae, Qwen Code, CodeBuddy, Cline, or all (interactive multi-select — pick multiple runtimes in a single session)
|
|
138
|
+
2. **Location** — Global (all projects) or local (current project only)
|
|
142
139
|
|
|
143
|
-
|
|
140
|
+
Verify with:
|
|
144
141
|
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
142
|
+
```
|
|
143
|
+
/gdd:help
|
|
144
|
+
```
|
|
148
145
|
|
|
149
|
-
|
|
146
|
+
> [!TIP]
|
|
147
|
+
> Run Claude Code with `--dangerously-skip-permissions` for a frictionless experience. GDD is designed for autonomous multi-stage execution — approving each Read and `git commit` defeats the purpose.
|
|
150
148
|
|
|
151
|
-
|
|
149
|
+
### Staying Updated
|
|
152
150
|
|
|
153
|
-
|
|
154
|
-
- For AGENTS.md runtimes: drops a fingerprinted `AGENTS.md` (or `GEMINI.md`) in the runtime's config dir.
|
|
155
|
-
- Preserves every other key in your settings — theme, permissions, other marketplaces — untouched.
|
|
156
|
-
- Idempotent: safe to re-run; no duplicate entries; foreign AGENTS.md files are never overwritten.
|
|
151
|
+
GDD ships often. Update by re-running the installer (it's idempotent — updates registered marketplace entries in place):
|
|
157
152
|
|
|
158
|
-
|
|
153
|
+
```bash
|
|
154
|
+
npx @hegemonart/get-design-done@latest
|
|
155
|
+
```
|
|
159
156
|
|
|
160
|
-
|
|
157
|
+
Or from inside Claude Code:
|
|
161
158
|
|
|
162
159
|
```
|
|
163
|
-
/gdd:
|
|
160
|
+
/gdd:update
|
|
164
161
|
```
|
|
165
162
|
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
A one-line SessionStart nudge surfaces `/gdd:start` in fresh repos; run `/gdd:start --dismiss-nudge` to silence it per install.
|
|
163
|
+
`/gdd:update` previews the changelog before applying. Local modifications under `reference/` are preserved — if a structural update needs re-stitching, run `/gdd:reapply-patches`. When a new release lands, the SessionStart hook prints a one-line banner gated by state-machine logic so it never interrupts a running stage.
|
|
169
164
|
|
|
170
|
-
|
|
165
|
+
<details>
|
|
166
|
+
<summary><strong>Non-interactive Install (Docker, CI, Scripts)</strong></summary>
|
|
171
167
|
|
|
172
168
|
```bash
|
|
173
|
-
#
|
|
174
|
-
npx @hegemonart/get-design-done
|
|
175
|
-
|
|
176
|
-
# Custom config dir (Docker, non-default Claude root)
|
|
177
|
-
CLAUDE_CONFIG_DIR=/workspace/.claude npx @hegemonart/get-design-done@latest
|
|
178
|
-
|
|
179
|
-
# Pick specific runtimes (any flag → scripted, no prompts)
|
|
180
|
-
npx @hegemonart/get-design-done@latest --claude --opencode --gemini
|
|
181
|
-
|
|
182
|
-
# Install into every supported runtime
|
|
183
|
-
npx @hegemonart/get-design-done@latest --all
|
|
169
|
+
# Claude Code
|
|
170
|
+
npx @hegemonart/get-design-done --claude --global # Install to ~/.claude/
|
|
171
|
+
npx @hegemonart/get-design-done --claude --local # Install to ./.claude/
|
|
184
172
|
|
|
185
|
-
#
|
|
186
|
-
npx @hegemonart/get-design-done
|
|
173
|
+
# OpenCode
|
|
174
|
+
npx @hegemonart/get-design-done --opencode --global # Install to ~/.config/opencode/
|
|
187
175
|
|
|
188
|
-
#
|
|
189
|
-
npx @hegemonart/get-design-done
|
|
176
|
+
# Gemini CLI
|
|
177
|
+
npx @hegemonart/get-design-done --gemini --global # Install to ~/.gemini/
|
|
190
178
|
|
|
191
|
-
#
|
|
192
|
-
npx @hegemonart/get-design-done
|
|
193
|
-
```
|
|
179
|
+
# Kilo
|
|
180
|
+
npx @hegemonart/get-design-done --kilo --global # Install to ~/.kilo/
|
|
194
181
|
|
|
195
|
-
|
|
182
|
+
# Codex
|
|
183
|
+
npx @hegemonart/get-design-done --codex --global # Install to ~/.codex/
|
|
196
184
|
|
|
197
|
-
|
|
185
|
+
# Copilot
|
|
186
|
+
npx @hegemonart/get-design-done --copilot --global # Install to ~/.copilot/
|
|
198
187
|
|
|
199
|
-
|
|
188
|
+
# Cursor
|
|
189
|
+
npx @hegemonart/get-design-done --cursor --global # Install to ~/.cursor/
|
|
200
190
|
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
191
|
+
# Windsurf, Antigravity, Augment, Trae, Qwen, CodeBuddy, Cline
|
|
192
|
+
npx @hegemonart/get-design-done --windsurf --global
|
|
193
|
+
npx @hegemonart/get-design-done --antigravity --global
|
|
194
|
+
npx @hegemonart/get-design-done --augment --global
|
|
195
|
+
npx @hegemonart/get-design-done --trae --global
|
|
196
|
+
npx @hegemonart/get-design-done --qwen --global
|
|
197
|
+
npx @hegemonart/get-design-done --codebuddy --global
|
|
198
|
+
npx @hegemonart/get-design-done --cline --global
|
|
205
199
|
|
|
206
|
-
|
|
200
|
+
# All runtimes
|
|
201
|
+
npx @hegemonart/get-design-done --all --global
|
|
207
202
|
|
|
208
|
-
|
|
203
|
+
# Dry run (print diff, write nothing)
|
|
204
|
+
npx @hegemonart/get-design-done --dry-run
|
|
209
205
|
|
|
210
|
-
|
|
211
|
-
/
|
|
206
|
+
# Custom config dir (Docker, non-default Claude root)
|
|
207
|
+
CLAUDE_CONFIG_DIR=/workspace/.claude npx @hegemonart/get-design-done
|
|
212
208
|
```
|
|
213
209
|
|
|
214
|
-
>
|
|
215
|
-
> Run Claude Code with `--dangerously-skip-permissions` for the intended frictionless flow. GDD is built for autonomous multi-stage execution; approving every file read and `git commit` defeats the purpose.
|
|
216
|
-
|
|
217
|
-
### Staying Updated
|
|
210
|
+
</details>
|
|
218
211
|
|
|
219
|
-
|
|
212
|
+
<details>
|
|
213
|
+
<summary><strong>Alternative: Claude Code CLI</strong></summary>
|
|
220
214
|
|
|
221
215
|
```bash
|
|
222
|
-
|
|
216
|
+
claude plugin marketplace add hegemonart/get-design-done
|
|
217
|
+
claude plugin install get-design-done@get-design-done
|
|
223
218
|
```
|
|
224
219
|
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
```
|
|
228
|
-
/gdd:update
|
|
229
|
-
```
|
|
220
|
+
This is what the npx installer does for you — `npx` just collapses two commands into one.
|
|
230
221
|
|
|
231
|
-
|
|
222
|
+
</details>
|
|
232
223
|
|
|
233
|
-
---
|
|
234
224
|
|
|
235
225
|
## How It Works
|
|
236
226
|
|
|
237
|
-
> **New to
|
|
227
|
+
> **New to an existing codebase?** Run `/gdd:map` first. It dispatches 5 specialist mappers in parallel (tokens, components, visual hierarchy, a11y, motion) and writes structured JSON to `.design/map/` — much higher signal than the grep-based fallback in Explore.
|
|
238
228
|
|
|
239
229
|
### 1. Brief
|
|
240
230
|
|
|
@@ -242,15 +232,7 @@ Or from inside Claude Code:
|
|
|
242
232
|
/gdd:brief
|
|
243
233
|
```
|
|
244
234
|
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
1. **Problem** — The user-facing outcome you're solving
|
|
248
|
-
2. **Audience** — Primary user, device, context
|
|
249
|
-
3. **Constraints** — Tech stack, brand, time, a11y requirements
|
|
250
|
-
4. **Success Metrics** — How you'll know it worked
|
|
251
|
-
5. **Scope** — What's in, what's out
|
|
252
|
-
|
|
253
|
-
You approve the brief. Now the rest of the pipeline has something to verify against.
|
|
235
|
+
Captures the design problem before any scanning or exploration. The skill interviews via `AskUserQuestion`, one question at a time, only for unanswered sections: problem, audience, constraints, success metrics, scope.
|
|
254
236
|
|
|
255
237
|
**Creates:** `.design/BRIEF.md`
|
|
256
238
|
|
|
@@ -262,17 +244,9 @@ You approve the brief. Now the rest of the pipeline has something to verify agai
|
|
|
262
244
|
/gdd:explore
|
|
263
245
|
```
|
|
264
246
|
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
The skill probes all twelve connection slots (Figma, Refero, Pinterest, Preview, Storybook, Chromatic, Graphify, Claude Design, paper.design, pencil.dev, 21st.dev, Magic Patterns), then:
|
|
268
|
-
|
|
269
|
-
1. **Inventory scan** — If `.design/map/` exists and is fresher than `src/`, consumes the structured map output. Otherwise runs a grep-based inventory pass
|
|
270
|
-
2. **Design interview** — Spawns `design-discussant`, which runs an adaptive interview grounded in the brief and what it found in the code
|
|
271
|
-
3. **Baseline audit** — Writes `DESIGN.md` (current state), `DESIGN-DEBT.md` (known gaps), and `DESIGN-CONTEXT.md` (decisions + architectural responsibility map + Mermaid flow diagram)
|
|
247
|
+
Inventories the current codebase's design system: colors, typography, spacing, components, motion, a11y, dark-mode. Five parallel mappers + a `design-discussant` interview produce three artifacts. Connection probes detect Figma, Refero, Storybook, Chromatic, Preview, Pinterest, Claude Design, paper.design, pencil.dev, Graphify, 21st.dev Magic, and Magic Patterns availability.
|
|
272
248
|
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
**Creates:** `DESIGN.md`, `DESIGN-DEBT.md`, `DESIGN-CONTEXT.md`
|
|
249
|
+
**Creates:** `.design/DESIGN.md`, `.design/DESIGN-DEBT.md`, `.design/DESIGN-CONTEXT.md`, `.design/map/{tokens,components,a11y,motion,visual-hierarchy}.{md,json}`
|
|
276
250
|
|
|
277
251
|
---
|
|
278
252
|
|
|
@@ -282,15 +256,9 @@ The deeper you engage in the interview, the more the downstream planner and exec
|
|
|
282
256
|
/gdd:plan
|
|
283
257
|
```
|
|
284
258
|
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
1. **Researches** — `design-phase-researcher` investigates how to implement, guided by `DESIGN-CONTEXT.md` decisions. Consults Graphify knowledge graph when available, so dependency queries are O(1) instead of grep-based guessing
|
|
288
|
-
2. **Plans** — `design-planner` decomposes into atomic tasks, annotates with Chromatic change-risk and Storybook component fan-out
|
|
289
|
-
3. **Verifies** — `design-plan-checker` validates the plan against the brief and context, loops until it passes
|
|
259
|
+
Decomposes Explore output into atomic, wave-coordinated, dependency-analyzed design tasks. Each task carries explicit `Touches:` paths, parallel-safety tags, and acceptance criteria. `design-planner` (opus) authors; `design-plan-checker` (haiku) gate-checks against the brief goal before execution.
|
|
290
260
|
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
**Creates:** `DESIGN-PLAN.md`
|
|
261
|
+
**Creates:** `.design/DESIGN-PLAN.md`
|
|
294
262
|
|
|
295
263
|
---
|
|
296
264
|
|
|
@@ -300,16 +268,28 @@ Each task is small enough to execute in a fresh context window. No degradation,
|
|
|
300
268
|
/gdd:design
|
|
301
269
|
```
|
|
302
270
|
|
|
303
|
-
|
|
271
|
+
Executes plan tasks in waves. Each task gets a dedicated `design-executor` agent with a fresh 200k context, atomic git commit, and automatic deviation handling per in-context rules. Parallel-safe tasks run in worktrees.
|
|
304
272
|
|
|
305
|
-
|
|
306
|
-
2. **Tier-aware routing** — Each agent carries a `default-tier` frontmatter field (haiku/sonnet/opus); the router + `budget.json` override determine actual tier per spawn. Cheap work runs on Haiku; precise work on Opus
|
|
307
|
-
3. **Atomic commits per task** — Every task gets its own commit, keeping git history surgical
|
|
308
|
-
4. **Streaming synthesizer** — Parallel-agent outputs collapse through a single Haiku call before returning to main context, so the orchestrator stays cache-aligned
|
|
273
|
+
**Solidify-with-rollback** (v1.23.0) — every task validates (typecheck + build + targeted test) before locking in. Validation fails → `git stash` revert. Each task is atomic commit-or-revert.
|
|
309
274
|
|
|
310
|
-
|
|
275
|
+
**Creates:** `.design/tasks/task-NN.md` per task, atomic git commit per task
|
|
311
276
|
|
|
312
|
-
|
|
277
|
+
```
|
|
278
|
+
┌────────────────────────────────────────────────────────────────────┐
|
|
279
|
+
│ WAVE EXECUTION │
|
|
280
|
+
├────────────────────────────────────────────────────────────────────┤
|
|
281
|
+
│ │
|
|
282
|
+
│ WAVE 1 (parallel) WAVE 2 (parallel) WAVE 3 │
|
|
283
|
+
│ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ │
|
|
284
|
+
│ │ Task 01 │ │ Task 02 │ → │ Task 03 │ │ Task 04 │ → │ Task 05 │ │
|
|
285
|
+
│ │ tokens │ │ a11y │ │ button │ │ form │ │ verify │ │
|
|
286
|
+
│ └─────────┘ └─────────┘ └─────────┘ └─────────┘ └─────────┘ │
|
|
287
|
+
│ │ │ ↑ ↑ ↑ │
|
|
288
|
+
│ └───────────┴──────────────┴───────────┴──────────────┘ │
|
|
289
|
+
│ Touches: paths drive dependency analysis │
|
|
290
|
+
│ │
|
|
291
|
+
└────────────────────────────────────────────────────────────────────┘
|
|
292
|
+
```
|
|
313
293
|
|
|
314
294
|
---
|
|
315
295
|
|
|
@@ -319,556 +299,289 @@ Walk away, come back to completed work with a clean commit history.
|
|
|
319
299
|
/gdd:verify
|
|
320
300
|
```
|
|
321
301
|
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
The skill spawns four agents in sequence, each with cheap-gate precursors:
|
|
325
|
-
|
|
326
|
-
1. **`design-verifier`** — Scores output against brief + context + plan. Runs visual verification via Preview (Playwright screenshots) when available, plus Chromatic delta narration on the visual regression diff
|
|
327
|
-
2. **`design-auditor`** — Runs the NNG heuristic sweep, WCAG contrast pass across the full palette × surface matrix, typography system audit, motion framework audit, and anti-pattern detector
|
|
328
|
-
3. **`design-integration-checker`** — Cross-file consistency: token naming, component taxonomy, visual hierarchy, a11y labels
|
|
329
|
-
4. **`design-fixer`** — Proposes fixes for each gap, scoped and prioritized
|
|
330
|
-
|
|
331
|
-
If handoff mode (`/gdd:verify --post-handoff` or `/gdd:handoff <bundle>`), an additional **Handoff Faithfulness** section scores color / typography / spacing / component-structure adherence with PASS/WARN/FAIL thresholds.
|
|
302
|
+
Verifies against the brief — must-haves, NN/g heuristics, audit rubric, token integration. Three agents run in sequence: `design-auditor` (6-pillar 1–4 score), `design-verifier` (goal-backward), `design-integration-checker` (greps D-XX decisions back to code). On failures, produces a structured gap list and enters a verify→fix loop via `design-fixer`.
|
|
332
303
|
|
|
333
|
-
**Creates:**
|
|
304
|
+
**Creates:** `.design/DESIGN-VERIFICATION.md`, gap-fix commits if issues found
|
|
334
305
|
|
|
335
306
|
---
|
|
336
307
|
|
|
337
308
|
### 6. Ship → Reflect → Next Cycle
|
|
338
309
|
|
|
339
310
|
```
|
|
340
|
-
/gdd:ship #
|
|
341
|
-
/gdd:reflect #
|
|
342
|
-
/gdd:apply-reflections # Review
|
|
343
|
-
/gdd:complete-cycle # Archive cycle
|
|
344
|
-
/gdd:new-cycle #
|
|
311
|
+
/gdd:ship # Generate clean PR branch (filters .design/ commits)
|
|
312
|
+
/gdd:reflect # design-reflector reads telemetry + learnings
|
|
313
|
+
/gdd:apply-reflections # Review and selectively apply reflector proposals
|
|
314
|
+
/gdd:complete-cycle # Archive cycle artifacts, write EXPERIENCE.md
|
|
315
|
+
/gdd:new-cycle # Open a new design cycle
|
|
345
316
|
```
|
|
346
317
|
|
|
347
|
-
Or
|
|
318
|
+
Or auto-route:
|
|
348
319
|
|
|
349
320
|
```
|
|
350
321
|
/gdd:next # Auto-detect state and run the next step
|
|
351
322
|
```
|
|
352
323
|
|
|
353
|
-
|
|
324
|
+
Each cycle gets a brief, scan, plan, execution, verification, and a per-cycle `EXPERIENCE.md` (~100–200 lines: Goal / Decisions made / Learnings graduated / What died / Handoff to next cycle) that becomes the highest-priority source for the decision-injector hook.
|
|
354
325
|
|
|
355
326
|
---
|
|
356
327
|
|
|
357
|
-
###
|
|
328
|
+
### Fast Mode
|
|
358
329
|
|
|
359
330
|
```
|
|
360
|
-
/gdd:
|
|
361
|
-
/gdd:style Button # Generate component handoff doc
|
|
362
|
-
/gdd:darkmode # Audit dark mode architecture + contrast
|
|
363
|
-
/gdd:compare # Delta between baseline and verification
|
|
364
|
-
/gdd:sketch # Multi-variant HTML exploration
|
|
365
|
-
/gdd:spike # Timeboxed feasibility experiment
|
|
366
|
-
/gdd:figma-write <mode> # Write decisions back to Figma
|
|
367
|
-
/gdd:graphify <subcommand> # Manage Graphify knowledge graph
|
|
331
|
+
/gdd:fast "<task>"
|
|
368
332
|
```
|
|
369
333
|
|
|
334
|
+
For trivial single-file fixes that don't need the full pipeline. Skips the router, cache-manager, and telemetry. Same atomic-commit guarantees.
|
|
335
|
+
|
|
336
|
+
```
|
|
337
|
+
/gdd:quick
|
|
338
|
+
```
|
|
339
|
+
|
|
340
|
+
For ad-hoc tasks that need GSD-style guarantees but skip optional gates (no phase-researcher, no assumptions analyzer, no integration-checker). Faster than the full pipeline; safer than `/gdd:fast`.
|
|
341
|
+
|
|
370
342
|
---
|
|
371
343
|
|
|
372
344
|
## Why It Works
|
|
373
345
|
|
|
374
346
|
### Context Engineering
|
|
375
347
|
|
|
376
|
-
|
|
348
|
+
AI coding CLIs are powerful **if** you feed them context. Most people don't.
|
|
349
|
+
|
|
350
|
+
GDD handles it for you:
|
|
377
351
|
|
|
378
352
|
| File | What it does |
|
|
379
353
|
|------|--------------|
|
|
380
|
-
| `.design/BRIEF.md` |
|
|
381
|
-
| `.design/DESIGN.md` | Current-
|
|
382
|
-
| `.design/DESIGN-
|
|
383
|
-
| `.design/DESIGN-
|
|
384
|
-
| `.design/DESIGN-
|
|
385
|
-
| `.design/
|
|
386
|
-
| `.design/
|
|
387
|
-
| `.design/
|
|
388
|
-
| `.design/
|
|
389
|
-
| `.design/CYCLES.md` | Cycle lifecycle + archived cycles in `.design/archive/` |
|
|
354
|
+
| `.design/BRIEF.md` | The cycle's problem, audience, success metrics |
|
|
355
|
+
| `.design/DESIGN.md` | Current design-system snapshot (tokens, components, hierarchy) |
|
|
356
|
+
| `.design/DESIGN-CONTEXT.md` | D-XX decisions, interview answers, upstream/downstream constraints |
|
|
357
|
+
| `.design/DESIGN-PLAN.md` | Atomic tasks, wave choreography, dependencies |
|
|
358
|
+
| `.design/DESIGN-VERIFICATION.md` | Verification result, gap list, Handoff Faithfulness score |
|
|
359
|
+
| `.design/intel/` | Queryable knowledge layer: token fan-out, component call-graph, decision traceability |
|
|
360
|
+
| `.design/archive/cycle-N/EXPERIENCE.md` | Per-cycle retrospective for cross-cycle memory |
|
|
361
|
+
| `.design/telemetry/events.jsonl` | Typed event stream across stages |
|
|
362
|
+
| `.design/telemetry/posterior.json` | Bandit posterior (when `adaptive_mode != static`) |
|
|
390
363
|
|
|
391
|
-
Size
|
|
364
|
+
Size limits where Claude's quality degrades. Stay under, get consistency.
|
|
392
365
|
|
|
393
|
-
###
|
|
366
|
+
### 37 Specialized Agents
|
|
394
367
|
|
|
395
|
-
|
|
368
|
+
Each stage is a thin orchestrator that spawns specialized agents. Heavy lifting happens in fresh 200k contexts, not your main session.
|
|
396
369
|
|
|
397
370
|
| Stage | Orchestrator does | Agents do |
|
|
398
|
-
|
|
399
|
-
| Brief |
|
|
400
|
-
|
|
|
401
|
-
|
|
|
402
|
-
|
|
|
403
|
-
|
|
|
404
|
-
|
|
|
405
|
-
| Post-cycle | Review proposals | `design-reflector` reads telemetry + learnings, proposes improvements |
|
|
406
|
-
|
|
407
|
-
All agents carry `default-tier: haiku|sonnet|opus` + `tier-rationale` in frontmatter. Every agent opens with `@reference/shared-preamble.md` so the first agent in a session pays full cost and the rest ride Anthropic's 5-minute prompt cache.
|
|
371
|
+
|-------|-------------------|-----------|
|
|
372
|
+
| Brief | one-question interview | (no subagents — leaf skill) |
|
|
373
|
+
| Explore | spawns 5 mappers + discussant | 5 parallel mappers, design-discussant, research-synthesizer |
|
|
374
|
+
| Plan | spawns researcher + planner + checker | design-phase-researcher (optional), design-planner (opus), design-plan-checker (haiku) |
|
|
375
|
+
| Design | wave coordination + worktree isolation | design-executor per task, design-fixer on solidify failure |
|
|
376
|
+
| Verify | spawns auditor + verifier + checker | design-auditor (6-pillar score), design-verifier (goal-backward), design-integration-checker (D-XX → code) |
|
|
377
|
+
| Reflect | reads telemetry + learnings | design-reflector (opus), design-authority-watcher, design-update-checker |
|
|
408
378
|
|
|
409
379
|
### 12 Tool Connections
|
|
410
380
|
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
| Connection | Type | Purpose |
|
|
414
|
-
|-----------|------|---------|
|
|
415
|
-
| Figma | MCP (auto-detects any `/figma/i` server — remote or desktop) | Token extraction, design context pre-population, write-back via `use_figma` (remote only; annotate, tokenize, Code Connect) |
|
|
416
|
-
| Refero | MCP (`mcp__refero__*`) | Reference design search during exploration |
|
|
417
|
-
| Pinterest | MCP (`mcp__mcp-pinterest__*`) | Visual inspiration boards alongside Refero |
|
|
418
|
-
| Preview (Playwright) | MCP (`mcp__Claude_Preview__*`) | Live page screenshots for visual verification |
|
|
419
|
-
| Storybook | HTTP (`localhost:6006`) | Component inventory, a11y per story, story stubs |
|
|
420
|
-
| Chromatic | CLI (`npx chromatic`) | Visual regression delta narration and change-risk scoping |
|
|
421
|
-
| Graphify | CLI (`graphify`) | Knowledge graph: component↔token↔decision relationships |
|
|
422
|
-
| Claude Design | Bundle adapter | Parse HTML export → D-XX decisions, Handoff Faithfulness scoring |
|
|
423
|
-
| paper.design | MCP (`mcp__paper-design__*`) | Canvas read/write, component tree + computed styles, screenshot verification |
|
|
424
|
-
| pencil.dev | File (`.pen` YAML) | Git-tracked design specs; no MCP — pipeline reads and writes `.pen` files directly |
|
|
425
|
-
| 21st.dev Magic MCP | MCP + CLI | Prior-art gate before greenfield builds; component search + generation; SVGL brand logos |
|
|
426
|
-
| Magic Patterns | MCP / API key | DS-aware component generation; `preview_url` feeds visual verification |
|
|
427
|
-
|
|
428
|
-
See [`connections/connections.md`](connections/connections.md) for the full index and capability matrix.
|
|
429
|
-
|
|
430
|
-
### Atomic Git Commits
|
|
431
|
-
|
|
432
|
-
Each task gets its own commit immediately after completion:
|
|
433
|
-
|
|
434
|
-
```bash
|
|
435
|
-
abc123f docs(cycle-1): DESIGN-CONTEXT.md decisions locked
|
|
436
|
-
def456g feat(cycle-1): unify button tokens across surfaces
|
|
437
|
-
hij789k feat(cycle-1): fix dark-mode contrast on CardMuted
|
|
438
|
-
lmn012o feat(cycle-1): motion tokens for modal presentation
|
|
439
|
-
```
|
|
440
|
-
|
|
441
|
-
> [!NOTE]
|
|
442
|
-
> **Benefits:** `git bisect` finds the exact task that broke contrast. Each task is independently revertable via `/gdd:undo`. Clear history for Claude in future sessions. `/gdd:pr-branch` strips `.design/` and `.planning/` commits for a clean code-review branch.
|
|
443
|
-
|
|
444
|
-
### Self-Improvement
|
|
445
|
-
|
|
446
|
-
After each design cycle, `/gdd:reflect` reads `.design/learnings/`, `.design/telemetry/costs.jsonl`, and `.design/agent-metrics.json` and proposes concrete improvements:
|
|
447
|
-
|
|
448
|
-
- **Frontmatter updates** — agent duration estimates and tier assignments from measured data
|
|
449
|
-
- **Reference additions** — anti-patterns and heuristics that appeared ≥3 cycles
|
|
450
|
-
- **Budget adjustments** — cost caps tuned from actual spend patterns
|
|
451
|
-
- **Question pruning** — discussant questions that consistently got low-value answers
|
|
452
|
-
- **Global skill promotion** — project findings promoted to `~/.claude/gdd/global-skills/` for cross-project use
|
|
453
|
-
|
|
454
|
-
**Nothing auto-applies.** Every proposal requires explicit review via `/gdd:apply-reflections` — diff, accept, skip, or edit each one. The discipline mirrors the `design-figma-writer` proposal→confirm pattern.
|
|
455
|
-
|
|
456
|
-
---
|
|
457
|
-
|
|
458
|
-
## Component Benchmark Corpus
|
|
459
|
-
|
|
460
|
-
Per-component design specifications harvested from 18 major design systems and synthesized into a locked, agent-consumable format. Every spec is ≤350 lines, greppable, diff-friendly, and cross-linked to `reference/anti-patterns.md`.
|
|
461
|
-
|
|
462
|
-
**Wave 1 — Inputs (v1.16.0)**: Button · Input · Select/Combobox · Checkbox · Radio · Switch · Link · Label
|
|
463
|
-
|
|
464
|
-
**Wave 2 — Containers (v1.16.0)**: Card · Modal/Dialog · Drawer/Sheet · Popover · Tooltip · Accordion · Tabs
|
|
465
|
-
|
|
466
|
-
**Wave 3 — Feedback (v1.17.0)**: Toast · Alert · Progress · Skeleton · Badge · Chip
|
|
467
|
-
|
|
468
|
-
**Wave 4 — Navigation & Data (v1.17.0)**: Menu · Navbar · Sidebar · Breadcrumbs · Pagination · Table · List · Tree · Command-palette
|
|
469
|
-
|
|
470
|
-
**Wave 5 — Advanced (v1.17.0)**: Date-picker · Slider · File-upload · Rich-text editor · Stepper
|
|
471
|
-
|
|
472
|
-
**Total: 35 specs** across 5 waves. Each spec: WAI-ARIA keyboard contracts (verbatim), NORM/DIVERGE convergence analysis, grep signatures for `design-auditor` conformance scoring, and a failing-example block.
|
|
473
|
-
|
|
474
|
-
**Pipeline integration (v1.17.0):**
|
|
475
|
-
- `design-auditor` — detects component implementations via grep signatures, scores conformance against specs, emits Component Conformance addendum
|
|
476
|
-
- `design-executor` — reads matching spec as pre-flight contract for `type:components` tasks
|
|
477
|
-
- `design-doc-writer` — scaffolds handoff docs from spec anatomy/variants when a benchmark spec exists
|
|
478
|
-
- `design-pattern-mapper` — writes `.design/map/component-convergence.md` (matched/absent components + convergence %)
|
|
479
|
-
|
|
480
|
-
```bash
|
|
481
|
-
/gdd:benchmark button # harvest + synthesize a single spec
|
|
482
|
-
/gdd:benchmark --wave 1 # run all Wave 1 specs
|
|
483
|
-
/gdd:benchmark --list # coverage table
|
|
484
|
-
/gdd:benchmark --refresh modal-dialog # re-harvest after design-system update
|
|
485
|
-
```
|
|
486
|
-
|
|
487
|
-
Sources: `connections/design-corpora.md` — Material 3, Apple HIG, Radix, WAI-ARIA APG, shadcn/ui, Polaris, Carbon, Fluent 2, Primer, Atlassian, Ant Design, Mantine, Chakra, Base Web, Nord, Spectrum, Lightning, Gestalt (Pinterest).
|
|
488
|
-
|
|
489
|
-
---
|
|
381
|
+
All optional — the pipeline degrades gracefully when any connection is unavailable:
|
|
490
382
|
|
|
491
|
-
|
|
383
|
+
- **Figma** (read + write + Code Connect) — annotations, token bindings, implementation status write-back
|
|
384
|
+
- **Refero** — design reference search
|
|
385
|
+
- **Pinterest** — visual reference grounding
|
|
386
|
+
- **Claude Design** — handoff bundle import (`/gdd:handoff`)
|
|
387
|
+
- **Storybook** — component-spec lookup
|
|
388
|
+
- **Chromatic** — visual regression baseline diff
|
|
389
|
+
- **Preview** — Playwright + Claude Preview MCP for runtime screenshots
|
|
390
|
+
- **paper.design** — MCP canvas read/write for round-trip verification
|
|
391
|
+
- **pencil.dev** — git-tracked `.pen` spec files
|
|
392
|
+
- **Graphify** — knowledge-graph export
|
|
393
|
+
- **21st.dev Magic** — prior-art component search before greenfield builds
|
|
394
|
+
- **Magic Patterns** — DS-aware component generation with `preview_url`
|
|
492
395
|
|
|
493
|
-
|
|
396
|
+
### Embedded Design References
|
|
494
397
|
|
|
495
|
-
|
|
496
|
-
# On-demand diff + classify
|
|
497
|
-
/gdd:watch-authorities
|
|
398
|
+
The plugin ships **18+ reference files** covering every major design-knowledge domain. Agents have authoritative answers without web search:
|
|
498
399
|
|
|
499
|
-
|
|
500
|
-
/
|
|
400
|
+
- **Heuristics** — NN/g 10, Don Norman emotional design (visceral/behavioral/reflective), Dieter Rams 10, Disney 12 (motion), Sonner / Emil Kowalski component-authoring lens, Peak-End Rule, Loss Aversion, Cognitive Load Theory, Aesthetic-Usability Effect, Doherty Threshold, Flow.
|
|
401
|
+
- **Components** — 35 component specs (Material 3, Apple HIG, Radix, shadcn, Polaris, Carbon, Fluent, Atlassian, Ant, Mantine, Chakra, Base Web, Spectrum, Lightning, Evergreen, Gestalt) with locked spec template (Purpose · Anatomy · Variants · States · Sizing · Typography · Keyboard · Motion · Do/Don't · Anti-patterns · Citations · Grep signatures).
|
|
402
|
+
- **Visual + brand** — gestalt principles, visual-hierarchy, brand-voice, palette catalog (161 industry palettes), style vocabulary (67 UI aesthetics), iconography (Lucide / Phosphor / Heroicons / Radix Icons / Tabler / SF Symbols).
|
|
403
|
+
- **Motion** — 12 canonical easings (RN MIT) + 8 transition families (hyperframes Apache-2.0) + spring presets + interpolation taxonomy + advanced craft (gesture mechanics, clip-path, blur crossfades, View Transitions API, WAAPI).
|
|
404
|
+
- **Platform + a11y** — WCAG 2.1 AA thresholds, platforms (iOS / Android / web / visionOS / watchOS), RTL + CJK + cultural color, form patterns (Wroblewski label research, autocomplete taxonomy, CAPTCHA ethics).
|
|
405
|
+
- **Anti-patterns** — regex-signature catalog matched by `design-pattern-mapper`.
|
|
501
406
|
|
|
502
|
-
|
|
503
|
-
/gdd:watch-authorities --since 2026-01-01
|
|
407
|
+
### Atomic Git Commits
|
|
504
408
|
|
|
505
|
-
|
|
506
|
-
/gdd:watch-authorities --feed wai-aria-apg
|
|
409
|
+
Each design task gets its own commit immediately after completion:
|
|
507
410
|
|
|
508
|
-
# Schedule recurring runs (requires the scheduled-tasks MCP)
|
|
509
|
-
/gdd:watch-authorities --schedule weekly
|
|
510
411
|
```
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
- **Spec sources** — WAI-ARIA APG, Material 3, Apple HIG, Fluent 2, W3C Design Tokens CG
|
|
517
|
-
- **Component systems** — Radix, shadcn/ui, Polaris, Carbon, Primer, Atlassian, Ant, Mantine
|
|
518
|
-
- **Research institutions** — Nielsen Norman Group, Laws of UX, Baymard
|
|
519
|
-
- **Named practitioners** — 10 writers filtered for spec-adjacent, durable, original analysis
|
|
520
|
-
- **User-added Are.na channels** — extensibility point; add your own via a PR to the Are.na section, no config file or schema editing required
|
|
521
|
-
|
|
522
|
-
### What is explicitly rejected
|
|
523
|
-
|
|
524
|
-
No Dribbble. No Behance. No LinkedIn. No generic "trending" aggregators. See `reference/authority-feeds.md` §"Rejected kinds" — the exclusions are CI-enforced, not just documented.
|
|
525
|
-
|
|
526
|
-
### How the report feeds reflection
|
|
527
|
-
|
|
528
|
-
The watcher writes `.design/authority-report.md` — new entries classified into five buckets (`spec-change`, `heuristic-update`, `pattern-guidance`, `craft-tip`, `skip`) with a one-sentence rationale each. `/gdd:reflect` reads the report alongside internal telemetry and proposes reference-file updates. Nothing auto-ships — you review every proposal via `/gdd:apply-reflections`.
|
|
529
|
-
|
|
530
|
-
---
|
|
531
|
-
|
|
532
|
-
## Headless SDK
|
|
533
|
-
|
|
534
|
-
Run the full GDD pipeline without Claude Code:
|
|
535
|
-
|
|
536
|
-
```bash
|
|
537
|
-
npx gdd-sdk init # bootstrap a new project
|
|
538
|
-
npx gdd-sdk run # full pipeline (brief → verify)
|
|
539
|
-
npx gdd-sdk stage explore --parallel # single stage with parallel mappers
|
|
540
|
-
npx gdd-sdk query position # typed STATE.md read
|
|
541
|
-
npx gdd-sdk audit --baseline <dir> # regression check
|
|
412
|
+
abc123f docs(08-02): complete user-card token plan
|
|
413
|
+
def456g feat(08-02): unify card surface tokens with --color-bg-elevated
|
|
414
|
+
hij789k feat(08-02): replace inline padding with --space-* scale
|
|
415
|
+
lmn012o test(08-02): assert card.spec passes WCAG contrast 4.5:1
|
|
542
416
|
```
|
|
543
417
|
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
Internally the SDK stitches together the Phase-21 runner modules:
|
|
547
|
-
`session-runner` (budget + turn cap + transcript), `context-engine` (per-stage
|
|
548
|
-
file manifest + markdown truncation), `tool-scoping` (per-stage allowed-tools),
|
|
549
|
-
`pipeline-runner` (brief → verify state machine with retry-once + human-gate
|
|
550
|
-
callbacks), and `explore-parallel` / `discuss-parallel` / `init` for the
|
|
551
|
-
concurrent researcher stages.
|
|
552
|
-
|
|
553
|
-
### Cross-harness
|
|
554
|
-
|
|
555
|
-
The plugin runs unchanged on Claude Code, OpenAI Codex CLI, and Gemini CLI.
|
|
556
|
-
See [`reference/codex-tools.md`](reference/codex-tools.md) and
|
|
557
|
-
[`reference/gemini-tools.md`](reference/gemini-tools.md) for the tool
|
|
558
|
-
translations; Codex auto-loads [`AGENTS.md`](AGENTS.md) and Gemini auto-loads
|
|
559
|
-
[`GEMINI.md`](GEMINI.md). The `gdd-state` MCP server works on all three.
|
|
560
|
-
|
|
561
|
-
---
|
|
562
|
-
|
|
563
|
-
## AI-Native Canvas Tools
|
|
418
|
+
Git bisect finds exact failing task. Each task is independently revertable. Solidify-with-rollback adds a per-task validation gate so a broken task 3 never corrupts tasks 4–10 before verify runs.
|
|
564
419
|
|
|
565
|
-
|
|
420
|
+
### Self-Improvement Loop
|
|
566
421
|
|
|
567
|
-
|
|
422
|
+
After every cycle, `design-reflector` (opus) reads `events.jsonl`, `agent-metrics.json`, and `learnings/`, then proposes diffs:
|
|
568
423
|
|
|
569
|
-
|
|
424
|
+
- **Tier overrides** — "design-verifier on plans <300 lines: drop to haiku, no measured quality regression"
|
|
425
|
+
- **Parallelism rules** — "token-mapper + component-taxonomy-mapper conflict on `Touches: src/styles/`; serialize"
|
|
426
|
+
- **Reference additions** — "L-12 cited 9 times across cycles 3–5; promote to `reference/heuristics.md`"
|
|
427
|
+
- **Frontmatter updates** — "design-executor `typical-duration-seconds: 60` measured at 142s; propose 120s"
|
|
570
428
|
|
|
571
|
-
**
|
|
572
|
-
```bash
|
|
573
|
-
claude mcp add paper-design --transport http https://mcp.paper.design/sse
|
|
574
|
-
```
|
|
575
|
-
|
|
576
|
-
**Capabilities:**
|
|
577
|
-
- `explore` — reads canvas selection, JSX tree, computed styles into DESIGN-CONTEXT.md
|
|
578
|
-
- `design` — `design-paper-writer` agent writes annotations, token bindings, and status back to canvas
|
|
579
|
-
- `verify` — `get_screenshot` captures component snapshots for `? VISUAL` checks (Phase 4C)
|
|
580
|
-
|
|
581
|
-
See [`connections/paper-design.md`](connections/paper-design.md) for full setup and probe pattern.
|
|
429
|
+
`/gdd:apply-reflections` shows the diff and asks before applying. Nothing auto-applies. The **No-Regret Adaptive Layer** (v1.23.5) layers a Thompson sampling bandit + AdaNormalHedge ensemble + MMR rerank on top, viable in single-user mode via informed-prior bootstrap.
|
|
582
430
|
|
|
583
|
-
###
|
|
431
|
+
### Cost Governance
|
|
584
432
|
|
|
585
|
-
|
|
433
|
+
- **`gdd-router` skill** — deterministic intent → fast / quick / full routing. No model call.
|
|
434
|
+
- **`gdd-cache-manager`** — Layer-B explicit cache with SHA-256 input-hash + 5-min TTL awareness.
|
|
435
|
+
- **`budget-enforcer` PreToolUse hook** — enforces tier overrides, hard caps, lazy-spawn gates from `.design/budget.json`.
|
|
436
|
+
- **Per-spawn cost telemetry** — `.design/telemetry/costs.jsonl` rows feed `/gdd:optimize` rule-based recommendations.
|
|
586
437
|
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
**Capabilities:**
|
|
590
|
-
- `explore` — discovers `.pen` files; synthesizer merges token declarations with code
|
|
591
|
-
- `design` — `design-pencil-writer` agent writes DESIGN-DEBT findings and status back as `.pen` comments / spec updates (atomic git commits)
|
|
592
|
-
- `verify` — spec-vs-implementation diff: declared token values vs. actual CSS values
|
|
593
|
-
|
|
594
|
-
See [`connections/pencil-dev.md`](connections/pencil-dev.md) for `.pen` file format and pipeline integration.
|
|
438
|
+
Targets 50–70% per-task token-cost reduction with no quality-floor regression.
|
|
595
439
|
|
|
596
440
|
---
|
|
597
441
|
|
|
598
|
-
## Component Generators
|
|
599
|
-
|
|
600
|
-
Component generators produce UI component code from natural-language descriptions, targeting your project's design system.
|
|
601
|
-
|
|
602
|
-
### 21st.dev Magic MCP
|
|
603
|
-
|
|
604
|
-
Marketplace search + AI component generation. Built-in prior-art gate: the explore stage searches 21st.dev before any greenfield component build. If an existing component fits ≥80%, adoption is recommended over custom build.
|
|
605
|
-
|
|
606
|
-
**Setup:**
|
|
607
|
-
```bash
|
|
608
|
-
npx @21st-dev/magic@latest init
|
|
609
|
-
# Set TWENTY_FIRST_API_KEY environment variable
|
|
610
|
-
```
|
|
611
|
-
|
|
612
|
-
**Capabilities:**
|
|
613
|
-
- `explore` — prior-art gate: `21st_magic_component_search` before greenfield builds
|
|
614
|
-
- `design` — `design-component-generator` (21st.dev impl): search → generate → adopt
|
|
615
|
-
- `explore/design` — `svgl_get_brand_logo` for brand logo/icon SVGs
|
|
616
|
-
|
|
617
|
-
See [`connections/21st-dev.md`](connections/21st-dev.md) for setup and prior-art gate logic.
|
|
618
|
-
|
|
619
|
-
### Magic Patterns
|
|
620
|
-
|
|
621
|
-
DS-aware component generation via the Magic Patterns Claude connector (no manual setup when enabled) or API key fallback. Returns a `preview_url` for visual verification.
|
|
622
|
-
|
|
623
|
-
**Setup (Claude connector):** Enable Magic Patterns in your Claude environment — no additional steps.
|
|
624
|
-
|
|
625
|
-
**Setup (API key):**
|
|
626
|
-
```bash
|
|
627
|
-
claude mcp add magic-patterns --transport http https://mcp.magicpatterns.com/sse \
|
|
628
|
-
-e MAGIC_PATTERNS_API_KEY=$MAGIC_PATTERNS_API_KEY
|
|
629
|
-
```
|
|
630
|
-
|
|
631
|
-
**Capabilities:**
|
|
632
|
-
- `design` — `design-component-generator` (magic-patterns impl): generate → annotate → regenerate
|
|
633
|
-
- `verify` — `preview_url` from generation feeds `? VISUAL` check in Phase 8 Preview
|
|
634
|
-
|
|
635
|
-
See [`connections/magic-patterns.md`](connections/magic-patterns.md) for probe pattern and DS detection.
|
|
636
|
-
|
|
637
|
-
---
|
|
638
|
-
|
|
639
|
-
## Safety + Recall Floor
|
|
640
|
-
|
|
641
|
-
Starting with v1.14.6, GDD ships three defense-in-depth hooks, the first cross-cycle recall primitive, and a typed reference index:
|
|
642
|
-
|
|
643
|
-
- **Bash guard** (`hooks/gdd-bash-guard.js`) — PreToolUse:Bash blocks ~45 dangerous shell patterns after Unicode NFKC + ANSI + zero-width/bidi normalization, so `rm\u200B -rf /`, bidi-override obfuscations, and hex-encoded exec sequences fail closed.
|
|
644
|
-
- **Protected paths** (`hooks/gdd-protected-paths.js`) — PreToolUse:Edit|Write|Bash refuses to mutate `reference/**`, `skills/**`, `commands/**`, `hooks/**`, `.design/archive/**`, `.design/config.json`, `.design/telemetry/**`, `.git/**`, both plugin manifests, and anything the user appends under `.design/config.json.protected_paths` (merge-only — user configs cannot reduce the default set).
|
|
645
|
-
- **Blast-radius preflight** (`scripts/lib/blast-radius.cjs`) — `design-executor` refuses tasks above `.design/config.json.blast_radius.max_files_per_task` (default 10), `max_lines_per_task` (default 400), or `max_mcp_calls_per_task` (default 30); writes a blocker to STATE.md with a diff summary.
|
|
646
|
-
- **Decision-injector** (`hooks/gdd-decision-injector.js`) — PreToolUse:Read on any `.design/**.md | reference/**.md | .planning/**.md` ≥ 1500 bytes surfaces the top-15 matching D-XX decisions, L-NN learnings, and prior-cycle summary excerpts that reference the opened file. Grep backend; Phase 19.5 upgrades to FTS5 transparently.
|
|
647
|
-
|
|
648
|
-
**Reference index** — `reference/registry.json` (schema: `reference/registry.schema.json`) indexes every `reference/*.md` by typed category (`heuristic | preamble | motion | defaults | meta-rules | …`). Agents can query `list({type: "heuristic"})` instead of grep-hunting import strings. `scripts/build-intel.cjs` enforces round-trip on every `reference/**` change: missing entries, dangling entries, and duplicates fail the build.
|
|
649
|
-
|
|
650
|
-
**L0/L2 cache-locality split** — the 5 framework-invariant rules (Required Reading Discipline, Writes Protocol, Deviation Handling, Completion Markers, Context-Exhaustion & Budget Awareness) now live in `reference/meta-rules.md` (tier L0). `reference/shared-preamble.md` becomes an L0 aggregator importing `meta-rules.md` first, so Phase 15+ L2 churn (heuristics, anti-patterns, checklists) no longer invalidates the L0 prompt-cache prefix.
|
|
651
|
-
|
|
652
|
-
**Figma authoring-redirect** — `/gdd:figma-write` is a decision-writer (annotations, token bindings, Code Connect, implementation-status). For authoring new Figma content (create pages, populate library components, build layouts from scratch), use `figma:figma-generate-design` from the Figma plugin — it runs outside the Figma plugin sandbox. `design-figma-writer` Step 0.5 detects author-intent (EN + RU) and emits a bilingual redirect citing the four sandbox pitfalls in `reference/figma-sandbox.md`. The MCP circuit-breaker (`hooks/gdd-mcp-circuit-breaker.js`) caps `use_figma | use_paper | use_pencil` at 30 calls/task and 3 consecutive timeouts by default (see `reference/mcp-budget.default.json`), logging per-call JSONL at `.design/telemetry/mcp-budget.jsonl`.
|
|
653
|
-
|
|
654
442
|
## Commands
|
|
655
443
|
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
### Core pipeline
|
|
444
|
+
### Core Pipeline
|
|
659
445
|
|
|
660
446
|
| Command | What it does |
|
|
661
447
|
|---------|--------------|
|
|
662
|
-
| `/gdd:brief` | Stage 1 —
|
|
663
|
-
| `/gdd:explore
|
|
664
|
-
| `/gdd:plan` | Stage 3 —
|
|
665
|
-
| `/gdd:design` | Stage 4 — execute
|
|
666
|
-
| `/gdd:verify
|
|
667
|
-
| `/gdd:
|
|
668
|
-
| `/gdd:next` | Auto-
|
|
669
|
-
| `/gdd:
|
|
670
|
-
|
|
671
|
-
|
|
448
|
+
| `/gdd:brief` | Stage 1 — capture the design brief |
|
|
449
|
+
| `/gdd:explore` | Stage 2 — codebase inventory + interview |
|
|
450
|
+
| `/gdd:plan` | Stage 3 — produce DESIGN-PLAN.md |
|
|
451
|
+
| `/gdd:design` | Stage 4 — execute plan in waves |
|
|
452
|
+
| `/gdd:verify` | Stage 5 — verify against brief |
|
|
453
|
+
| `/gdd:ship` | Generate clean PR branch (filters .design/ commits) |
|
|
454
|
+
| `/gdd:next` | Auto-route to the next stage based on STATE.md |
|
|
455
|
+
| `/gdd:do <text>` | Natural-language router — picks the right command |
|
|
456
|
+
| `/gdd:fast <text>` | One-shot trivial fix, no pipeline |
|
|
457
|
+
| `/gdd:quick` | Ad-hoc task with GDD guarantees but skipped optional gates |
|
|
458
|
+
|
|
459
|
+
### First-Run + Onboarding
|
|
672
460
|
|
|
673
461
|
| Command | What it does |
|
|
674
462
|
|---------|--------------|
|
|
675
|
-
| `/gdd:start
|
|
676
|
-
| `/gdd:new-project
|
|
677
|
-
| `/gdd:
|
|
678
|
-
| `/gdd:complete-cycle [<note>]` | Archive cycle to `.design/archive/cycle-N/` |
|
|
679
|
-
| `/gdd:ship [--draft]` | Clean PR branch + `gh pr create` |
|
|
463
|
+
| `/gdd:start` | First-run proof path — top-3 design issues in your repo (no `.design/` footprint until you opt in) |
|
|
464
|
+
| `/gdd:new-project` | Initialize a GDD project (PROJECT.md + STATE.md + first cycle) |
|
|
465
|
+
| `/gdd:connections` | Onboarding wizard for the 12 external integrations |
|
|
680
466
|
|
|
681
|
-
###
|
|
467
|
+
### Cycle Lifecycle
|
|
682
468
|
|
|
683
469
|
| Command | What it does |
|
|
684
470
|
|---------|--------------|
|
|
685
|
-
| `/gdd:
|
|
686
|
-
| `/gdd:
|
|
687
|
-
| `/gdd:
|
|
688
|
-
| `/gdd:
|
|
689
|
-
| `/gdd:
|
|
690
|
-
| `/gdd:sketch [topic] [--variants N]` | Multi-variant HTML exploration |
|
|
691
|
-
| `/gdd:spike [hypothesis] [--timebox]` | Timeboxed feasibility experiment |
|
|
692
|
-
| `/gdd:sketch-wrap-up`, `/gdd:spike-wrap-up` | Distill winner + findings into project-local convention skills |
|
|
471
|
+
| `/gdd:new-cycle` | Open a new design cycle |
|
|
472
|
+
| `/gdd:complete-cycle` | Archive cycle artifacts + write per-cycle EXPERIENCE.md |
|
|
473
|
+
| `/gdd:pause` / `/gdd:resume` | Numbered checkpoints — pause mid-stage, resume from any saved checkpoint |
|
|
474
|
+
| `/gdd:continue` | Alias for `/gdd:resume` (latest checkpoint) |
|
|
475
|
+
| `/gdd:timeline` | Narrative retrospective across cycles + git log |
|
|
693
476
|
|
|
694
|
-
###
|
|
477
|
+
### Iteration + Decisions
|
|
695
478
|
|
|
696
479
|
| Command | What it does |
|
|
697
480
|
|---------|--------------|
|
|
698
|
-
| `/gdd:
|
|
699
|
-
| `/gdd:
|
|
700
|
-
| `/gdd:
|
|
701
|
-
| `/gdd:
|
|
702
|
-
| `/gdd:
|
|
481
|
+
| `/gdd:discuss [topic]` | Adaptive design interview — `--all` for batch gray areas, `--spec` for ambiguity scoring |
|
|
482
|
+
| `/gdd:list-assumptions` | Surface hidden design assumptions before planning |
|
|
483
|
+
| `/gdd:sketch [idea]` | Multi-variant HTML mockup exploration — browser-openable directly |
|
|
484
|
+
| `/gdd:spike [idea]` | Timeboxed feasibility experiment with hypothesis + verdict |
|
|
485
|
+
| `/gdd:sketch-wrap-up` / `/gdd:spike-wrap-up` | Package findings into project-local skill |
|
|
486
|
+
| `/gdd:audit` | Wraps `design-verifier` + `design-auditor` + `design-reflector`. `--retroactive` audits the full cycle |
|
|
487
|
+
| `/gdd:reflect` | Run `design-reflector` on demand — produces `.design/reflections/<cycle-slug>.md` |
|
|
488
|
+
| `/gdd:apply-reflections` | Review and selectively apply reflector proposals — diff before apply |
|
|
703
489
|
|
|
704
|
-
### Knowledge Layer
|
|
490
|
+
### Memory + Knowledge Layer
|
|
705
491
|
|
|
706
492
|
| Command | What it does |
|
|
707
493
|
|---------|--------------|
|
|
708
|
-
| `/gdd:
|
|
709
|
-
| `/gdd:extract-learnings
|
|
710
|
-
| `/gdd:
|
|
494
|
+
| `/gdd:recall <query>` | FTS5-backed search across cycle archives, learnings, decisions, EXPERIENCE.md files |
|
|
495
|
+
| `/gdd:extract-learnings` | Mine cycle artifacts for patterns + decisions + lessons |
|
|
496
|
+
| `/gdd:note <text>` | Zero-friction idea capture — append, list, promote to todo |
|
|
497
|
+
| `/gdd:plant-seed <idea>` | Forward-looking idea with trigger condition — surfaces at the right cycle |
|
|
498
|
+
| `/gdd:analyze-dependencies` | Token fan-out, component call-graphs, decision traceability, circular dependency detection |
|
|
499
|
+
| `/gdd:skill-manifest` | List all GDD skills + agents from the intel store |
|
|
500
|
+
| `/gdd:graphify` | Build, query, inspect, diff the project knowledge graph |
|
|
501
|
+
| `/gdd:watch-authorities` | Diff the design-authority feed whitelist + classify into 5 buckets |
|
|
711
502
|
|
|
712
|
-
###
|
|
503
|
+
### Connections
|
|
713
504
|
|
|
714
505
|
| Command | What it does |
|
|
715
506
|
|---------|--------------|
|
|
716
|
-
| `/gdd:
|
|
717
|
-
| `/gdd:
|
|
718
|
-
| `/gdd:
|
|
719
|
-
| `/gdd:
|
|
507
|
+
| `/gdd:figma-write` | Write design decisions back to Figma (annotate / tokenize / roundtrip) |
|
|
508
|
+
| `/gdd:handoff <bundle>` | Import a Claude Design bundle and skip Stages 1–3 |
|
|
509
|
+
| `/gdd:darkmode` | Audit dark-mode implementation (CSS custom props / Tailwind dark: / JS class toggle) |
|
|
510
|
+
| `/gdd:compare` | Compute delta between DESIGN.md baseline and DESIGN-VERIFICATION.md result |
|
|
511
|
+
| `/gdd:style <Component>` | Generate component handoff doc (DESIGN-STYLE-[Component].md) |
|
|
720
512
|
|
|
721
|
-
###
|
|
513
|
+
### Diagnostic + Forensic
|
|
722
514
|
|
|
723
515
|
| Command | What it does |
|
|
724
516
|
|---------|--------------|
|
|
725
|
-
| `/gdd:
|
|
726
|
-
| `/gdd:
|
|
727
|
-
| `/gdd:
|
|
728
|
-
| `/gdd:
|
|
729
|
-
| `/gdd:
|
|
517
|
+
| `/gdd:scan` | Codebase design-system inventory (no STATE.md write) |
|
|
518
|
+
| `/gdd:map` | 5 parallel codebase mappers (tokens / components / a11y / motion / visual-hierarchy) |
|
|
519
|
+
| `/gdd:debug [desc]` | Symptom-driven design investigation with persistent state |
|
|
520
|
+
| `/gdd:health` | Reports `.design/` artifact health — staleness, missing files, token drift |
|
|
521
|
+
| `/gdd:progress` | Show pipeline position; `--forensic` runs 6-check integrity audit |
|
|
522
|
+
| `/gdd:stats` | Cycle stats — decisions made, tasks completed, commits, timeline, git metrics |
|
|
523
|
+
| `/gdd:optimize` | Rule-based cost analysis + tier-override recommendations |
|
|
524
|
+
| `/gdd:warm-cache` | Pre-warm Anthropic prompt cache across all agents that import shared-preamble |
|
|
730
525
|
|
|
731
|
-
###
|
|
526
|
+
### Distribution + Update
|
|
732
527
|
|
|
733
528
|
| Command | What it does |
|
|
734
529
|
|---------|--------------|
|
|
735
|
-
| `/gdd:
|
|
736
|
-
| `/gdd:
|
|
737
|
-
| `/gdd:
|
|
738
|
-
| `/gdd:
|
|
739
|
-
| `/gdd:
|
|
740
|
-
| `/gdd:
|
|
530
|
+
| `/gdd:update` | Update GDD with changelog preview |
|
|
531
|
+
| `/gdd:reapply-patches` | Restitch local `reference/` modifications after structural updates |
|
|
532
|
+
| `/gdd:check-update` | Manual update check — `--refresh` bypasses 24h TTL, `--dismiss` hides nudge |
|
|
533
|
+
| `/gdd:settings` | Configure `.design/config.json` — profile / parallelism / cleanup |
|
|
534
|
+
| `/gdd:set-profile <profile>` | Switch model profile (quality / balanced / budget / inherit) |
|
|
535
|
+
| `/gdd:undo` | Safe design change revert — uses git log + dependency check |
|
|
536
|
+
| `/gdd:pr-branch` | Create clean PR branch by filtering out `.design/` and `.planning/` commits |
|
|
741
537
|
|
|
742
|
-
###
|
|
538
|
+
### Backlog + Notes
|
|
743
539
|
|
|
744
540
|
| Command | What it does |
|
|
745
541
|
|---------|--------------|
|
|
746
|
-
| `/gdd:
|
|
747
|
-
| `/gdd:
|
|
748
|
-
| `/gdd:
|
|
749
|
-
| `/gdd:list-assumptions [--area]` | Surface implicit design assumptions baked into the codebase |
|
|
542
|
+
| `/gdd:todo` | Add / list / pick design tasks |
|
|
543
|
+
| `/gdd:add-backlog <idea>` | Park a design idea for a future cycle |
|
|
544
|
+
| `/gdd:review-backlog` | Review parked items + promote to active cycle todo |
|
|
750
545
|
|
|
751
|
-
###
|
|
546
|
+
### Help
|
|
752
547
|
|
|
753
548
|
| Command | What it does |
|
|
754
549
|
|---------|--------------|
|
|
755
|
-
| `/gdd:
|
|
756
|
-
| `/gdd:
|
|
757
|
-
| `/gdd:reapply-patches [--dry-run]` | Reapply `reference/` customizations after an update |
|
|
758
|
-
|
|
759
|
-
Full command reference with argument specs: [`SKILL.md`](SKILL.md).
|
|
550
|
+
| `/gdd:help` | Full command list + usage |
|
|
551
|
+
| `/gdd:bandit-reset` | Reset adaptive-layer posterior on Anthropic model release |
|
|
760
552
|
|
|
761
553
|
---
|
|
762
554
|
|
|
763
555
|
## Connections
|
|
764
556
|
|
|
765
|
-
|
|
766
|
-
|
|
767
|
-
|
|
768
|
-
|
|
769
|
-
|
|
770
|
-
|
|
771
|
-
**
|
|
772
|
-
|
|
773
|
-
|
|
774
|
-
|
|
775
|
-
|
|
776
|
-
|
|
777
|
-
**
|
|
778
|
-
|
|
779
|
-
|
|
780
|
-
|
|
781
|
-
|
|
782
|
-
|
|
783
|
-
**Desktop MCP (reads only):** optionally enabled via the Figma desktop app's Dev Mode. Useful when writes are not needed. Register under server name `figma-desktop` — the probe auto-detects it.
|
|
784
|
-
|
|
785
|
-
Setup: [`connections/figma.md`](connections/figma.md). If you previously registered the remote MCP with the legacy URL `https://mcp.figma.com/v1/sse`, remove and re-add with the current URL `https://mcp.figma.com/mcp` (Streamable HTTP).
|
|
786
|
-
|
|
787
|
-
> ⚠︎ **Authoring new Figma content?** `/gdd:figma-write` is a *decision-writer* (annotations, token bindings, Code Connect). For **creating pages, populating with library components, building doc layouts from scratch**, use `figma:figma-generate-design` from the Figma plugin — it runs outside the plugin sandbox. See [`reference/figma-sandbox.md`](reference/figma-sandbox.md) for the four sandbox pitfalls the MCP circuit-breaker (`hooks/gdd-mcp-circuit-breaker.js`) protects you from (defaults: 30 calls/task, 3 consecutive timeouts → break).
|
|
788
|
-
|
|
789
|
-
### Refero MCP
|
|
790
|
-
|
|
791
|
-
When Refero is active, `explore` pulls visual references to ground design decisions. Requires an API token in `~/.claude.json`:
|
|
792
|
-
|
|
793
|
-
```json
|
|
794
|
-
{
|
|
795
|
-
"mcpServers": {
|
|
796
|
-
"refero": {
|
|
797
|
-
"type": "http",
|
|
798
|
-
"url": "https://mcp.refero.design/mcp",
|
|
799
|
-
"headers": { "Authorization": "Bearer YOUR_REFERO_TOKEN" }
|
|
800
|
-
}
|
|
801
|
-
}
|
|
802
|
-
}
|
|
803
|
-
```
|
|
804
|
-
|
|
805
|
-
Falls back to `~/.claude/libs/awesome-design-md/`. Setup: [`connections/refero.md`](connections/refero.md).
|
|
806
|
-
|
|
807
|
-
### Pinterest MCP
|
|
808
|
-
|
|
809
|
-
When the Pinterest MCP (`terryso/mcp-pinterest`) is active, `explore` pulls visual inspiration boards alongside Refero. ToolSearch-only probe — no API key required. Fallback chain: Pinterest → Refero → awesome-design-md. Setup: [`connections/pinterest.md`](connections/pinterest.md).
|
|
810
|
-
|
|
811
|
-
### Preview (Playwright)
|
|
812
|
-
|
|
813
|
-
When the Claude Preview MCP is active, `verify` runs live page screenshots on `? VISUAL` verification gaps, so the auditor grades actual rendered output rather than inferring from code. Setup: [`connections/preview.md`](connections/preview.md).
|
|
814
|
-
|
|
815
|
-
### Storybook
|
|
816
|
-
|
|
817
|
-
When Storybook is running on `localhost:6006`, `explore` pulls component inventory, `verify` runs per-story a11y passes, and `design` can generate `.stories.tsx` stubs. Setup: [`connections/storybook.md`](connections/storybook.md).
|
|
818
|
-
|
|
819
|
-
### Chromatic
|
|
820
|
-
|
|
821
|
-
When Chromatic CLI is available, `plan` uses `--trace-changed=expanded` for change-risk scoping and `verify` narrates visual regression deltas. Setup: [`connections/chromatic.md`](connections/chromatic.md).
|
|
822
|
-
|
|
823
|
-
### Graphify
|
|
824
|
-
|
|
825
|
-
When Graphify CLI is available, `plan` and `design-integration-checker` consult the component↔token↔decision knowledge graph before grep searches — dependency queries become O(1). Setup: [`connections/graphify.md`](connections/graphify.md).
|
|
826
|
-
|
|
827
|
-
### Claude Design
|
|
828
|
-
|
|
829
|
-
Drop a Claude Design bundle (HTML export from [claude.ai/design](https://claude.ai/design)) into your project root and run `/gdd:handoff <path>`. The pipeline skips Explore → Plan, parses the bundle CSS custom properties into D-XX design decisions, runs `verify --post-handoff` for Handoff Faithfulness scoring, and optionally writes implementation status back to Figma. Full format: [`connections/claude-design.md`](connections/claude-design.md).
|
|
830
|
-
|
|
831
|
-
### paper.design
|
|
832
|
-
|
|
833
|
-
When the paper.design MCP is active, `explore` reads the canvas selection (JSX tree, computed styles) into `DESIGN-CONTEXT.md`, `design` writes annotations and token bindings back to the canvas, and `verify` captures component screenshots for visual checks. Setup: [`connections/paper-design.md`](connections/paper-design.md).
|
|
834
|
-
|
|
835
|
-
```bash
|
|
836
|
-
claude mcp add paper-design --transport http https://mcp.paper.design/sse
|
|
837
|
-
```
|
|
838
|
-
|
|
839
|
-
### pencil.dev
|
|
840
|
-
|
|
841
|
-
No MCP required. Add `.pen` YAML files to your project and install the pencil.dev VS Code / Cursor extension. `explore` discovers and merges `.pen` token declarations; `design` writes DESIGN-DEBT findings back as spec updates; `verify` diffs declared token values against actual CSS. Setup: [`connections/pencil-dev.md`](connections/pencil-dev.md).
|
|
842
|
-
|
|
843
|
-
### 21st.dev Magic MCP
|
|
844
|
-
|
|
845
|
-
When active, `explore` runs a prior-art gate (`21st_magic_component_search`) before any greenfield component build — if an existing component fits ≥80%, adoption is recommended. `design` generates components via search → generate → adopt. Also provides `svgl_get_brand_logo` for brand SVGs. Setup: [`connections/21st-dev.md`](connections/21st-dev.md).
|
|
846
|
-
|
|
847
|
-
```bash
|
|
848
|
-
npx @21st-dev/magic@latest init
|
|
849
|
-
```
|
|
850
|
-
|
|
851
|
-
### Magic Patterns
|
|
852
|
-
|
|
853
|
-
When the Magic Patterns connector is active (via Claude environment or API key), `design` generates DS-aware components and feeds the `preview_url` into visual verification. Setup: [`connections/magic-patterns.md`](connections/magic-patterns.md).
|
|
557
|
+
GDD ships with 12 tool connections. All are optional; the pipeline degrades gracefully to fallbacks when any connection is unavailable. Configure with `/gdd:connections`.
|
|
558
|
+
|
|
559
|
+
| Connection | Purpose | Probe |
|
|
560
|
+
|------------|---------|-------|
|
|
561
|
+
| **Figma** | Read tokens, components, screenshots; write annotations, Code Connect, implementation status | `mcp__figma__get_metadata` + `use_figma` |
|
|
562
|
+
| **Refero** | Design reference search across catalogued sources | `mcp__refero__search` |
|
|
563
|
+
| **Pinterest** | Visual reference grounding for brand-voice + style | OAuth + MCP |
|
|
564
|
+
| **Claude Design** | Handoff bundle import (`/gdd:handoff`) — skip Stages 1–3 | URL or local file |
|
|
565
|
+
| **Storybook** | Component-spec lookup at port 6006 | HTTP probe |
|
|
566
|
+
| **Chromatic** | Visual regression baseline diff | API key |
|
|
567
|
+
| **Preview** | Playwright + Claude Preview MCP runtime screenshots | `mcp__Claude_Preview__preview_*` |
|
|
568
|
+
| **paper.design** | MCP canvas read/write for canvas → code → verify → canvas round-trip | `mcp__paper__use_paper` |
|
|
569
|
+
| **pencil.dev** | Git-tracked `.pen` spec files (no MCP required) | `.pen` files in repo |
|
|
570
|
+
| **Graphify** | Knowledge-graph export | `mcp__graphify__*` |
|
|
571
|
+
| **21st.dev Magic** | Prior-art component search before greenfield builds | `mcp__magic__search` |
|
|
572
|
+
| **Magic Patterns** | DS-aware component generation with `preview_url` | `mcp__magic-patterns__generate` |
|
|
573
|
+
|
|
574
|
+
For full connection details and probe patterns, see [`connections/connections.md`](connections/connections.md).
|
|
854
575
|
|
|
855
576
|
---
|
|
856
577
|
|
|
857
578
|
## Configuration
|
|
858
579
|
|
|
859
|
-
GDD stores project settings in `.design/config.json`. Configure
|
|
860
|
-
|
|
861
|
-
### Core
|
|
862
|
-
|
|
863
|
-
| Setting | Options | Default | What it controls |
|
|
864
|
-
|---------|---------|---------|------------------|
|
|
865
|
-
| `mode` | `yolo`, `interactive` | `interactive` | Auto-approve vs confirm at each step |
|
|
866
|
-
| `profile` | `quality`, `balanced`, `budget`, `inherit` | `balanced` | Model tier policy (see below) |
|
|
867
|
-
| `parallelism` | `aggressive`, `conservative`, `off` | `conservative` | Wave parallelism for `design` stage |
|
|
580
|
+
GDD stores project settings in `.design/config.json`. Configure during `/gdd:new-project` or update with `/gdd:settings`.
|
|
868
581
|
|
|
869
|
-
### Model
|
|
582
|
+
### Model Profiles
|
|
870
583
|
|
|
871
|
-
|
|
584
|
+
Control which Claude model each agent uses. Balance quality vs token spend.
|
|
872
585
|
|
|
873
586
|
| Profile | Planning | Execution | Verification |
|
|
874
587
|
|---------|----------|-----------|--------------|
|
|
@@ -877,178 +590,136 @@ Each agent carries a `default-tier: haiku|sonnet|opus` in frontmatter. The activ
|
|
|
877
590
|
| `budget` | Sonnet | Sonnet | Haiku |
|
|
878
591
|
| `inherit` | Inherit | Inherit | Inherit |
|
|
879
592
|
|
|
880
|
-
|
|
593
|
+
Switch profiles:
|
|
881
594
|
|
|
882
|
-
### Budget + optimization
|
|
883
|
-
|
|
884
|
-
`.design/budget.json` controls the cost layer:
|
|
885
|
-
|
|
886
|
-
```json
|
|
887
|
-
{
|
|
888
|
-
"per_task_cap_usd": 2.00,
|
|
889
|
-
"per_phase_cap_usd": 20.00,
|
|
890
|
-
"tier_overrides": {
|
|
891
|
-
"design-planner": "opus",
|
|
892
|
-
"design-verifier": "haiku"
|
|
893
|
-
},
|
|
894
|
-
"auto_downgrade_on_cap": true,
|
|
895
|
-
"cache_ttl_seconds": 3600,
|
|
896
|
-
"enforcement_mode": "enforce"
|
|
897
|
-
}
|
|
898
595
|
```
|
|
899
|
-
|
|
900
|
-
`enforcement_mode`: `enforce` (hard-block on cap breach) | `warn` (warn + continue) | `log` (silent log). Use `log` during adoption to observe the hook's decisions without blocking.
|
|
901
|
-
|
|
902
|
-
Full schema: [`reference/config-schema.md`](reference/config-schema.md).
|
|
903
|
-
|
|
904
|
-
---
|
|
905
|
-
|
|
906
|
-
## Knowledge Layer
|
|
907
|
-
|
|
908
|
-
The knowledge layer gives the pipeline persistent memory and O(1) lookups across all design surface files.
|
|
909
|
-
|
|
910
|
-
### Intel store (`.design/intel/`)
|
|
911
|
-
|
|
912
|
-
Ten queryable JSON slices that index the design surface:
|
|
913
|
-
|
|
914
|
-
| Slice | Contents |
|
|
915
|
-
|-------|----------|
|
|
916
|
-
| `files.json` | All tracked files with mtime + git hash |
|
|
917
|
-
| `exports.json` | Named exports: skill commands + agent names |
|
|
918
|
-
| `symbols.json` | Markdown headings + section anchors |
|
|
919
|
-
| `tokens.json` | Design token references (color, spacing, typography, radius) |
|
|
920
|
-
| `components.json` | Component names + referencing files |
|
|
921
|
-
| `patterns.json` | Design pattern classifications by concern |
|
|
922
|
-
| `dependencies.json` | @-reference and reads-from relationships |
|
|
923
|
-
| `decisions.json` | Architectural decisions from DESIGN-CONTEXT.md |
|
|
924
|
-
| `debt.json` | Design debt items from DESIGN-DEBT.md |
|
|
925
|
-
| `graph.json` | Cross-reference graph: nodes + edges |
|
|
926
|
-
|
|
927
|
-
Build the intel store:
|
|
928
|
-
|
|
929
|
-
```bash
|
|
930
|
-
node scripts/build-intel.cjs --force
|
|
596
|
+
/gdd:set-profile budget
|
|
931
597
|
```
|
|
932
598
|
|
|
933
|
-
|
|
934
|
-
|
|
935
|
-
### Context exhaustion hook
|
|
599
|
+
Use `inherit` when using non-Anthropic providers or to follow the runtime's current model selection.
|
|
936
600
|
|
|
937
|
-
|
|
938
|
-
|
|
939
|
-
---
|
|
601
|
+
### Adaptive Mode
|
|
940
602
|
|
|
941
|
-
|
|
603
|
+
`.design/budget.json#adaptive_mode` ladder (v1.23.5):
|
|
942
604
|
|
|
943
|
-
|
|
944
|
-
|
|
945
|
-
|
|
946
|
-
|
|
947
|
-
|
|
948
|
-
- **Lazy checker gates** — Cheap Haiku heuristic decides whether to spawn the expensive full checker for each verification stage.
|
|
949
|
-
- **Streaming synthesizer** — Parallel-mapper outputs collapse through a single Haiku call before returning to main context, keeping the orchestrator cache-aligned.
|
|
950
|
-
- **Cost telemetry** — `.design/telemetry/costs.jsonl` records every spawn decision. Aggregated to `.design/agent-metrics.json` and consumed by `/gdd:optimize` and `design-reflector`.
|
|
951
|
-
|
|
952
|
-
---
|
|
953
|
-
|
|
954
|
-
## Testing & CI
|
|
955
|
-
|
|
956
|
-
GDD ships with a locked test suite. Every push and PR runs a five-job pipeline across a cross-platform matrix — Node 22/24 × Linux/macOS/Windows.
|
|
957
|
-
|
|
958
|
-
### Run tests locally
|
|
959
|
-
|
|
960
|
-
```bash
|
|
961
|
-
npm test
|
|
962
|
-
```
|
|
963
|
-
|
|
964
|
-
Zero third-party test dependencies — the runner is Node's built-in `node:test` + `node:assert/strict`.
|
|
965
|
-
|
|
966
|
-
### CI pipeline
|
|
967
|
-
|
|
968
|
-
```
|
|
969
|
-
lint → validate → test (matrix) → security + size-budget
|
|
970
|
-
```
|
|
605
|
+
| Mode | What it does |
|
|
606
|
+
|------|--------------|
|
|
607
|
+
| `static` (default) | Phase 10.1 behavior — static D-13 tier map |
|
|
608
|
+
| `hedge` | AdaNormalHedge ensemble + MMR rerank engaged. Bandit router still reads static map. Safest intro. |
|
|
609
|
+
| `full` | Bandit router + Hedge + MMR all active, reading/writing `.design/telemetry/posterior.json` |
|
|
971
610
|
|
|
972
|
-
|
|
973
|
-
- **Validate** — JSON schema validation, agent frontmatter validator, stale-ref detector, `claude plugin validate .`
|
|
974
|
-
- **Test** — Node 22/24 × Linux/macOS/Windows, fail-fast disabled
|
|
975
|
-
- **Security** — shellcheck on `scripts/`, secrets scan, injection scanner over all shipped skills/agents
|
|
976
|
-
- **Size-budget** — Blocking tier enforcement (XXL: 700, XL: 500, Large: 300, Default: 200 lines)
|
|
611
|
+
### Parallelism
|
|
977
612
|
|
|
978
|
-
|
|
613
|
+
| Setting | Default | What it controls |
|
|
614
|
+
|---------|---------|------------------|
|
|
615
|
+
| `parallelism.enabled` | `true` | Run independent tasks in worktrees |
|
|
616
|
+
| `parallelism.min_estimated_savings_seconds` | `30` | Skip parallelization below this threshold |
|
|
617
|
+
| `parallelism.max_concurrent_workers` | `4` | Hard cap on simultaneous worktrees |
|
|
979
618
|
|
|
980
|
-
|
|
619
|
+
### Quality Gates
|
|
981
620
|
|
|
982
|
-
|
|
621
|
+
| Setting | Default | What it controls |
|
|
622
|
+
|---------|---------|------------------|
|
|
623
|
+
| `solidify.rollback_mode` | `"stash"` | `stash` / `hard` / `none` — how to revert on validation failure |
|
|
624
|
+
| `solidify.commands` | autodetect | Override typecheck / build / test commands |
|
|
625
|
+
| `verify.iterations_max` | `3` | Cap on verify→fix loop iterations |
|
|
626
|
+
| `connection.figma_writeback` | `proposal` | `proposal` / `auto` — confirm before writing |
|
|
983
627
|
|
|
984
628
|
---
|
|
985
629
|
|
|
986
|
-
##
|
|
630
|
+
## Security
|
|
987
631
|
|
|
988
|
-
|
|
989
|
-
- `SKILL.md` — root pipeline router
|
|
990
|
-
- `skills/` — 55 stage + standalone skills
|
|
991
|
-
- `agents/` — 33 specialized agent specs
|
|
992
|
-
- `connections/` — 12 connection specs
|
|
993
|
-
- `reference/` — curated design reference (shared preamble, model tiers, model prices, schemas, DEPRECATIONS, config schema)
|
|
994
|
-
- `hooks/`, `scripts/bootstrap.sh`
|
|
632
|
+
### Built-in Hardening
|
|
995
633
|
|
|
996
|
-
|
|
634
|
+
GDD ships defense-in-depth security since Phase 14.5:
|
|
997
635
|
|
|
998
|
-
|
|
636
|
+
- **`hooks/gdd-bash-guard.js`** — PreToolUse:Bash blocks ~50 dangerous patterns (`rm -rf /`, `chmod 777`, `curl | sh`, `git reset --hard`, fork bombs) after Unicode NFKC + ANSI normalization.
|
|
637
|
+
- **`hooks/gdd-protected-paths.js`** — PreToolUse:Edit/Write/Bash enforces `protected_paths` glob list (defaults: `reference/**`, `.design/archive/**`, `skills/**`, `commands/**`, `hooks/**`, `.design/config.json`, `.design/telemetry/**`).
|
|
638
|
+
- **`hooks/gdd-read-injection-scanner.ts`** — scans inbound Read content for invisible-Unicode (zero-width, word-joiner, BOM, bidi overrides) + HTML-comment + secret-exfil patterns.
|
|
639
|
+
- **`scripts/lib/blast-radius.cjs`** — `design-executor` preflight refuses tasks above `max_files_per_task: 10` / `max_lines_per_task: 400`.
|
|
640
|
+
- **`hooks/gdd-mcp-circuit-breaker.js`** — breaks consecutive-timeout loops on `use_figma` / `use_paper` / `use_pencil`.
|
|
999
641
|
|
|
1000
|
-
|
|
1001
|
-
git clone https://github.com/hegemonart/get-design-done.git
|
|
1002
|
-
cd get-design-done
|
|
1003
|
-
npm ci
|
|
1004
|
-
npm test
|
|
1005
|
-
claude --plugin-dir ./
|
|
1006
|
-
```
|
|
642
|
+
### Protecting Sensitive Files
|
|
1007
643
|
|
|
1008
|
-
|
|
644
|
+
Add sensitive paths to your runtime's deny list:
|
|
1009
645
|
|
|
1010
|
-
```
|
|
1011
|
-
|
|
1012
|
-
|
|
646
|
+
```json
|
|
647
|
+
{
|
|
648
|
+
"permissions": {
|
|
649
|
+
"deny": [
|
|
650
|
+
"Read(.env)",
|
|
651
|
+
"Read(.env.*)",
|
|
652
|
+
"Read(**/secrets/*)",
|
|
653
|
+
"Read(**/*credential*)",
|
|
654
|
+
"Read(**/*.pem)",
|
|
655
|
+
"Read(**/*.key)"
|
|
656
|
+
]
|
|
657
|
+
}
|
|
658
|
+
}
|
|
1013
659
|
```
|
|
1014
660
|
|
|
1015
|
-
|
|
661
|
+
> [!IMPORTANT]
|
|
662
|
+
> Because GDD generates markdown files that become LLM system prompts, any user-controlled text flowing into `.design/` artifacts is a potential indirect prompt-injection vector. The injection scanner catches such vectors at multiple layers — but defense-in-depth is best practice.
|
|
1016
663
|
|
|
1017
664
|
---
|
|
1018
665
|
|
|
1019
666
|
## Troubleshooting
|
|
1020
667
|
|
|
1021
668
|
**Commands not found after install?**
|
|
1022
|
-
- Restart
|
|
1023
|
-
- Verify files exist
|
|
1024
|
-
-
|
|
669
|
+
- Restart your runtime to reload commands/skills
|
|
670
|
+
- Verify files exist at `~/.claude/skills/get-design-done/` for global Claude Code installs
|
|
671
|
+
- For local installs, verify `./.claude/skills/get-design-done/`
|
|
672
|
+
- Run `/gdd:help` to confirm registration
|
|
1025
673
|
|
|
1026
|
-
**Pipeline stuck
|
|
1027
|
-
|
|
1028
|
-
|
|
1029
|
-
|
|
1030
|
-
```
|
|
1031
|
-
The forensic mode runs a 6-check integrity audit — stale artifacts, dangling decisions, unfinished handoffs, orphan cycles, schema drift, injection-scanner warnings.
|
|
674
|
+
**Pipeline stuck mid-stage?**
|
|
675
|
+
- `/gdd:resume` — restore from the most recent numbered checkpoint
|
|
676
|
+
- `/gdd:health` — diagnose `.design/` artifact issues
|
|
677
|
+
- `/gdd:progress --forensic` — 6-check integrity audit
|
|
1032
678
|
|
|
1033
|
-
**
|
|
1034
|
-
|
|
679
|
+
**Cost overruns?**
|
|
680
|
+
- `/gdd:optimize` — rule-based recommendations
|
|
681
|
+
- `/gdd:set-profile budget` — switch to budget tier
|
|
682
|
+
- Set `adaptive_mode: "full"` in `.design/budget.json` — bandit will learn cheap-and-correct tier per agent over 5–10 cycles
|
|
1035
683
|
|
|
1036
684
|
**Updating to the latest version?**
|
|
1037
|
-
See [Staying Updated](#staying-updated). Short version: `npx @hegemonart/get-design-done@latest` or `/gdd:update`.
|
|
1038
|
-
|
|
1039
|
-
### Uninstall
|
|
1040
|
-
|
|
1041
685
|
```bash
|
|
1042
|
-
|
|
686
|
+
npx @hegemonart/get-design-done@latest
|
|
1043
687
|
```
|
|
1044
688
|
|
|
1045
|
-
|
|
689
|
+
**Using Docker / containers?**
|
|
1046
690
|
|
|
1047
691
|
```bash
|
|
1048
|
-
|
|
692
|
+
CLAUDE_CONFIG_DIR=/workspace/.claude npx @hegemonart/get-design-done
|
|
1049
693
|
```
|
|
1050
694
|
|
|
1051
|
-
|
|
695
|
+
### Uninstalling
|
|
696
|
+
|
|
697
|
+
```bash
|
|
698
|
+
# Global installs (per-runtime)
|
|
699
|
+
npx @hegemonart/get-design-done --claude --global --uninstall
|
|
700
|
+
npx @hegemonart/get-design-done --opencode --global --uninstall
|
|
701
|
+
npx @hegemonart/get-design-done --gemini --global --uninstall
|
|
702
|
+
npx @hegemonart/get-design-done --kilo --global --uninstall
|
|
703
|
+
npx @hegemonart/get-design-done --codex --global --uninstall
|
|
704
|
+
npx @hegemonart/get-design-done --copilot --global --uninstall
|
|
705
|
+
npx @hegemonart/get-design-done --cursor --global --uninstall
|
|
706
|
+
npx @hegemonart/get-design-done --windsurf --global --uninstall
|
|
707
|
+
npx @hegemonart/get-design-done --antigravity --global --uninstall
|
|
708
|
+
npx @hegemonart/get-design-done --augment --global --uninstall
|
|
709
|
+
npx @hegemonart/get-design-done --trae --global --uninstall
|
|
710
|
+
npx @hegemonart/get-design-done --qwen --global --uninstall
|
|
711
|
+
npx @hegemonart/get-design-done --codebuddy --global --uninstall
|
|
712
|
+
npx @hegemonart/get-design-done --cline --global --uninstall
|
|
713
|
+
|
|
714
|
+
# Multi-select interactive uninstall (no runtime flag)
|
|
715
|
+
npx @hegemonart/get-design-done --uninstall
|
|
716
|
+
|
|
717
|
+
# Local installs (current project)
|
|
718
|
+
npx @hegemonart/get-design-done --claude --local --uninstall
|
|
719
|
+
# ... same flags as above with --local
|
|
720
|
+
```
|
|
721
|
+
|
|
722
|
+
This removes all GDD commands, agents, hooks, and settings while preserving other configurations.
|
|
1052
723
|
|
|
1053
724
|
---
|
|
1054
725
|
|
|
@@ -1060,6 +731,6 @@ MIT License. See [LICENSE](LICENSE) for details.
|
|
|
1060
731
|
|
|
1061
732
|
<div align="center">
|
|
1062
733
|
|
|
1063
|
-
**Claude Code
|
|
734
|
+
**Claude Code ships code. Get Design Done makes sure it ships design.**
|
|
1064
735
|
|
|
1065
736
|
</div>
|