@hegemonart/get-design-done 1.57.1 → 1.57.2
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 +26 -41
- package/.claude-plugin/plugin.json +23 -48
- package/CHANGELOG.md +91 -0
- package/README.md +166 -511
- package/SKILL.md +2 -0
- package/agents/README.md +33 -36
- package/agents/a11y-mapper.md +3 -3
- package/agents/component-benchmark-harvester.md +6 -6
- package/agents/component-benchmark-synthesizer.md +3 -3
- package/agents/compose-executor.md +3 -3
- package/agents/cost-forecaster.md +2 -2
- package/agents/design-auditor.md +7 -7
- package/agents/design-authority-watcher.md +15 -15
- package/agents/design-context-builder.md +4 -4
- package/agents/design-context-checker-gate.md +1 -1
- package/agents/design-discussant.md +2 -2
- package/agents/design-doc-writer.md +1 -1
- package/agents/design-executor.md +2 -2
- package/agents/design-figma-writer.md +2 -2
- package/agents/design-fixer.md +7 -7
- package/agents/design-integration-checker-gate.md +1 -1
- package/agents/design-integration-checker.md +1 -1
- package/agents/design-paper-writer.md +3 -3
- package/agents/design-pencil-writer.md +1 -1
- package/agents/design-planner.md +21 -0
- package/agents/design-reflector.md +39 -39
- package/agents/design-research-synthesizer.md +1 -0
- package/agents/design-start-writer.md +1 -1
- package/agents/design-update-checker.md +5 -5
- package/agents/design-verifier-gate.md +1 -1
- package/agents/design-verifier.md +52 -48
- package/agents/ds-generator.md +2 -2
- package/agents/ds-migration-planner.md +4 -4
- package/agents/email-executor.md +9 -9
- package/agents/experiment-result-ingester.md +3 -3
- package/agents/flutter-executor.md +5 -5
- package/agents/gdd-graph-refresh.md +3 -3
- package/agents/gdd-intel-updater.md +2 -2
- package/agents/motion-mapper.md +2 -2
- package/agents/motion-verifier.md +4 -4
- package/agents/pdf-executor.md +8 -8
- package/agents/perf-analyzer.md +17 -17
- package/agents/pr-commenter.md +9 -9
- package/agents/prototype-gate.md +2 -2
- package/agents/quality-gate-runner.md +1 -1
- package/agents/rollout-coordinator.md +3 -3
- package/agents/swift-executor.md +4 -4
- package/agents/ticket-sync-agent.md +6 -6
- package/agents/user-research-synthesizer.md +2 -2
- package/connections/connections.md +44 -45
- package/connections/cursor.md +73 -0
- package/connections/preview.md +3 -3
- package/dist/claude-code/.claude/skills/cache-manager/SKILL.md +3 -3
- package/dist/claude-code/.claude/skills/cache-manager/cache-policy.md +1 -1
- package/dist/claude-code/.claude/skills/design/SKILL.md +19 -0
- package/dist/claude-code/.claude/skills/explore/SKILL.md +11 -0
- package/dist/claude-code/.claude/skills/figma-write/SKILL.md +13 -2
- package/dist/claude-code/.claude/skills/paper-write/SKILL.md +54 -0
- package/dist/claude-code/.claude/skills/pencil-write/SKILL.md +54 -0
- package/dist/claude-code/.claude/skills/report-issue/SKILL.md +2 -2
- package/dist/claude-code/.claude/skills/router/SKILL.md +2 -2
- package/dist/claude-code/.claude/skills/verify/verify-procedure.md +10 -11
- package/dist/claude-code/.claude/skills/warm-cache/SKILL.md +1 -1
- package/hooks/first-run-nudge.cjs +171 -0
- package/hooks/gdd-intel-trigger.js +243 -0
- package/hooks/gdd-mcp-circuit-breaker.js +62 -7
- package/hooks/gdd-precompact-snapshot.js +50 -29
- package/hooks/gdd-protected-paths.js +150 -18
- package/hooks/gdd-risk-gate.js +93 -1
- package/hooks/gdd-sessionstart-recap.js +59 -24
- package/hooks/hooks.json +13 -4
- package/hooks/inject-using-gdd.cjs +188 -0
- package/hooks/update-check.cjs +511 -0
- package/package.json +9 -2
- package/reference/STATE-TEMPLATE.md +10 -13
- package/reference/audit-scoring.md +1 -1
- package/reference/cache-tier-doctrine.md +46 -0
- package/reference/config-schema.md +9 -9
- package/reference/i18n.md +1 -1
- package/reference/intel-schema.md +37 -2
- package/reference/meta-rules.md +4 -4
- package/reference/model-tiers.md +2 -2
- package/reference/registry.json +101 -94
- package/reference/runtime-models.md +11 -1
- package/reference/shared-preamble.md +13 -14
- package/reference/skill-graph.md +24 -1
- package/scripts/bootstrap.cjs +373 -0
- package/scripts/injection-patterns.cjs +58 -0
- package/scripts/lib/apply-reflections/incubator-proposals.cjs +57 -26
- package/scripts/lib/install/converters/codex-plugin.cjs +5 -2
- package/scripts/lib/install/converters/cursor.cjs +20 -0
- package/scripts/lib/issue-reporter/report-flow.cjs +1 -1
- package/scripts/lib/manifest/skills.json +80 -13
- package/scripts/lib/state/query-surface.cjs +67 -9
- package/scripts/lib/state/state-store.cjs +68 -26
- package/sdk/cli/commands/stage.ts +17 -0
- package/sdk/cli/index.js +14 -0
- package/skills/cache-manager/SKILL.md +3 -3
- package/skills/cache-manager/cache-policy.md +1 -1
- package/skills/design/SKILL.md +19 -0
- package/skills/explore/SKILL.md +11 -0
- package/skills/figma-write/SKILL.md +13 -2
- package/skills/paper-write/SKILL.md +54 -0
- package/skills/pencil-write/SKILL.md +54 -0
- package/skills/report-issue/SKILL.md +2 -2
- package/skills/router/SKILL.md +2 -2
- package/skills/verify/verify-procedure.md +10 -11
- package/skills/warm-cache/SKILL.md +1 -1
- package/hooks/first-run-nudge.sh +0 -82
- package/hooks/inject-using-gdd.sh +0 -72
- package/hooks/update-check.sh +0 -251
- package/scripts/lib/audit-aggregator/index.cjs +0 -219
- package/scripts/lib/hedge-ensemble.cjs +0 -217
package/README.md
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
**English** · [简体中文](docs/i18n/README.zh-CN.md) · [日本語](docs/i18n/README.ja.md) · [한국어](docs/i18n/README.ko.md) · [Français](docs/i18n/README.fr.md) · [Italiano](docs/i18n/README.it.md) · [Deutsch](docs/i18n/README.de.md)
|
|
6
6
|
|
|
7
|
-
**A design-quality pipeline for AI coding agents: brief → explore → plan →
|
|
7
|
+
**A design-quality pipeline for AI coding agents: brief → explore → plan → design → 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
|
|
|
@@ -56,7 +56,7 @@ What I kept running into: the agent could generate a screen that looked fine in
|
|
|
56
56
|
|
|
57
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
|
-
Behind the scenes:
|
|
59
|
+
Behind the scenes: 61 specialized agents, a queryable intel store, tier-aware model routing, 42 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
|
|
|
@@ -64,7 +64,7 @@ Behind the scenes: 37 specialized agents, a queryable intel store, tier-aware mo
|
|
|
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 is the context engineering layer for design work. It turns "make this UI better" into a traceable cycle: brief →
|
|
67
|
+
Get Design Done is the context engineering layer for design work. It turns "make this UI better" into a traceable cycle: brief → explore → plan → design → verify.
|
|
68
68
|
|
|
69
69
|
---
|
|
70
70
|
|
|
@@ -87,133 +87,7 @@ Use it when you care that tokens match, contrast passes WCAG, motion feels cohes
|
|
|
87
87
|
|
|
88
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.
|
|
89
89
|
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
Closes the **outbound** half of multi-runtime: gdd agents now OPTIONALLY delegate to local peer CLIs (Codex via App Server Protocol; Gemini/Cursor/Copilot/Qwen via Agent Client Protocol) when measurably cheaper or higher-quality for the role. Falls back to in-process Anthropic SDK when peer is unavailable. Honors v1.26.0's tier maps + v1.22.0's event chain + v1.23.5's bandit posterior - `delegate?` becomes another arm in `(agent_type × tier × delegate)` Thompson sampling.
|
|
93
|
-
|
|
94
|
-
- **ACP + ASP protocol clients** - `scripts/lib/peer-cli/{acp-client,asp-client}.cjs` ship line-delimited JSON-RPC over stdio with 16 MiB line-buffer overflow guards. ACP serves Gemini/Cursor/Copilot/Qwen; ASP serves Codex (thread-oriented, multi-turn). Protocol shapes adapted from `greenpolo/cc-multi-cli` (Apache 2.0, see `NOTICE`). Long-lived broker per `(peer, workspace)` over Unix socket / named pipe - cold-spawn cost amortized across delegated calls in a cycle.
|
|
95
|
-
- **5 per-peer adapters + central registry** - `scripts/lib/peer-cli/adapters/{codex,gemini,cursor,copilot,qwen}.cjs` thin-wrap the protocol clients with role→prompt-prefix maps and slash-command translation. Central dispatch via `registry.cjs#findPeerFor(role, tier)` consults the locked capability matrix (codex→execute; gemini→research/exploration; cursor→debug/plan; copilot→review/research; qwen→write).
|
|
96
|
-
- **`delegate_to:` agent frontmatter** - additive optional field; values are `<peer>-<role>` per matrix or `none` for explicit opt-out. Session-runner tries delegate first; transparent fallback on peer-absent OR peer-error. `peer_call_failed` event logs to `events.jsonl` for reflector telemetry. v1.27.0 ships the field but no agent in the fleet uses it yet - opt-in per agent via `/gdd:run-skill peer-cli-customize`.
|
|
97
|
-
- **Bandit posterior `delegate?` dimension** - Phase 23.5's `(agent_type, touches_size_bin)` arm space expands to `(agent_type, touches_size_bin, delegate)` where `delegate ∈ {none, gemini, codex, cursor, copilot, qwen}`. Existing priors carry forward as the `none` arm (no behavior change for unconfigured agents); 5 delegation arms start neutral. Reward signal unchanged (two-stage lexicographic). The bandit measures and learns which delegations actually pay off over cycles.
|
|
98
|
-
- **Event chain `runtime_role` + `peer_id` tags** - additive Phase 22 extension. `events.jsonl` rows optionally tag `runtime_role: "host" | "peer"` (defaults `"host"` for back-compat) and `peer_id`. 3 new event types: `peer_call_started`, `peer_call_complete`, `peer_call_failed`. costs.jsonl threads the same fields so v1.26's cross-runtime cost-arbitrage reflector extends to host-vs-peer arbitrage naturally.
|
|
99
|
-
- **`/gdd:peers` discoverability + skills for setup** - `/gdd:peers` shows a single-command capability matrix (peer × installed? × allowlisted? × claimed roles × posterior delta vs local). `peer-cli-customize` rewires per-agent `delegate_to:` mappings; `peer-cli-add` walks the verification ladder for adding a brand-new peer (model-ID `-preview`-suffix trap, Windows `.cmd` quirks, 3-file footprint). Install-time peer-detection helpers (`detectInstalledPeers()`) ship in `runtimes.cjs` ready for the interactive nudge (deferred to a 1.27.x patch).
|
|
100
|
-
|
|
101
|
-
See [docs/PEER-DELEGATION.md](docs/PEER-DELEGATION.md) for the ops guide (when delegation fires, fallback diagnostics, broker lifecycle, Windows quirks) and [reference/peer-protocols.md](reference/peer-protocols.md) for the ACP + ASP protocol cheat sheet.
|
|
102
|
-
|
|
103
|
-
### OpenRouter provider (v1.33.6, opt-in)
|
|
104
|
-
|
|
105
|
-
You can route any agent's tier (`opus`/`sonnet`/`haiku`) through **OpenRouter** - an aggregator that fronts Claude, GPT, Llama, Gemini, DeepSeek and more behind a single API key - *alongside* your native provider auth, never instead of it. Set `OPENROUTER_API_KEY` and GDD's tier-resolver adapter dynamically fetches the OpenRouter catalog (24h TTL cache) and maps each tier onto a concrete model via a closed-vs-open + pricing heuristic, with a `.design/config.json#openrouter_tier_overrides` escape hatch for pinning exact ids. When the key is absent or the catalog is unreachable, resolution gracefully falls back to your native provider - OpenRouter is purely additive. See [`connections/openrouter.md`](connections/openrouter.md) for setup, the probe pattern, and fallback behavior, and run `/gdd:openrouter-status` to inspect catalog freshness and the resolved tier→model mapping.
|
|
106
|
-
|
|
107
|
-
### Native mobile output (v1.34.1)
|
|
108
|
-
|
|
109
|
-
GDD now generates **native mobile** UI, not just web. A project-type detector routes the brief to the matching executor - web stays the default; `native-ios` / `native-android` / `flutter` opt in via the brief plus `package.json` / `pubspec.yaml` / `*.xcodeproj` presence:
|
|
110
|
-
|
|
111
|
-
- **[`swift-executor`](agents/swift-executor.md)** - compilable **SwiftUI** views per iOS conventions (navigation, safe areas, SF Pro Dynamic Type).
|
|
112
|
-
- **[`compose-executor`](agents/compose-executor.md)** - **Jetpack Compose** Material 3 composables (Kotlin), edge-to-edge with the Material 3 `sp` type scale.
|
|
113
|
-
- **[`flutter-executor`](agents/flutter-executor.md)** - one Dart codebase that adapts the theme **per target**: Material 3 for web/Android, Cupertino for iOS.
|
|
114
|
-
|
|
115
|
-
All three are fed by a shared **token-bridge** ([`reference/native-platforms.md`](reference/native-platforms.md)) that extends the Phase-23 token engine with `swift`/`compose`/`flutter` emitters - mapping your canonical tokens (`#3B82F6`, `16px`, `Inter`) deterministically onto each platform's theme primitives (`Color`/`Font`, `MaterialTheme`, `ThemeData`) with a documented, round-trippable precision contract, so the executors never hand-author colour or dimension math. Rendered verification via the iOS Simulator / Android emulator is **optional** - when no simulator is present the verify stage degrades to a code-only structural audit (the simulator only *adds* rendered confirmation).
|
|
116
|
-
|
|
117
|
-
### Email output (v1.34.2)
|
|
118
|
-
|
|
119
|
-
GDD also generates **email templates** - the project-type detector routes an `email` brief to a dedicated executor that honors the real client constraints web HTML/CSS breaks on:
|
|
120
|
-
|
|
121
|
-
- **[`email-executor`](agents/email-executor.md)** - generates one email per task as **MJML source (canonical) + the derived HTML**, against the constraint catalogue, with the static validator as its own self-check. It is an agent-prompt, not a compiler - **no `mjml` runtime, no Litmus account, no network** is needed to produce the email.
|
|
122
|
-
|
|
123
|
-
The constraints live in [`reference/email-design.md`](reference/email-design.md) - table-based layout (no flexbox/grid/`position`), inline styles (no `<style>` sheet in Gmail), MSO conditional comments for Outlook's Word engine, dark-mode `color-scheme` handling, ~600px width, and the top-20-client quirks. A deterministic static checker ([`scripts/lib/email/validate-email-html.cjs`](scripts/lib/email/validate-email-html.cjs)) flags the statically-verifiable subset (`EM-LAYOUT`/`EM-STYLE`/`EM-MSO`/`EM-DARK`). Cross-client rendered verification via [`Litmus`](connections/litmus.md) (or Email-on-Acid) is **optional** - when absent the verify stage degrades to the static validator. Email generation is opt-in; **web stays the default**.
|
|
124
|
-
|
|
125
|
-
### Print/PDF output (v1.34.3)
|
|
126
|
-
|
|
127
|
-
GDD also generates **print/PDF** output - the project-type detector routes a `print` brief to a dedicated executor that honors the production constraints screen-RGB web HTML ignores. This **completes the Non-Web Output Layer** (native + email + print all shipped):
|
|
128
|
-
|
|
129
|
-
- **[`pdf-executor`](agents/pdf-executor.md)** - generates **Paged.js-compatible print HTML/CSS** (with PDFKit-fallback notes for Chrome-less runtimes) against the constraint catalogue, with the static validator as its own self-check. It is an agent-prompt, not a compiler - **no headless Chrome, no PDFKit, no network** is needed to produce the print HTML/CSS.
|
|
130
|
-
|
|
131
|
-
The constraints live in [`reference/print-design.md`](reference/print-design.md) - the `@page` box model (size/margin/marks), bleed box + crop/registration marks, CMYK color-space awareness (print is subtractive CMYK, not screen RGB), font embedding/outlining (print RIPs have no web fonts), and a 300dpi raster fallback. A deterministic static checker ([`scripts/lib/print/validate-print-css.cjs`](scripts/lib/print/validate-print-css.cjs)) flags the statically-verifiable subset (`PR-PAGE`/`PR-BLEED`/`PR-CMYK`/`PR-FONT`/`PR-DPI`). Rendered PDF/page verification via the optional [`print-renderer`](connections/print-renderer.md) connection (Paged.js/headless-Chrome or PDFKit) is **optional** - when absent the verify stage degrades to the static validator. Print generation is opt-in; **web stays the default**.
|
|
132
|
-
|
|
133
|
-
### Research connections - Lazyweb + Mobbin (v1.34.4)
|
|
134
|
-
|
|
135
|
-
The **discover** stage grounds design in real product references, resolving sources **cost-aware - the free source is tried before any paid one**. [`Lazyweb`](connections/lazyweb.md) (free MCP, 250k+ app screens - pricing pages, onboarding, redesign comparisons) is **Tier 1, always first**; [`Mobbin`](connections/mobbin.md) (paid MCP, 600k+ screens / 130k+ flows - mobile + flow-level) and [`Refero`](connections/refero.md) are **Tier 2** (use whichever you subscribe to), then Pinterest → local archetypes → WebFetch. Both are optional user-installed MCPs (**no new runtime dependency**), onboardable via `/gdd:connections`.
|
|
136
|
-
|
|
137
|
-
### Team surfaces - PR inline review (v1.35.1)
|
|
138
|
-
|
|
139
|
-
After `/gdd:ship` opens the PR, the [`pr-commenter`](agents/pr-commenter.md) agent posts GDD's verify/audit output **inline** on it: selector-specific findings as inline review comments on changed lines, Preview/Chromatic before-after screenshot pairs, and a `gdd/design-review` status check (audit pillar scores + verify pass/fail + a11y) that a teammate's branch protection can require. Outbound bodies are redacted; `GDD_DISABLE_PR_COMMENTER` (or `.design/config.json`) is the kill-switch; it degrades to a noop (prints bodies for manual paste) and **never fails the ship**. Uses `gh` only - **no new runtime dependency**. First sub-phase of the Team Surfaces layer (Slack/Discord notifications + Linear/Jira ticket-sync follow). Contract: [`reference/pr-review-integration.md`](reference/pr-review-integration.md).
|
|
140
|
-
|
|
141
|
-
### Team surfaces - Notification backplane (v1.35.2)
|
|
142
|
-
|
|
143
|
-
Routes pipeline events (verify-fail / audit-pass / ship) to **Slack** + **Discord** via incoming webhooks ([`connections/slack.md`](connections/slack.md) / [`connections/discord.md`](connections/discord.md)). The dispatcher ([`scripts/lib/notify/dispatch.cjs`](scripts/lib/notify/dispatch.cjs)) redacts every body at a single chokepoint, honors per-channel kill-switches (`GDD_DISABLE_SLACK` / `GDD_DISABLE_DISCORD`), and degrades to a noop when a webhook URL is unset - notification never blocks the pipeline. **No new runtime dependency** (injectable `fetch`, no Slack/Discord SDK). Routing: [`reference/notification-routing.md`](reference/notification-routing.md).
|
|
144
|
-
|
|
145
|
-
### Team surfaces - Ticket sync (v1.35.3)
|
|
146
|
-
|
|
147
|
-
Links a design cycle to a **Linear** or **Jira** ticket and keeps them in sync ([`connections/linear.md`](connections/linear.md) / [`connections/jira.md`](connections/jira.md), MCP-based). [`agents/ticket-sync-agent.md`](agents/ticket-sync-agent.md) surfaces the linked ticket's comments as context when a design file opens (via the decision-injector) and, on `/gdd:complete-cycle`, transitions the ticket + posts a **redacted** summary. Per-system kill-switches (`GDD_DISABLE_LINEAR` / `GDD_DISABLE_JIRA`); degrade-to-noop (never gates the cycle). **No new runtime dependency, no new egress** (MCP tools only). Contract: [`reference/ticket-sync.md`](reference/ticket-sync.md). **Completes the Team Surfaces layer** (PR inline + notifications + ticket sync).
|
|
148
|
-
|
|
149
|
-
### Design-artifact export (v1.35.5)
|
|
150
|
-
|
|
151
|
-
`/gdd:export <cycle> --format html|pdf|notion` packages a finished cycle's design output (`EXPERIENCE.md`, `DESIGN.md`, `DESIGN-VERIFICATION.md`, the decision log, screenshots) into a stakeholder-shareable artifact - for PMs/execs/brand who aren't in the repo. The [`build-html`](scripts/lib/export/build-html.cjs) assembler emits a **self-contained** HTML (inline CSS, base64-embedded screenshots, **zero external references**); `pdf` is the same HTML plus Paged.js-compatible `@page` print CSS you render yourself; `notion` writes a page via the Notion MCP ([`connections/notion.md`](connections/notion.md), degrade-to-HTML). Every artifact is **redacted**; `--pseudonymize` masks identity/paths/hostname for external sharing; `--pr` posts the HTML preview as a PR comment via `pr-commenter`. **No new runtime dependency** (D-02: pure assembler, no PDF/markdown library). Contract: [`reference/export-formats.md`](reference/export-formats.md).
|
|
152
|
-
|
|
153
|
-
### Domain packs - Knowledge Tier 3 (v1.36.1)
|
|
154
|
-
|
|
155
|
-
Four industry-specific design-pattern packs at [`reference/domains/`](reference/domains/) - **finance** (data-table density, trading-UI color semantics, Reg-T/MiFID II disclosure, PCI-DSS masking, number-formatting precision), **healthcare** (HIPAA PHI isolation, audit-trail-as-UI, WCAG 2.1 AAA, medical-data viz), **gaming** (HUD/diegetic taxonomy, vestibular + photosensitive safety, ESRB/PEGI age-gates, controller/touch input adaptation), and **civic** (Section 508 + WCAG 2.1 AA floor, multi-language gov forms, Plain Writing Act, USWDS). The [`design-context-builder`](agents/design-context-builder.md) auto-detects the domain from brief keywords + `package.json` dependencies (`@stripe/`, `fhir`, `@react-three/fiber`, `@uswds/uswds`, …) and loads the matching pack into downstream context; [`design-auditor`](agents/design-auditor.md) folds each pack's audit checklist into the relevant pillar. Additive knowledge - no new pillar, no new runtime dependency. First sub-phase of Phase 36 (Motion-tool verification + Conversational UI follow).
|
|
156
|
-
|
|
157
|
-
### Motion-tool verification (v1.36.2)
|
|
158
|
-
|
|
159
|
-
GDD now opens the motion **exports** a project ships. The pure, dependency-free [`validate-motion`](scripts/lib/motion/validate-motion.cjs) checks a **Lottie** JSON for frame-rate sanity, non-positive duration, embedded-asset bloat, and a perf budget (`MO-*` rules); for **Rive** `.riv` (binary) it does size + a `RIVE`-header sanity, and surfaces the state-machine graph (unreachable states, no-exit loops) when the opt-in Rive runtime is present. The [`motion-verifier`](agents/motion-verifier.md) agent runs at verify time ([`connections/lottie.md`](connections/lottie.md) / [`connections/rive.md`](connections/rive.md)) and **WARNs - never blocks** (motion is creative). **No new runtime dependency** - the Lottie player and Rive runtime are opt-in. Second sub-phase of Phase 36.
|
|
160
|
-
|
|
161
|
-
### Conversational UI (v1.36.3)
|
|
162
|
-
|
|
163
|
-
[`reference/conversational-ui.md`](reference/conversational-ui.md) closes a zero-coverage surface: voice flows + chatbots. It codifies voice-flow reprompts (no-input / no-match → human handoff), multi-turn dialogue (context carryover, slot-filling, repair), **prompt-as-UX** (the assistant's persona/tone/boundaries as a versioned design artifact), chatbot empty-states + suggested replies, voice-first onboarding, and error recovery + accessibility. [`design-context-builder`](agents/design-context-builder.md) detects a `conversational` project type (brief keywords + chatbot/voice deps like `botpress` / `dialogflow` / `actions-on-google` / `ask-sdk-core`) and loads the pack into context. **No new runtime dependency.** This is the **final sub-phase of Phase 36 - which is now complete** (domain packs + motion-tool verification + conversational UI).
|
|
164
|
-
|
|
165
|
-
### AI-native tools - Wave 2 (v1.37.1)
|
|
166
|
-
|
|
167
|
-
Six more AI-native design tools join the connection layer (Phase 14's backlog, now scheduled): **Framer**, **Penpot**, and **Webflow** (canvas-category - read frames/boards/structure as design sources) plus **v0.dev**, **Plasmic**, and **Builder.io** (generator-category - prompt→component, wired into [`design-component-generator`](agents/design-component-generator.md) as `<!-- impl: -->` sections). Plasmic is dual (canvas + generator). Onboarding grows 21 → 27. Each is an opt-in MCP/API connection that degrades to code-only when absent - **no new runtime dependency**. First sub-phase of Phase 37 (Greenfield DS Bootstrap follows).
|
|
168
|
-
|
|
169
|
-
### Greenfield design-system bootstrap (v1.37.2)
|
|
170
|
-
|
|
171
|
-
`/gdd:bootstrap-ds` gives a brand-new project a coherent design system from a brand input (a primary color + optional secondary + tone tags + target framework). The pure [`token-scale`](scripts/lib/ds/token-scale.cjs) helper emits a 9-stop OKLCH color scale as native CSS `oklch()` (no color-conversion library), a modular type scale, a 4pt/8pt spacing scale, and radius/motion defaults; [`ds-generator`](agents/ds-generator.md) offers **3 variants** (conservative / balanced / bold) to pick from per [`reference/ds-bootstrap-rubric.md`](reference/ds-bootstrap-rubric.md), then scaffolds button/input/card proof components. Never invents a brand; never overwrites an existing DS. **No new runtime dependency.** This **completes Phase 37** (AI-native Wave 2 + greenfield bootstrap).
|
|
172
|
-
|
|
173
|
-
### Outcome-driven adaptation (v1.38.0)
|
|
174
|
-
|
|
175
|
-
GDD now learns **which design patterns win with users**, not just which pass lint. `/gdd:design --variants N` emits N competing, hypothesis-tagged variants; a new `design_arms` posterior ([`design-arms-store`](scripts/lib/ds-arms/design-arms-store.cjs) - Beta(2,8), distinct from the routing bandit) consults prior outcomes to bias generation (**advisory, never directive**). Two read-only external signal sources close the loop: **A/B experiments** ([LaunchDarkly / Statsig / GrowthBook](connections/launchdarkly.md) → [`experiment-result-ingester`](agents/experiment-result-ingester.md)) and **user research** ([UserTesting / Maze / Hotjar](connections/usertesting.md) → [`user-research-synthesizer`](agents/user-research-synthesizer.md)), the latter **pseudonymized before any agent context** (a tested PII guard). Findings populate the brief's `<prior-research>` block, which verify cross-checks. **No new runtime dependency.** Onboarding 27 → 33.
|
|
176
|
-
|
|
177
|
-
### Deployment coordination (v1.38.5)
|
|
178
|
-
|
|
179
|
-
GDD now tracks a design past "PR merged" to **actually live**. [`/gdd:rollout-status`](skills/rollout-status/SKILL.md) reads the feature-flag service (the Phase 38 LaunchDarkly/Statsig/GrowthBook connections) via [`rollout-coordinator`](agents/rollout-coordinator.md) and classifies each cycle - `unrolled` / `staging-only` / `canary-N%` / `prod-100%` - surfacing **stuck** rollouts (a canary that hasn't advanced in N days). The pure [`rollout-status`](scripts/lib/rollout/rollout-status.cjs) classifier also computes a **deployed-percentage weight** that feeds the `design_arms` posterior via `verify_outcome` events - a variant that only reached 10% of users counts as weak evidence (0.1), a fully-rolled one counts 1.0. **Read-only** (GDD never advances or rolls back) and **no new runtime dependency**.
|
|
180
|
-
|
|
181
|
-
### DS migration workflows (v1.39.1)
|
|
182
|
-
|
|
183
|
-
When a design system ships a breaking major - shadcn/ui v1→v2, Tailwind v3→v4, MUI v5→v6, or the Material 2/3 token rename - GDD detects the skew from the in-repo `package.json`, consults a curated rule library ([`reference/migrations/`](reference/migrations/)), and produces an **impact-scored, proposal-only** migration plan via [`ds-migration-planner`](agents/ds-migration-planner.md). Each affected component is scored by visual-delta × usage × tests-affected, and the planner emits codemod scaffolds to `.design/migration/` through the pure [`codemod-gen`](scripts/lib/migration/codemod-gen.cjs) - which produces jscodeshift/ast-grep template **text only** (it never imports or runs a codemod engine). [`design-verifier`](agents/design-verifier.md) then treats an in-flight migration as a contract: visual-diff within threshold, component API surface unchanged, tests green, and an unmigrated high-impact rule is a gap. **Proposal-only, no new runtime dependency, no new egress.**
|
|
184
|
-
|
|
185
|
-
### Long-horizon cost governance (v1.39.2)
|
|
186
|
-
|
|
187
|
-
GDD already tracks cost per task and per runtime - now it **forecasts** it, **caps** it at the project level, and shows whether the spend **shipped**. [`/gdd:budget`](skills/budget/SKILL.md) groups `costs.jsonl` by cycle and (via [`cost-forecaster`](agents/cost-forecaster.md) → the pure [`cost-forecast`](scripts/lib/budget/cost-forecast.cjs)) projects the next N cycles in **best / typical / worst** scenarios - "at the current rate you'll hit your $X project cap in Y cycles." A new `budget.json.project_cap_usd` adds a **project-level hard cap**: the [`budget-enforcer`](hooks/budget-enforcer.ts) hook warns at 50% + 80% and **gracefully halts** the next agent spawn at 100% (via the pure [`project-cap`](scripts/lib/budget/project-cap.cjs) classifier) - **disabled by default**, so existing users are unaffected. [`/gdd:roi`](skills/roi/SKILL.md) joins per-cycle cost with commits that shipped (survived ≥ 14 days) vs reverted into a cost-per-shipped-commit table ([`roi`](scripts/lib/budget/roi.cjs)). **No new runtime dependency, no new egress** - the hook only ever blocks, never spends.
|
|
188
|
-
|
|
189
|
-
### GDD self-migration (v1.39.5)
|
|
190
|
-
|
|
191
|
-
GDD migrates *your* design systems (above) - now it migrates **itself**. When GDD ships a breaking path change (like the Phase 31.5 `scripts/lib/**` → `sdk/**` reorg), a machine-readable registry in [`reference/DEPRECATIONS.md`](reference/DEPRECATIONS.md) records `Since · Removed in · Old · New · hint`. After an upgrade, [`/gdd:update`](skills/update/SKILL.md) flags anything that crossed into deprecated/removed, and [`/gdd:migrate`](skills/migrate/SKILL.md) rewrites your project's stale references - **previewing a diff first, never silent** - via the pure [`deprecation-registry`](scripts/lib/deprecation-registry.cjs). Two CI gates keep the system honest: a completeness check (every entry has a shim or a confirmed removal) and `lint-changelog` (every future minor must declare a `### Breaking changes` section). **No new runtime dependency, no new egress.**
|
|
192
|
-
|
|
193
|
-
### Team collaboration mode (v1.40.0)
|
|
194
|
-
|
|
195
|
-
GDD's single-operator baseline now extends to **teams** - git-native + advisory, no server. Two developers working a cycle on parallel branches merge their `.design/STATE.md` **per section** ([`section-merge`](scripts/lib/collab/section-merge.cjs) unions decisions by `D-id`; a real conflict is only a same-id divergence, which [`conflict-resolver`](agents/conflict-resolver.md) reconciles with human confirmation - never auto-picking or dropping a decision). Decisions carry optional `[author= co-author=]` attribution, move through an async review queue (`proposed → reviewing → approved → locked`) with **hard locks** (the only escape is an audited [`/gdd:unlock-decision`](skills/unlock-decision/SKILL.md)), and [`/gdd:review-decisions`](skills/review-decisions/SKILL.md) surfaces what's pending. [`decision-journal-exporter`](agents/decision-journal-exporter.md) publishes a **pseudonymized, read-only** Notion/Confluence journal for stakeholders who don't run GDD. `gdd_cycle_mode` (designer/dev/full) partitions a cycle by role, a `permissions` model gates per-section writes, and `collab.multi_writer_enabled` switches the advisory lock to a team-mode backoff. The full contract: [`reference/multi-author-model.md`](reference/multi-author-model.md). **Everything is off by default** - a single-operator project is unaffected. **No new runtime dependency.**
|
|
196
|
-
|
|
197
|
-
### CLI localization (v1.40.5)
|
|
198
|
-
|
|
199
|
-
GDD's README is multilingual - now its **CLI** is too. [`/gdd:locale <code>`](skills/locale/SKILL.md) sets the language of `--help`, common error messages, and skill prompt headers, resolved by [`scripts/lib/i18n`](scripts/lib/i18n/index.cjs) (precedence: `config.locale` > env `LANG` > `en`; fallback chain `locale → base → en`). Flat-JSON message tables ship for **en** (complete source), **ru** (full), and **uk/de/fr/zh/ja** placeholders - a missing key always falls back to English, so a partial locale never breaks the CLI. Skills + agents can carry an opt-in `description_i18n` map. Adding a locale is a PR: translate the table, add a `NOTICE` credit (the contribution path is in [`reference/cli-localization.md`](reference/cli-localization.md)). Completeness is **warn-only**. **No new runtime dependency.**
|
|
200
|
-
|
|
201
|
-
### Deterministic anti-pattern CLI - `gdd-detect` (v1.41.0)
|
|
202
|
-
|
|
203
|
-
GDD's BAN-NN anti-pattern catalogue is now executable. [`gdd-detect`](bin/gdd-detect) is a **dep-free, offline** Node CLI that scans HTML/CSS/JSX for the 11 statically-detectable BAN rules ([`scripts/lib/detect/rules/`](scripts/lib/detect/)) - `transition: all`, `will-change: all`, gradient text, bounce easing, `scale(0)` entry, naked `outline: none`, pure-black dark mode, disabled zoom, tinted image outline - each finding linked to its [`reference/anti-patterns.md`](reference/anti-patterns.md) paragraph. `gdd-detect <path> [--json] [--fast] [--rule BAN-NN]` exits `0` clean / `2` findings / `1` error. The rule files are the canonical executable; the markdown stays canonical prose; [`sync-rule-catalogue`](scripts/sync-rule-catalogue.cjs) keeps them in parity. `npm run lint:design` is the CI gate; an opt-in pre-commit scaffold ships too. `design-auditor` and the Phase-25 quality-gate consume it; `jsdom`/`puppeteer` are soft-optional (regex-fast is the default). **No new runtime dependency.**
|
|
204
|
-
|
|
205
|
-
### Previous releases
|
|
206
|
-
|
|
207
|
-
- **v1.26.0** - Headless Model Resolver (per-runtime tier→model map, `resolved_models` router field, per-runtime price tables, `reasoning-class` runtime-neutral alias).
|
|
208
|
-
- **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).
|
|
209
|
-
- **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).
|
|
210
|
-
- **v1.23.5** - No-Regret Adaptive Layer (Thompson sampling bandit + AdaNormalHedge ensemble + MMR rerank; single-user via informed-prior bootstrap, no opt-in telemetry).
|
|
211
|
-
- **v1.23.0** - SDK Domain Primitives (solidify-with-rollback gate, JSON output contracts, auto-crystallization of `Touches:` patterns).
|
|
212
|
-
- **v1.22.0** - SDK Observability (~24 typed event types, per-tool-call trajectory, append-only event chain, secret scrubber).
|
|
213
|
-
- **v1.21.0** - Headless SDK (`gdd-sdk` CLI runs full pipeline without Claude Code, parallel researchers, cross-harness MCP).
|
|
214
|
-
- **v1.20.0** - SDK Foundation (resilience primitives, lockfile-safe `STATE.md`, `gdd-state` MCP server with 11 typed tools, TypeScript foundation).
|
|
215
|
-
|
|
216
|
-
For full release notes see [CHANGELOG.md](CHANGELOG.md).
|
|
90
|
+
For the full release history (every version from v1.0.0 onwards), see [CHANGELOG.md](CHANGELOG.md).
|
|
217
91
|
|
|
218
92
|
---
|
|
219
93
|
|
|
@@ -231,211 +105,6 @@ For full release notes see [CHANGELOG.md](CHANGELOG.md).
|
|
|
231
105
|
|
|
232
106
|
---
|
|
233
107
|
|
|
234
|
-
## Getting Started
|
|
235
|
-
|
|
236
|
-
```bash
|
|
237
|
-
npx @hegemonart/get-design-done@latest
|
|
238
|
-
```
|
|
239
|
-
|
|
240
|
-
The installer prompts you to choose:
|
|
241
|
-
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)
|
|
242
|
-
2. **Location** - Global (all projects) or local (current project only)
|
|
243
|
-
|
|
244
|
-
All 14 runtimes receive their native artifact layout (`skills/`, `command/`, `agents/`, or `.clinerules`) via per-runtime content converters - Claude SKILL.md sources are translated to each runtime's expected shape at install time (frontmatter pass-through, path rewrite, tool-name rewrite via the Phase 21 cross-harness maps). Architecture ported from `gsd-build/get-shit-done` (MIT - see `NOTICE`; upstream is now archived following the May 2026 $GSD token rug-pull, community continuation lives at [`open-gsd/get-shit-done-redux`](https://github.com/open-gsd/get-shit-done-redux)).
|
|
245
|
-
|
|
246
|
-
**Multi-harness compilation (v1.42.0).** Skills are authored once in `source/skills/` with placeholders (`{{command_prefix}}`, `{{model}}`, `{{config_file}}`, `{{ask_instruction}}`) and compiled per-harness by `scripts/build-skills.cjs` (`npm run build:skills`, or `gdd-sdk build skills`) using a pure transformer factory that reads the single harness manifest at `scripts/lib/manifest/harnesses.json`. The committed `skills/` tree is the regenerated Claude-Code default (CI drift-gates `committed === generated`); the default bundle ships at `dist/claude-code/`, and the other 13 bundles are produced on demand. Adding a 15th harness is one manifest entry. Contributors: edit `source/skills/`, never `skills/` directly - see `reference/skill-placeholders.md` and `reference/DEPRECATIONS.md`.
|
|
247
|
-
|
|
248
|
-
**Editorial quality floor (v1.43.0).** A tool that audits design quality should hold its own prose to the same bar. `npm run lint:prose` is a CI gate that fails on em dashes, prose double hyphens, and AI-prose tells (`load-bearing`, `leverage`, `robust`, `seamless`, ...) across the README, `SKILL.md`, `source/skills/`, `agents/`, `CHANGELOG.md`, and `reference/` (bodies and frontmatter descriptions). Fenced/inline code, HTML comments, and Cyrillic-majority files are skipped. The ruleset lives in `STYLE.md`, generated from the shared denylist at `scripts/lib/manifest/prose-denylist.json`. See `CONTRIBUTING.md`. **No new runtime dependency.**
|
|
249
|
-
|
|
250
|
-
**Harness capability matrix (v1.44.0).** The full per-harness support matrix (skill discovery, command syntax, MCP, install path, status) lives in **[`HARNESSES.md`](HARNESSES.md)** at the repo root, generated from `scripts/lib/manifest/harnesses.json` (the single source of truth; CI drift-gates it). Each harness carries an honest status (`tested` / `experimental` / `untested`) and a `last_verified` stamp; a freshness gate warns at 60 days and fails at 180 for `tested` harnesses, surfaced in `/gdd:health`. The 14-harness count above is the same SoT the matrix reads, so it cannot drift. The five deep-dive reference files (`reference/codex-tools.md`, `reference/gemini-tools.md`, `reference/peer-cli-capabilities.md`, `reference/peer-protocols.md`, `reference/runtime-models.md`) remain as appendices linked from the matrix. **No new runtime dependency.**
|
|
251
|
-
|
|
252
|
-
**Domain reference index (v1.45.0).** The 38+ reference docs are now navigated through 7 canonical entry-points - `reference/{typography,color,spatial,motion,interaction,responsive,ux-writing}.md` - each indexing its subordinate fragments with a "use this when" pointer plus a handful of rules-of-thumb. Design skills load the relevant domain index first and drill into a fragment only when needed (motion-mapper dropped roughly 89% of its up-front reference tokens this way). The indexes link, never copy: `check:domain-links` fails CI on a broken cross-link and `check:no-duplication` fails on large copy-paste. The detailed fragments stay in place as the drill-in targets. **No new runtime dependency.**
|
|
253
|
-
|
|
254
|
-
**Skill UX polish (v1.46.0).** Skill frontmatter now has a single source of truth at `scripts/lib/manifest/skills.json` (description, argument hint, tools allow-list per skill); `scripts/generate-skill-frontmatter.cjs` regenerates each `source/skills/<id>/SKILL.md` from it, and `generate:skill-frontmatter:check` drift-gates the two in CI. The generator is order-preserving, so the committed tree stays a byte-for-byte fixed point and existing snapshots never churn. Power users get `/gdd:pin <skill>`, which writes standalone shortcut aliases (for example `/audit` alongside `/gdd:audit`) across every installed harness dir, each carrying a `gdd-pinned-skill` marker, plus `/gdd:unpin` and `/gdd:list-pins`. The 1024-character description budget (in place since the skill-authoring contract) is now an explicit `lint:agentskills` CI gate. **No new runtime dependency.**
|
|
255
|
-
|
|
256
|
-
**In-browser design iteration (v1.47.0).** `/gdd:live` tightens the design loop: pick an element on a running dev server, generate N variants in one batch (default 3, grounded in the Phase 45 canonical reference), post-check each with `gdd-detect`, hot-swap them via HMR, then accept or discard. Accepted variants are applied as the canonical edit and feed the Phase 38 bandit store with a `dev_time` source tag (a conservative `Beta(2,8)` prior keeps them advisory until production outcomes accumulate). The session persists to `.design/live-sessions/<id>.json` with resume, a scope guard blocks writes outside the picked element's source files, and harnesses without MCP fall back to a screenshot-only degraded mode. It drives the existing Preview connection, so there is **no new runtime dependency**.
|
|
257
|
-
|
|
258
|
-
**Audit and pillar expansion (v1.48.0).** Four audit-side gaps close at once. The copy pillar gets a real rubric (`reference/copy-quality.md` + `copy-auditor`): microcopy, error and empty-state text, ARIA and alt text, voice alignment, with an i18n overflow lens. A project-wide `design-debt-crawler` walks an existing codebase (not just the current cycle), enumerates raw color literals, anti-patterns, untokenized components, and contrast/density issues, and writes a priority-scored `.design/debt/DEBT-CATALOG.md`. A `brief-auditor` grades the brief against five anti-patterns (vague verbs, missing audience, immeasurable success criteria, scope creep, missing anti-goals) and surfaces a non-blocking `/gdd:discuss brief` pointer. And the Stage 4.5 quality-gate gains an `a11y` failure class so `axe` / `pa11y` / `lighthouse` regressions route to `design-fixer` like any other gate failure. **No new runtime dependency.**
|
|
259
|
-
|
|
260
|
-
**Quick anti-slop floor (v1.49.0).** Three small safety primitives. A worktree redirect (`scripts/lib/worktree-resolve.cjs`) sends `.design/` and `.planning/` writes to the main repo root when GDD runs inside a git worktree, so artifacts never leak into an ephemeral checkout. A design-quality PostToolUse hook (`gdd-design-quality-check.js`) runs a free regex pass on every `.tsx`/`.vue`/`.svelte`/`.astro` write and warns on eight default-AI-aesthetic tells (gradient spam, generic CTAs, centered-everything, font-inter defaults, purple/violet defaults, glassmorphism spam, isometric fallbacks, decorative motion), catalogued in `reference/visual-tells.md`. And a reviewer confidence gate adds a `confidence: 0.0-1.0` field plus a 4-question Pre-Report Gate to every audit finding: HIGH and CRITICAL findings need at least 0.8 confidence and cited proof, low-confidence findings stay tentative and never reach `design-fixer`. The hook is WARN-only and there is **no new runtime dependency**.
|
|
261
|
-
|
|
262
|
-
**Authoring contract v3 (v1.50.0).** Two additions. A verb-based anti-slop rubric (`reference/anti-slop-rubric.md`) scores five orthogonal axes (Directness, Distinctness, Hierarchy, Authenticity, Density); a sum below 35/50 routes a finding to the debt crawler as `aesthetic-slop`. It rides as a lens-tag on the existing 7-pillar audit, so it catches "generically AI-default" where the pillars catch "wrong". And a machine-parseable skill-composition manifest: optional `composes_with` / `next_skills` frontmatter, a DAG validator (`validate:composition-graph` fails on cycles or dangling refs), and an auto-generated `reference/skill-graph.md`. Skill descriptions move to a multi-paragraph v3 form (`<what>. Use when <triggers>. Activates for requests involving <kw>.`) with both forms accepted during a transition window, a boilerplate-cohort lint, and a `/gdd:new-skill` scaffolder. **No new runtime dependency.**
|
|
263
|
-
|
|
264
|
-
**Instinct-based learnings (v1.51.0).** The reflection loop now produces atomic, confidence-weighted instinct units instead of prose nobody reads. Each unit (`reference/instinct-format.md`: trigger, confidence 0.3-0.9, domain, scope, project id) is stored via `scripts/lib/instinct-store.cjs` (a JSON store with optional `better-sqlite3` FTS5 acceleration, the same probe-and-fall-back pattern as cross-cycle recall, so no dependency is added). `design-reflector` dual-emits instincts plus a narrative; `/gdd:apply-reflections` accepts them; the decision-injector surfaces the top-3 relevant instincts into agent context on every design-file read; and `/gdd:instinct list|query|promote` inspects the project and global stores. A project instinct promotes to the global layer only after it recurs across at least two projects (a conservative `Beta(2,8)` prior keeps it advisory), and stale instincts decay and archive. **No new runtime dependency.**
|
|
265
|
-
|
|
266
|
-
**Typed DesignContext graph (v1.52.0, keystone).** Design knowledge moves from flat `.design/map/*.md` notes to a typed graph at `.design/context-graph.json`: nodes are tokens, components, variants, states, motion fragments, a11y patterns, screens, layers, and design patterns; typed edges connect them (uses-token, composes, depends-on, consumes-context, and eight more). A Draft-07 schema (`reference/schemas/design-context.schema.json`) plus a dep-free validator (`scripts/validate-design-context.cjs`) and a pure query lib (`scripts/lib/design-context-query.cjs`: nodes / edges / path / consumers / unreachable / cycles / coverage) back it; regex extract passes build fragments that merge into the graph. The five mapper agents and the synthesizer dual-emit, so the markdown maps stay while fragments are added. A 13th read-only MCP tool (`gdd_context_query`) and two skills (`/gdd:context`, `/gdd:migrate-context`) expose it. Regex not tree-sitter, JSON not SQLite; this is the keystone for the phases that follow. **No new runtime dependency.**
|
|
267
|
-
|
|
268
|
-
**Semantic mapper engine (v1.53.0).** Mappers get smart about scale and re-runs on top of the Phase 52 graph. Louvain community batching (`scripts/lib/mappers/compute-batches.mjs`, dep-free, deterministic) groups files that import each other so each parallel mapper sees a coherent slice; a neighborMap sidecar (`neighbor-map.mjs`) hands each batch its 1-hop external symbols so cross-batch edges emit without rereading other batches. SHA-256 fingerprinting (`sdk/fingerprint/`) classifies each re-run as SKIP / PARTIAL / ARCHITECTURE / FULL, so `/gdd:discover` (now incremental by default, `--full` to override) only re-discovers what actually changed. A graph-context-reviewer agent runs nine checks on the assembled graph (hard-reject on schema or referential breakage, soft-warn otherwise). Node builtins only, no `graphology`, no embeddings. **No new runtime dependency.**
|
|
269
|
-
|
|
270
|
-
**Composable reference addendums (v1.54.0).** One general mapper prompt cannot know Tailwind's `@theme` tokens from shadcn's `cn()` from vanilla-extract's `style({})`. Phase 54 adds 18 stack-specific addendums (8 design systems, 6 frameworks, 4 motion libraries) under `reference/{systems,frameworks,motion}/`, each at most 50 lines with Conventions / File patterns / Gotchas / Example-output sections. `scripts/lib/detect/stack.cjs` detects the project stack from dependencies plus config files and import signatures; `scripts/lib/mapper-spawn.cjs` composes the matching addendums (capped at one DS + one framework + one motion) into each explore mapper's prompt at spawn time, additively, so a project on an unknown stack just keeps the base prompt and `gsd-health` reports the coverage gap. A `/gdd:new-addendum` scaffolder adds more. Maintainer-authored, vendor-cross-checked, no LLM-generated content. **No new runtime dependency.**
|
|
271
|
-
|
|
272
|
-
**GDD dashboard (v1.55.0).** A read-only multi-harness control plane. `gdd-dashboard` opens a terminal TUI with five panes (sessions per runtime, current cycle, cost telemetry, findings, a DesignContext tree); `gdd dashboard --web` opens an interactive browser view of the Phase 52 graph (layered Atomic/Molecular/Organism/Template layout, pan/zoom, click-to-inspect, type/tag filters, find-consumers highlight, PNG export, minimap). It is **built fully dep-free** (a maintainer decision over the roadmap's Ink + React Flow + Vite stack, which would have added ~100 packages): the TUI is a hand-rolled ANSI renderer, the graph view is a self-contained HTML file (inline SVG + vanilla JS, extending the export builder), and the data plane reads GDD state through the existing shared libraries in-process. Read-only by design (the action surface is open-file / copy-command / run-skill); the `--web` server is a local loopback that serves to your own browser and exits. **No new runtime dependency.**
|
|
273
|
-
|
|
274
|
-
**Risk-scoring and fact-forcing gate (v1.56.0).** Writer actions now carry a quantified risk score instead of a binary allow/deny. A pure, deterministic scorer (`scripts/lib/risk/compute-risk.cjs`, frozen tables, no I/O) grades each Write / Edit / MultiEdit / Bash by tool, file sensitivity, and input shape, then two PreToolUse hooks act on it: `gdd-risk-gate.js` emits a `risk_assessment` event and blocks only the genuinely dangerous actions (destructive bash, high-sensitivity-file rewrites at or above 0.85), while `gdd-fact-force.js` holds the first write to a file until its DesignContext consumers and recorded decisions have actually been read this session. The fact-force hold is soft and softens to a warning when the Phase 52 graph is absent, so greenfield projects are never over-blocked. `/gdd:override` clears a block or a fact-force hold with an approver and reason (audit-trailed as a `D-XX` override decision), and `design-fixer` routes findings by confidence times risk. **Built dep-free** (a maintainer decision: a pure scorer plus static tables, no ML). **No new runtime dependency.**
|
|
275
|
-
|
|
276
|
-
**SQLite state backbone (v1.57.0).** Project state (decisions, blockers, plans, findings, recall, instincts) lives in per-file markdown, which makes cross-cycle queries ("every accessibility decision across the last five cycles") infeasible. Phase 57 adds an opt-in `.design/state.sqlite` as an indexed query layer while markdown stays the human-editable source of truth. It is **built with zero new dependency**: SQLite is reached through the existing opportunistic `probeOptional('better-sqlite3')` runtime probe (the Phase 51 pattern), with a guaranteed markdown / JS-scan fallback whenever the module is absent. Run `migrate-to-sqlite.cjs --migrate-state` to build the database (14 tables plus FTS5); afterwards state mutations dual-write (SQLite authoritative, STATE.md rendered from it byte-for-byte) while the `gdd-state` read/mutate/transition API is unchanged. `/gdd:state query "<sql>"` runs read-only SELECTs (engine-level readonly), `/gdd:state recover` rebuilds a corrupt database from markdown, and `/gdd:state demigrate` reverts to markdown-only. When better-sqlite3 is not installed, GDD behaves exactly as before. **No new runtime dependency.**
|
|
277
|
-
|
|
278
|
-
Verify with:
|
|
279
|
-
|
|
280
|
-
```
|
|
281
|
-
/gdd:help
|
|
282
|
-
```
|
|
283
|
-
|
|
284
|
-
> [!TIP]
|
|
285
|
-
> 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.
|
|
286
|
-
|
|
287
|
-
### Staying Updated
|
|
288
|
-
|
|
289
|
-
GDD ships often. Update by re-running the installer (it's idempotent - updates registered marketplace entries in place):
|
|
290
|
-
|
|
291
|
-
```bash
|
|
292
|
-
npx @hegemonart/get-design-done@latest
|
|
293
|
-
```
|
|
294
|
-
|
|
295
|
-
Or from inside Claude Code:
|
|
296
|
-
|
|
297
|
-
```
|
|
298
|
-
/gdd:update
|
|
299
|
-
```
|
|
300
|
-
|
|
301
|
-
`/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.
|
|
302
|
-
|
|
303
|
-
<details>
|
|
304
|
-
<summary><strong>Non-interactive Install (Docker, CI, Scripts)</strong></summary>
|
|
305
|
-
|
|
306
|
-
```bash
|
|
307
|
-
# Claude Code
|
|
308
|
-
npx @hegemonart/get-design-done --claude --global # Install to ~/.claude/
|
|
309
|
-
npx @hegemonart/get-design-done --claude --local # Install to ./.claude/
|
|
310
|
-
|
|
311
|
-
# OpenCode
|
|
312
|
-
npx @hegemonart/get-design-done --opencode --global # Install to ~/.config/opencode/
|
|
313
|
-
|
|
314
|
-
# Gemini CLI
|
|
315
|
-
npx @hegemonart/get-design-done --gemini --global # Install to ~/.gemini/
|
|
316
|
-
|
|
317
|
-
# Kilo
|
|
318
|
-
npx @hegemonart/get-design-done --kilo --global # Install to ~/.kilo/
|
|
319
|
-
|
|
320
|
-
# Codex
|
|
321
|
-
npx @hegemonart/get-design-done --codex --global # Install to ~/.codex/
|
|
322
|
-
|
|
323
|
-
# Copilot
|
|
324
|
-
npx @hegemonart/get-design-done --copilot --global # Install to ~/.copilot/
|
|
325
|
-
|
|
326
|
-
# Cursor
|
|
327
|
-
npx @hegemonart/get-design-done --cursor --global # Install to ~/.cursor/
|
|
328
|
-
|
|
329
|
-
# Windsurf, Antigravity, Augment, Trae, Qwen, CodeBuddy, Cline
|
|
330
|
-
npx @hegemonart/get-design-done --windsurf --global
|
|
331
|
-
npx @hegemonart/get-design-done --antigravity --global
|
|
332
|
-
npx @hegemonart/get-design-done --augment --global
|
|
333
|
-
npx @hegemonart/get-design-done --trae --global
|
|
334
|
-
npx @hegemonart/get-design-done --qwen --global
|
|
335
|
-
npx @hegemonart/get-design-done --codebuddy --global
|
|
336
|
-
npx @hegemonart/get-design-done --cline --global
|
|
337
|
-
|
|
338
|
-
# All runtimes
|
|
339
|
-
npx @hegemonart/get-design-done --all --global
|
|
340
|
-
|
|
341
|
-
# Dry run (print diff, write nothing)
|
|
342
|
-
npx @hegemonart/get-design-done --dry-run
|
|
343
|
-
|
|
344
|
-
# Custom config dir (Docker, non-default Claude root)
|
|
345
|
-
CLAUDE_CONFIG_DIR=/workspace/.claude npx @hegemonart/get-design-done
|
|
346
|
-
```
|
|
347
|
-
|
|
348
|
-
</details>
|
|
349
|
-
|
|
350
|
-
<details>
|
|
351
|
-
<summary><strong>Alternative: Claude Code CLI</strong></summary>
|
|
352
|
-
|
|
353
|
-
```bash
|
|
354
|
-
claude plugin marketplace add hegemonart/get-design-done
|
|
355
|
-
claude plugin install get-design-done@get-design-done
|
|
356
|
-
```
|
|
357
|
-
|
|
358
|
-
This is what the npx installer does for you - `npx` just collapses two commands into one.
|
|
359
|
-
|
|
360
|
-
</details>
|
|
361
|
-
|
|
362
|
-
### Tier-2 Distribution Channels (v1.28.8+)
|
|
363
|
-
|
|
364
|
-
Beyond the Phase 28.7 file-drop install paths above (which remain the default and continue to work exactly as before), v1.28.8 adds three Tier-2 distribution channels for discovery-driven install:
|
|
365
|
-
|
|
366
|
-
- **agentskills.io cross-runtime portability.** Our `skills/` are spec-compliant per the [agentskills.io](https://agentskills.io) standard (lint-only path per Phase 28.8 D-13; Phase 28.5 frontmatter contract already matches the 2 required spec fields `name` + `description`; current lint score 38 PASS / 32 WARN / 0 FAIL). Runtimes that claim agentskills.io compatibility (Codex, Kilo, Augment, Hermes, Qwen) can consume our skills directly via that channel - see `.planning/research/agentskills-io-compat/<runtime>.md` for per-runtime verification reports.
|
|
367
|
-
- **Cursor Marketplace.** Install via Cursor's marketplace UI. Publisher application submitted to Cursor post-merge; live link pending Cursor team review approval (no published SLA) - see `docs/cursor-marketplace-field-test.md` for current status. Manifest at `.cursor-plugin/plugin.json`.
|
|
368
|
-
- **Codex Plugin.** Install via Codex's GitHub-URL plugin add:
|
|
369
|
-
|
|
370
|
-
```bash
|
|
371
|
-
codex plugin marketplace add hegemonart/get-design-done
|
|
372
|
-
```
|
|
373
|
-
|
|
374
|
-
Works today against any GitHub URL with `.codex-plugin/plugin.json`. Per Phase 28.8 D-14: catalog discovery reuses `.claude-plugin/marketplace.json` - no separate Codex catalog file required.
|
|
375
|
-
|
|
376
|
-
Tier-1 file-drop paths above and Tier-2 channels here are **additive opt-in** - both work independently per Phase 28.8 D-05 backward-compat discipline.
|
|
377
|
-
|
|
378
|
-
### Capability-Gap Telemetry + Self-Authoring (v1.29.0+)
|
|
379
|
-
|
|
380
|
-
The reflector loop now tracks "capability lookup failed" signals as first-class telemetry and - once enough recurring gaps surface - can draft new agents or skills as proposals for your review.
|
|
381
|
-
|
|
382
|
-
**Stage 0 - telemetry (ships immediately).**
|
|
383
|
-
Three lookup-fail points now emit typed `capability_gap` events: `skills/fast` no-skill-match paths, `gdd-router` unmatched-intent paths, and the reflector's pattern-detection pass (recurring `Touches:` clusters without a dedicated owner). The reflector aggregates per-cycle gap events into a `## Capability gaps observed` section in your reflection notes. View with `gdd-events --type capability_gap`. No authoring on Stage 0 - this just surfaces signal.
|
|
384
|
-
|
|
385
|
-
**Stage 1 - self-authoring (opt-in once data crosses the gate).**
|
|
386
|
-
When K=3 stable clusters surface across M=10 reflection cycles (defaults in `reference/capability-gap-stage-gate.md`), `/gdd:apply-reflections` prompts you once to enable Stage 1. With Stage 1 on, the reflector drafts incubator artifacts at `.design/reflections/incubator/<slug>/` - `SKILL.md` or `agents/<slug>.md` with full Phase 28.5-compliant frontmatter, originating events, computed usage frequency, and a suggested integration point. Drafts surface in `/gdd:apply-reflections` as a 5th proposal class with four actions: `accept` (promotes + registers), `reject`, `defer`, `edit`. Promoted arms enter the bandit with a conservative `Beta(2, 8)` prior so they don't get preferential selection until evidence accumulates. Drafts not promoted/refreshed within 30 days auto-archive.
|
|
387
|
-
|
|
388
|
-
**Scope guard.** Authoring is limited to `agents/` and `skills/` only - never runtimes, transports, connections, hooks, or CI workflows. `scripts/validate-incubator-scope.cjs` blocks promotion attempts outside scope.
|
|
389
|
-
|
|
390
|
-
**Discipline preserved.** Reflector authors nothing that auto-ships. `/gdd:apply-reflections` remains the single human gate (Phase 11 SC-8). Stage 1 never auto-flips - user opts in.
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
### Figma off-context extraction (v1.31.0+)
|
|
394
|
-
|
|
395
|
-
Pull an entire Figma design system into a compact, LLM-readable local digest - **without the raw JSON ever entering Claude's context**. One command extracts the file via the Figma REST API into a local raw cache; a separate digest stage reduces it to `DESIGN.md` + `tokens.json` + `components.json`.
|
|
396
|
-
|
|
397
|
-
```bash
|
|
398
|
-
# Stage 1 — raw pull (0 Claude tokens; writes a gitignored cache)
|
|
399
|
-
node scripts/lib/figma-extract/pull.cjs <figma-file-url-or-key>
|
|
400
|
-
# Stage 2 — digest (reads the cache, writes the compact spec)
|
|
401
|
-
node scripts/lib/figma-extract/digest.cjs --raw <cache>/raw/<key> --out .design/figma
|
|
402
|
-
```
|
|
403
|
-
|
|
404
|
-
**The economics.** A spike measured **898× compression** (223 MB raw → 254 KB digest) with a ~15.7K-token `DESIGN.md`, capturing 127 component sets + 40 singletons (variants, props, defaults) in ~33s - at **0 Claude tokens and 0 Figma MCP calls during extraction**. This is the cost-sane alternative to the Figma MCP for whole-design-system work, which can run tens of minutes and 50–500K+ tokens for the same data. (The Figma MCP remains the right tool for spot questions on a single component.)
|
|
405
|
-
|
|
406
|
-
- **Token-safe by construction.** `FIGMA_TOKEN` is read from the environment only and sent solely as a request header - never logged, never written to disk (a CI static-analysis test enforces this across the whole extract library). The digest never reads raw JSON into context.
|
|
407
|
-
- **Works on any Figma plan.** The optional **"GDD Sync"** Figma plugin (`figma-plugin/`) fills the Variables-API-Enterprise gap: it reads `figma.variables` from inside Figma and POSTs them to an ephemeral, 127.0.0.1-only receiver - so Free-tier users get full token coverage too.
|
|
408
|
-
- **Per-component slices.** `digest --component <name|glob>` renders a ~500-token slice of just the components you ask for, instead of the full digest.
|
|
409
|
-
- **Health-aware.** `/gdd:health` reports a `figma_extract` readiness line (token set / token missing / Free-tier plugin-sync needed).
|
|
410
|
-
|
|
411
|
-
See [`skills/figma-extract/SKILL.md`](skills/figma-extract/SKILL.md) and [`figma-plugin/README.md`](figma-plugin/README.md) for the full flow.
|
|
412
|
-
|
|
413
|
-
### Skill discipline bootstrap (v1.32.0+)
|
|
414
|
-
|
|
415
|
-
GDD ships 70+ skills, but a description-match skill router consults them opportunistically - easy to skip a stage under pressure. v1.32.0 adds the forcing function GDD lacked, porting the skill-discipline **mechanism** (not content) from [`obra/superpowers`](https://github.com/obra/superpowers) (MIT):
|
|
416
|
-
|
|
417
|
-
- **SessionStart inject.** A `using-gdd` bootstrap contract is injected at every session start / `/clear` / compact (`hooks/inject-using-gdd.sh`, per-harness: Cursor / Claude Code / SDK). It carries the **1%-rule** ("even a 1% chance a skill applies → invoke it"), a red-flags `Thought → Reality` table, and the skill-priority + instruction-priority order - so the agent is primed to find the right skill before it acts.
|
|
418
|
-
- **`<HARD-GATE>` at every stage transition.** Brief / Explore / Plan / Design / Verify each refuse to advance until the stage's artifact exists and is approved - no free-handing a stage.
|
|
419
|
-
- **Rationalization tables** in all 7 stage skills name the common "skip it" justifications and rebut each; **inline self-review** blocks gate the brief and plan specs.
|
|
420
|
-
- **`<SUBAGENT-STOP>` no-cascade.** The inject fires only on SessionStart, so the bootstrap never cascades into spawned subagents.
|
|
421
|
-
- **Portable + health-aware.** `AGENTS.md` + `GEMINI.md` carry the same discipline block for non-Claude-Code harnesses, and `/gdd:health` reports a `skill-discipline` readiness line.
|
|
422
|
-
|
|
423
|
-
See [`skills/using-gdd/SKILL.md`](skills/using-gdd/SKILL.md) and the `NOTICE` attribution for details.
|
|
424
|
-
|
|
425
|
-
### Skill behavior tests (v1.33.0+)
|
|
426
|
-
|
|
427
|
-
Static validators check a skill's shape; **behavior tests** check that it holds under pressure. v1.33.0 adds a manifest-driven pressure-scenario harness (porting the TDD-for-skills methodology + pressure-scenario pattern from [`obra/superpowers/skills/writing-skills`](https://github.com/obra/superpowers), MIT): a runner drives a scenario (time / sunk-cost / authority / exhaustion / scope-minimization) through an injectable agent-invoker and scores the response against a compliance/violation rubric with N-attempts + majority rule. Ships 8 scenarios (7 stage skills + `using-gdd`) with synthetic RED baselines.
|
|
428
|
-
|
|
429
|
-
Behavior tests are **opt-in** and key-gated - the default `npm test` stub suite covers the harness structurally and stays CI-green (LLM non-determinism keeps live runs out of CI). To run the live pass:
|
|
430
|
-
|
|
431
|
-
```bash
|
|
432
|
-
# Skips + exits 0 when ANTHROPIC_API_KEY is unset.
|
|
433
|
-
ANTHROPIC_API_KEY=sk-... GDD_BEHAVIOR_INVOKER=./path/to/invoker.cjs npm run test:behavior
|
|
434
|
-
```
|
|
435
|
-
|
|
436
|
-
See [`docs/research/description-format-ab.md`](docs/research/description-format-ab.md) for the description-format A/B methodology and [`CONTRIBUTING.md`](CONTRIBUTING.md) ("How to add a pressure scenario").
|
|
437
|
-
|
|
438
|
-
|
|
439
108
|
## How It Works
|
|
440
109
|
|
|
441
110
|
> **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.
|
|
@@ -484,7 +153,7 @@ Decomposes Explore output into atomic, wave-coordinated, dependency-analyzed des
|
|
|
484
153
|
|
|
485
154
|
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.
|
|
486
155
|
|
|
487
|
-
**Solidify-with-rollback**
|
|
156
|
+
**Solidify-with-rollback** - every task validates (typecheck + build + targeted test) before locking in. Validation fails → `git stash` revert. Each task is atomic commit-or-revert.
|
|
488
157
|
|
|
489
158
|
**Creates:** `.design/tasks/task-NN.md` per task, atomic git commit per task
|
|
490
159
|
|
|
@@ -577,7 +246,7 @@ GDD handles it for you:
|
|
|
577
246
|
|
|
578
247
|
Size limits where Claude's quality degrades. Stay under, get consistency.
|
|
579
248
|
|
|
580
|
-
###
|
|
249
|
+
### 61 Specialized Agents
|
|
581
250
|
|
|
582
251
|
Each stage is a thin orchestrator that spawns specialized agents. Heavy lifting happens in fresh 200k contexts, not your main session.
|
|
583
252
|
|
|
@@ -590,26 +259,9 @@ Each stage is a thin orchestrator that spawns specialized agents. Heavy lifting
|
|
|
590
259
|
| Verify | spawns auditor + verifier + checker | design-auditor (6-pillar score), design-verifier (goal-backward), design-integration-checker (D-XX → code) |
|
|
591
260
|
| Reflect | reads telemetry + learnings | design-reflector (opus), design-authority-watcher, design-update-checker |
|
|
592
261
|
|
|
593
|
-
### 12 Tool Connections
|
|
594
|
-
|
|
595
|
-
All optional - the pipeline degrades gracefully when any connection is unavailable:
|
|
596
|
-
|
|
597
|
-
- **Figma** (read + write + Code Connect) - annotations, token bindings, implementation status write-back
|
|
598
|
-
- **Refero** - design reference search
|
|
599
|
-
- **Pinterest** - visual reference grounding
|
|
600
|
-
- **Claude Design** - handoff bundle import (`/gdd:handoff`)
|
|
601
|
-
- **Storybook** - component-spec lookup
|
|
602
|
-
- **Chromatic** - visual regression baseline diff
|
|
603
|
-
- **Preview** - Playwright + Claude Preview MCP for runtime screenshots
|
|
604
|
-
- **paper.design** - MCP canvas read/write for round-trip verification
|
|
605
|
-
- **pencil.dev** - git-tracked `.pen` spec files
|
|
606
|
-
- **Graphify** - knowledge-graph export
|
|
607
|
-
- **21st.dev Magic** - prior-art component search before greenfield builds
|
|
608
|
-
- **Magic Patterns** - DS-aware component generation with `preview_url`
|
|
609
|
-
|
|
610
262
|
### Embedded Design References
|
|
611
263
|
|
|
612
|
-
The plugin ships
|
|
264
|
+
The plugin ships 18+ reference files covering every major design-knowledge domain. Agents have authoritative answers without web search:
|
|
613
265
|
|
|
614
266
|
- **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.
|
|
615
267
|
- **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).
|
|
@@ -640,7 +292,7 @@ After every cycle, `design-reflector` (opus) reads `events.jsonl`, `agent-metric
|
|
|
640
292
|
- **Reference additions** - "L-12 cited 9 times across cycles 3–5; promote to `reference/heuristics.md`"
|
|
641
293
|
- **Frontmatter updates** - "design-executor `typical-duration-seconds: 60` measured at 142s; propose 120s"
|
|
642
294
|
|
|
643
|
-
`/gdd:apply-reflections` shows the diff and asks before applying. Nothing auto-applies. The **No-Regret Adaptive Layer**
|
|
295
|
+
`/gdd:apply-reflections` shows the diff and asks before applying. Nothing auto-applies. The **No-Regret Adaptive Layer** layers a Thompson sampling bandit + AdaNormalHedge ensemble + MMR rerank on top, viable in single-user mode via informed-prior bootstrap.
|
|
644
296
|
|
|
645
297
|
### Cost Governance
|
|
646
298
|
|
|
@@ -655,6 +307,8 @@ Targets 50–70% per-task token-cost reduction with no quality-floor regression.
|
|
|
655
307
|
|
|
656
308
|
## Commands
|
|
657
309
|
|
|
310
|
+
GDD ships 96 skills. The most common ones are below; for the full reference see [SKILL.md](SKILL.md).
|
|
311
|
+
|
|
658
312
|
### Core Pipeline
|
|
659
313
|
|
|
660
314
|
| Command | What it does |
|
|
@@ -670,126 +324,159 @@ Targets 50–70% per-task token-cost reduction with no quality-floor regression.
|
|
|
670
324
|
| `/gdd:fast <text>` | One-shot trivial fix, no pipeline |
|
|
671
325
|
| `/gdd:quick` | Ad-hoc task with GDD guarantees but skipped optional gates |
|
|
672
326
|
|
|
673
|
-
###
|
|
327
|
+
### Cycle + Iteration
|
|
674
328
|
|
|
675
329
|
| Command | What it does |
|
|
676
330
|
|---------|--------------|
|
|
677
331
|
| `/gdd:start` | First-run proof path - top-3 design issues in your repo (no `.design/` footprint until you opt in) |
|
|
678
332
|
| `/gdd:new-project` | Initialize a GDD project (PROJECT.md + STATE.md + first cycle) |
|
|
679
|
-
| `/gdd:
|
|
680
|
-
|
|
681
|
-
### Cycle Lifecycle
|
|
682
|
-
|
|
683
|
-
| Command | What it does |
|
|
684
|
-
|---------|--------------|
|
|
685
|
-
| `/gdd:new-cycle` | Open a new design cycle |
|
|
686
|
-
| `/gdd:complete-cycle` | Archive cycle artifacts + write per-cycle EXPERIENCE.md |
|
|
333
|
+
| `/gdd:new-cycle` / `/gdd:complete-cycle` | Open / archive a design cycle |
|
|
687
334
|
| `/gdd:pause` / `/gdd:resume` | Numbered checkpoints - pause mid-stage, resume from any saved checkpoint |
|
|
688
|
-
| `/gdd:
|
|
689
|
-
| `/gdd:
|
|
690
|
-
|
|
691
|
-
### Iteration + Decisions
|
|
692
|
-
|
|
693
|
-
| Command | What it does |
|
|
694
|
-
|---------|--------------|
|
|
695
|
-
| `/gdd:discuss [topic]` | Adaptive design interview - `--all` for batch gray areas, `--spec` for ambiguity scoring |
|
|
696
|
-
| `/gdd:list-assumptions` | Surface hidden design assumptions before planning |
|
|
697
|
-
| `/gdd:sketch [idea]` | Multi-variant HTML mockup exploration - browser-openable directly |
|
|
698
|
-
| `/gdd:spike [idea]` | Timeboxed feasibility experiment with hypothesis + verdict |
|
|
699
|
-
| `/gdd:sketch-wrap-up` / `/gdd:spike-wrap-up` | Package findings into project-local skill |
|
|
700
|
-
| `/gdd:audit` | Wraps `design-verifier` + `design-auditor` + `design-reflector`. `--retroactive` audits the full cycle |
|
|
701
|
-
| `/gdd:reflect` | Run `design-reflector` on demand - produces `.design/reflections/<cycle-slug>.md` |
|
|
702
|
-
| `/gdd:apply-reflections` | Review and selectively apply reflector proposals - diff before apply |
|
|
335
|
+
| `/gdd:discuss [topic]` | Adaptive design interview |
|
|
336
|
+
| `/gdd:sketch [idea]` / `/gdd:spike [idea]` | Multi-variant HTML mockups + timeboxed feasibility |
|
|
337
|
+
| `/gdd:audit` | Wraps `design-verifier` + `design-auditor` + `design-reflector` |
|
|
703
338
|
|
|
704
|
-
### Memory +
|
|
339
|
+
### Memory + Diagnostics
|
|
705
340
|
|
|
706
341
|
| Command | What it does |
|
|
707
342
|
|---------|--------------|
|
|
708
|
-
| `/gdd:recall <query>` | FTS5-backed search across cycle archives, learnings, decisions
|
|
709
|
-
| `/gdd:
|
|
710
|
-
| `/gdd:
|
|
711
|
-
| `/gdd:
|
|
712
|
-
| `/gdd:
|
|
713
|
-
| `/gdd:skill-manifest` | List all GDD skills + agents from the intel store |
|
|
714
|
-
| `/gdd:graphify` | Build, query, inspect, diff the project knowledge graph |
|
|
715
|
-
| `/gdd:watch-authorities` | Diff the design-authority feed whitelist + classify into 5 buckets |
|
|
343
|
+
| `/gdd:recall <query>` | FTS5-backed search across cycle archives, learnings, decisions |
|
|
344
|
+
| `/gdd:note <text>` / `/gdd:plant-seed <idea>` | Idea capture - append, list, promote, surface at the right cycle |
|
|
345
|
+
| `/gdd:scan` / `/gdd:map` | Codebase design-system inventory + 5 parallel mappers |
|
|
346
|
+
| `/gdd:health` / `/gdd:progress` | Artifact health, pipeline position, integrity audit |
|
|
347
|
+
| `/gdd:stats` / `/gdd:optimize` | Cycle stats, rule-based cost analysis, tier recommendations |
|
|
716
348
|
|
|
717
349
|
### Connections
|
|
718
350
|
|
|
719
351
|
| Command | What it does |
|
|
720
352
|
|---------|--------------|
|
|
353
|
+
| `/gdd:connections` | Onboarding wizard for the external integrations |
|
|
721
354
|
| `/gdd:figma-write` | Write design decisions back to Figma (annotate / tokenize / roundtrip) |
|
|
722
355
|
| `/gdd:handoff <bundle>` | Import a Claude Design bundle and skip Stages 1–3 |
|
|
723
|
-
| `/gdd:darkmode` | Audit dark-mode implementation
|
|
724
|
-
| `/gdd:
|
|
725
|
-
| `/gdd:style <Component>` | Generate component handoff doc (DESIGN-STYLE-[Component].md) |
|
|
356
|
+
| `/gdd:darkmode` | Audit dark-mode implementation |
|
|
357
|
+
| `/gdd:style <Component>` | Generate component handoff doc |
|
|
726
358
|
|
|
727
|
-
###
|
|
359
|
+
### Help
|
|
728
360
|
|
|
729
|
-
|
|
730
|
-
|
|
731
|
-
|
|
732
|
-
| `/gdd:map` | 5 parallel codebase mappers (tokens / components / a11y / motion / visual-hierarchy) |
|
|
733
|
-
| `/gdd:debug [desc]` | Symptom-driven design investigation with persistent state |
|
|
734
|
-
| `/gdd:health` | Reports `.design/` artifact health - staleness, missing files, token drift |
|
|
735
|
-
| `/gdd:progress` | Show pipeline position; `--forensic` runs 6-check integrity audit |
|
|
736
|
-
| `/gdd:stats` | Cycle stats - decisions made, tasks completed, commits, timeline, git metrics |
|
|
737
|
-
| `/gdd:optimize` | Rule-based cost analysis + tier-override recommendations |
|
|
738
|
-
| `/gdd:warm-cache` | Pre-warm Anthropic prompt cache across all agents that import shared-preamble |
|
|
361
|
+
```
|
|
362
|
+
/gdd:help
|
|
363
|
+
```
|
|
739
364
|
|
|
740
|
-
|
|
365
|
+
The full per-command reference, including the long tail of memory, distribution, backlog, and forensic commands, lives in [SKILL.md](SKILL.md).
|
|
741
366
|
|
|
742
|
-
|
|
743
|
-
|---------|--------------|
|
|
744
|
-
| `/gdd:update` | Update GDD with changelog preview |
|
|
745
|
-
| `/gdd:reapply-patches` | Restitch local `reference/` modifications after structural updates |
|
|
746
|
-
| `/gdd:check-update` | Manual update check - `--refresh` bypasses 24h TTL, `--dismiss` hides nudge |
|
|
747
|
-
| `/gdd:settings` | Configure `.design/config.json` - profile / parallelism / cleanup |
|
|
748
|
-
| `/gdd:set-profile <profile>` | Switch model profile (quality / balanced / budget / inherit) |
|
|
749
|
-
| `/gdd:undo` | Safe design change revert - uses git log + dependency check |
|
|
750
|
-
| `/gdd:pr-branch` | Create clean PR branch by filtering out `.design/` and `.planning/` commits |
|
|
367
|
+
---
|
|
751
368
|
|
|
752
|
-
|
|
369
|
+
## Connections
|
|
753
370
|
|
|
754
|
-
|
|
755
|
-
|---------|--------------|
|
|
756
|
-
| `/gdd:todo` | Add / list / pick design tasks |
|
|
757
|
-
| `/gdd:add-backlog <idea>` | Park a design idea for a future cycle |
|
|
758
|
-
| `/gdd:review-backlog` | Review parked items + promote to active cycle todo |
|
|
371
|
+
GDD ships 42 tool connections. All are optional; the pipeline degrades gracefully to fallbacks when any connection is unavailable. Configure with `/gdd:connections`.
|
|
759
372
|
|
|
760
|
-
|
|
373
|
+
The connection layer spans these categories:
|
|
761
374
|
|
|
762
|
-
|
|
763
|
-
|
|
764
|
-
|
|
765
|
-
|
|
375
|
+
- **Design surfaces** - Figma (read + write + Code Connect), paper.design, pencil.dev, Penpot, Framer, Webflow, Plasmic
|
|
376
|
+
- **Reference + research** - Refero, Pinterest, Lazyweb, Mobbin, Claude Design handoff
|
|
377
|
+
- **Component generation** - 21st.dev Magic, Magic Patterns, v0.dev, Builder.io
|
|
378
|
+
- **Component spec + visual QA** - Storybook, Chromatic, Preview (Playwright + Claude Preview MCP)
|
|
379
|
+
- **Knowledge graph** - Graphify
|
|
380
|
+
- **Native + non-web output** - Xcode Simulator, Android Emulator, Litmus / Email-on-Acid, print renderer
|
|
381
|
+
- **Motion verification** - Lottie, Rive
|
|
382
|
+
- **Experiment + research signal** - LaunchDarkly, Statsig, GrowthBook, UserTesting, Maze, Hotjar
|
|
383
|
+
- **Team surfaces** - Slack, Discord, Linear, Jira, Notion, GitHub PR (`pr-commenter`)
|
|
384
|
+
- **Provider aggregation** - OpenRouter (opt-in alongside native provider auth)
|
|
385
|
+
|
|
386
|
+
For the full connection list with probe patterns and degraded-mode behaviour, see [connections/connections.md](connections/connections.md). Each connection is also a SKILL.md file under `skills/connections/` once enabled.
|
|
766
387
|
|
|
767
388
|
---
|
|
768
389
|
|
|
769
|
-
##
|
|
390
|
+
## Install
|
|
391
|
+
|
|
392
|
+
```bash
|
|
393
|
+
npx @hegemonart/get-design-done@latest
|
|
394
|
+
```
|
|
395
|
+
|
|
396
|
+
The installer prompts you to choose:
|
|
397
|
+
|
|
398
|
+
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).
|
|
399
|
+
2. **Location** - Global (all projects) or local (current project only).
|
|
400
|
+
|
|
401
|
+
All 14 runtimes receive their native artifact layout (`skills/`, `command/`, `agents/`, or `.clinerules`) via per-runtime content converters - source skills are translated to each runtime's expected shape at install time (frontmatter pass-through, path rewrite, tool-name rewrite via the cross-harness maps).
|
|
402
|
+
|
|
403
|
+
Verify:
|
|
404
|
+
|
|
405
|
+
```
|
|
406
|
+
/gdd:help
|
|
407
|
+
```
|
|
408
|
+
|
|
409
|
+
> [!TIP]
|
|
410
|
+
> 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.
|
|
411
|
+
|
|
412
|
+
### Staying Updated
|
|
413
|
+
|
|
414
|
+
GDD ships often. Update by re-running the installer (it is idempotent and updates registered marketplace entries in place):
|
|
415
|
+
|
|
416
|
+
```bash
|
|
417
|
+
npx @hegemonart/get-design-done@latest
|
|
418
|
+
```
|
|
419
|
+
|
|
420
|
+
Or from inside Claude Code:
|
|
421
|
+
|
|
422
|
+
```
|
|
423
|
+
/gdd:update
|
|
424
|
+
```
|
|
425
|
+
|
|
426
|
+
`/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.
|
|
427
|
+
|
|
428
|
+
<details>
|
|
429
|
+
<summary><strong>Non-interactive Install (Docker, CI, Scripts)</strong></summary>
|
|
430
|
+
|
|
431
|
+
```bash
|
|
432
|
+
# Claude Code
|
|
433
|
+
npx @hegemonart/get-design-done --claude --global # Install to ~/.claude/
|
|
434
|
+
npx @hegemonart/get-design-done --claude --local # Install to ./.claude/
|
|
435
|
+
|
|
436
|
+
# Per-runtime
|
|
437
|
+
npx @hegemonart/get-design-done --opencode --global # Install to ~/.config/opencode/
|
|
438
|
+
npx @hegemonart/get-design-done --gemini --global # Install to ~/.gemini/
|
|
439
|
+
# ... same pattern for: kilo, codex, copilot, cursor, windsurf, antigravity,
|
|
440
|
+
# augment, trae, qwen, codebuddy, cline
|
|
441
|
+
|
|
442
|
+
# All runtimes
|
|
443
|
+
npx @hegemonart/get-design-done --all --global
|
|
444
|
+
|
|
445
|
+
# Dry run (print diff, write nothing)
|
|
446
|
+
npx @hegemonart/get-design-done --dry-run
|
|
447
|
+
|
|
448
|
+
# Custom config dir (Docker, non-default Claude root)
|
|
449
|
+
CLAUDE_CONFIG_DIR=/workspace/.claude npx @hegemonart/get-design-done
|
|
450
|
+
```
|
|
451
|
+
|
|
452
|
+
</details>
|
|
453
|
+
|
|
454
|
+
<details>
|
|
455
|
+
<summary><strong>Alternative: Claude Code CLI</strong></summary>
|
|
456
|
+
|
|
457
|
+
```bash
|
|
458
|
+
claude plugin marketplace add hegemonart/get-design-done
|
|
459
|
+
claude plugin install get-design-done@get-design-done
|
|
460
|
+
```
|
|
461
|
+
|
|
462
|
+
This is what the npx installer does for you - `npx` just collapses two commands into one.
|
|
463
|
+
|
|
464
|
+
</details>
|
|
465
|
+
|
|
466
|
+
<details>
|
|
467
|
+
<summary><strong>Alternative: Tier-2 Distribution Channels</strong></summary>
|
|
770
468
|
|
|
771
|
-
|
|
772
|
-
|
|
773
|
-
|
|
774
|
-
|
|
775
|
-
|
|
776
|
-
|
|
777
|
-
|
|
778
|
-
| **Claude Design** | Handoff bundle import (`/gdd:handoff`) - skip Stages 1–3 | URL or local file |
|
|
779
|
-
| **Storybook** | Component-spec lookup at port 6006 | HTTP probe |
|
|
780
|
-
| **Chromatic** | Visual regression baseline diff | API key |
|
|
781
|
-
| **Preview** | Playwright + Claude Preview MCP runtime screenshots | `mcp__Claude_Preview__preview_*` |
|
|
782
|
-
| **paper.design** | MCP canvas read/write for canvas → code → verify → canvas round-trip | `mcp__paper__use_paper` |
|
|
783
|
-
| **pencil.dev** | Git-tracked `.pen` spec files (no MCP required) | `.pen` files in repo |
|
|
784
|
-
| **Graphify** | Knowledge-graph export | `mcp__graphify__*` |
|
|
785
|
-
| **21st.dev Magic** | Prior-art component search before greenfield builds | `mcp__magic__search` |
|
|
786
|
-
| **Magic Patterns** | DS-aware component generation with `preview_url` | `mcp__magic-patterns__generate` |
|
|
787
|
-
|
|
788
|
-
For full connection details and probe patterns, see [`connections/connections.md`](connections/connections.md).
|
|
469
|
+
Beyond the file-drop install paths above (which remain the default), three additional discovery-driven channels are supported:
|
|
470
|
+
|
|
471
|
+
- **agentskills.io** - skills are spec-compliant per the [agentskills.io](https://agentskills.io) standard, consumable by any agentskills.io-compatible runtime (Codex, Kilo, Augment, Hermes, Qwen).
|
|
472
|
+
- **Cursor Marketplace** - install via Cursor's marketplace UI (manifest at `.cursor-plugin/plugin.json`).
|
|
473
|
+
- **Codex Plugin** - `codex plugin marketplace add hegemonart/get-design-done` (manifest at `.codex-plugin/plugin.json`).
|
|
474
|
+
|
|
475
|
+
</details>
|
|
789
476
|
|
|
790
477
|
---
|
|
791
478
|
|
|
792
|
-
##
|
|
479
|
+
## Configure
|
|
793
480
|
|
|
794
481
|
GDD stores project settings in `.design/config.json`. Configure during `/gdd:new-project` or update with `/gdd:settings`.
|
|
795
482
|
|
|
@@ -814,48 +501,52 @@ Use `inherit` when using non-Anthropic providers or to follow the runtime's curr
|
|
|
814
501
|
|
|
815
502
|
### Adaptive Mode
|
|
816
503
|
|
|
817
|
-
`.design/budget.json#adaptive_mode` ladder
|
|
504
|
+
`.design/budget.json#adaptive_mode` ladder:
|
|
818
505
|
|
|
819
506
|
| Mode | What it does |
|
|
820
507
|
|------|--------------|
|
|
821
|
-
| `static` (default) |
|
|
508
|
+
| `static` (default) | Static tier-map behaviour |
|
|
822
509
|
| `hedge` | AdaNormalHedge ensemble + MMR rerank engaged. Bandit router still reads static map. Safest intro. |
|
|
823
510
|
| `full` | Bandit router + Hedge + MMR all active, reading/writing `.design/telemetry/posterior.json` |
|
|
824
511
|
|
|
825
|
-
### Parallelism
|
|
512
|
+
### Parallelism + Quality Gates
|
|
826
513
|
|
|
827
514
|
| Setting | Default | What it controls |
|
|
828
515
|
|---------|---------|------------------|
|
|
829
516
|
| `parallelism.enabled` | `true` | Run independent tasks in worktrees |
|
|
830
|
-
| `parallelism.min_estimated_savings_seconds` | `30` | Skip parallelization below this threshold |
|
|
831
517
|
| `parallelism.max_concurrent_workers` | `4` | Hard cap on simultaneous worktrees |
|
|
832
|
-
|
|
833
|
-
### Quality Gates
|
|
834
|
-
|
|
835
|
-
| Setting | Default | What it controls |
|
|
836
|
-
|---------|---------|------------------|
|
|
837
518
|
| `solidify.rollback_mode` | `"stash"` | `stash` / `hard` / `none` - how to revert on validation failure |
|
|
838
|
-
| `solidify.commands` | autodetect | Override typecheck / build / test commands |
|
|
839
519
|
| `verify.iterations_max` | `3` | Cap on verify→fix loop iterations |
|
|
840
520
|
| `connection.figma_writeback` | `proposal` | `proposal` / `auto` - confirm before writing |
|
|
841
521
|
|
|
522
|
+
### Peer-CLI Delegation
|
|
523
|
+
|
|
524
|
+
GDD agents can optionally delegate to local peer CLIs (Codex via App Server Protocol; Gemini, Cursor, Copilot, Qwen via Agent Client Protocol) when measurably cheaper or higher-quality for the role. Falls back to in-process Anthropic SDK when no peer is available. Configure per-agent via `/gdd:peers` and `/gdd:run-skill peer-cli-customize`. Full ops guide: [docs/PEER-DELEGATION.md](docs/PEER-DELEGATION.md).
|
|
525
|
+
|
|
526
|
+
### Skill behavior tests
|
|
527
|
+
|
|
528
|
+
Static validators check a skill's shape; behavior tests check that it holds under pressure. A manifest-driven pressure-scenario harness drives 8 scenarios (7 stage skills + `using-gdd`) through time / sunk-cost / authority / exhaustion / scope-minimization pressure and scores responses against a compliance rubric. Behavior tests are opt-in and key-gated (the default `npm test` covers the harness structurally and stays CI-green):
|
|
529
|
+
|
|
530
|
+
```bash
|
|
531
|
+
# Skips + exits 0 when ANTHROPIC_API_KEY is unset.
|
|
532
|
+
ANTHROPIC_API_KEY=sk-... GDD_BEHAVIOR_INVOKER=./path/to/invoker.cjs npm run test:behavior
|
|
533
|
+
```
|
|
534
|
+
|
|
535
|
+
See [CONTRIBUTING.md](CONTRIBUTING.md) ("How to add a pressure scenario") for the authoring path.
|
|
536
|
+
|
|
842
537
|
---
|
|
843
538
|
|
|
844
539
|
## Security
|
|
845
540
|
|
|
846
|
-
|
|
847
|
-
|
|
848
|
-
GDD ships defense-in-depth security since Phase 14.5:
|
|
541
|
+
GDD ships defense-in-depth security:
|
|
849
542
|
|
|
850
543
|
- **`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.
|
|
851
|
-
- **`hooks/gdd-protected-paths.js`** - PreToolUse:Edit/Write/Bash enforces `protected_paths` glob list
|
|
852
|
-
- **`hooks/gdd-risk-gate.js`** -
|
|
853
|
-
- **`hooks/gdd-fact-force.js`** -
|
|
854
|
-
- **`hooks/gdd-read-injection-scanner.ts`** - scans inbound Read content for invisible-Unicode
|
|
544
|
+
- **`hooks/gdd-protected-paths.js`** - PreToolUse:Edit/Write/Bash enforces the `protected_paths` glob list.
|
|
545
|
+
- **`hooks/gdd-risk-gate.js`** - scores each writer action and blocks only the genuinely dangerous ones.
|
|
546
|
+
- **`hooks/gdd-fact-force.js`** - holds the first write to a file until its DesignContext consumers and recorded decisions have been read this session.
|
|
547
|
+
- **`hooks/gdd-read-injection-scanner.ts`** - scans inbound Read content for invisible-Unicode + HTML-comment + secret-exfil patterns.
|
|
855
548
|
- **`scripts/lib/blast-radius.cjs`** - `design-executor` preflight refuses tasks above `max_files_per_task: 10` / `max_lines_per_task: 400`.
|
|
856
|
-
- **`hooks/gdd-mcp-circuit-breaker.js`** - breaks consecutive-timeout loops on
|
|
857
|
-
|
|
858
|
-
### Protecting Sensitive Files
|
|
549
|
+
- **`hooks/gdd-mcp-circuit-breaker.js`** - breaks consecutive-timeout loops on MCP-backed connections.
|
|
859
550
|
|
|
860
551
|
Add sensitive paths to your runtime's deny list:
|
|
861
552
|
|
|
@@ -881,26 +572,11 @@ Add sensitive paths to your runtime's deny list:
|
|
|
881
572
|
|
|
882
573
|
## Troubleshooting
|
|
883
574
|
|
|
884
|
-
**Commands not found after install?**
|
|
885
|
-
- Restart your runtime to reload commands/skills
|
|
886
|
-
- Verify files exist at `~/.claude/skills/get-design-done/` for global Claude Code installs
|
|
887
|
-
- For local installs, verify `./.claude/skills/get-design-done/`
|
|
888
|
-
- Run `/gdd:help` to confirm registration
|
|
575
|
+
**Commands not found after install?** Restart your runtime to reload commands/skills. Verify files exist at `~/.claude/skills/get-design-done/` for global Claude Code installs (or `./.claude/skills/get-design-done/` for local). Run `/gdd:help` to confirm registration.
|
|
889
576
|
|
|
890
|
-
**Pipeline stuck mid-stage?**
|
|
891
|
-
- `/gdd:resume` - restore from the most recent numbered checkpoint
|
|
892
|
-
- `/gdd:health` - diagnose `.design/` artifact issues
|
|
893
|
-
- `/gdd:progress --forensic` - 6-check integrity audit
|
|
577
|
+
**Pipeline stuck mid-stage?** `/gdd:resume` restores from the most recent numbered checkpoint. `/gdd:health` diagnoses `.design/` artifact issues. `/gdd:progress --forensic` runs the 6-check integrity audit.
|
|
894
578
|
|
|
895
|
-
**Cost overruns?**
|
|
896
|
-
- `/gdd:optimize` - rule-based recommendations
|
|
897
|
-
- `/gdd:set-profile budget` - switch to budget tier
|
|
898
|
-
- Set `adaptive_mode: "full"` in `.design/budget.json` - bandit will learn cheap-and-correct tier per agent over 5–10 cycles
|
|
899
|
-
|
|
900
|
-
**Updating to the latest version?**
|
|
901
|
-
```bash
|
|
902
|
-
npx @hegemonart/get-design-done@latest
|
|
903
|
-
```
|
|
579
|
+
**Cost overruns?** `/gdd:optimize` gives rule-based recommendations. `/gdd:set-profile budget` switches to the budget tier. Set `adaptive_mode: "full"` in `.design/budget.json` so the bandit learns cheap-and-correct tier per agent over 5–10 cycles.
|
|
904
580
|
|
|
905
581
|
**Using Docker / containers?**
|
|
906
582
|
|
|
@@ -911,47 +587,22 @@ CLAUDE_CONFIG_DIR=/workspace/.claude npx @hegemonart/get-design-done
|
|
|
911
587
|
### Uninstalling
|
|
912
588
|
|
|
913
589
|
```bash
|
|
914
|
-
#
|
|
590
|
+
# Per-runtime (replace --claude with any runtime flag)
|
|
915
591
|
npx @hegemonart/get-design-done --claude --global --uninstall
|
|
916
|
-
npx @hegemonart/get-design-done --opencode --global --uninstall
|
|
917
|
-
npx @hegemonart/get-design-done --gemini --global --uninstall
|
|
918
|
-
npx @hegemonart/get-design-done --kilo --global --uninstall
|
|
919
|
-
npx @hegemonart/get-design-done --codex --global --uninstall
|
|
920
|
-
npx @hegemonart/get-design-done --copilot --global --uninstall
|
|
921
|
-
npx @hegemonart/get-design-done --cursor --global --uninstall
|
|
922
|
-
npx @hegemonart/get-design-done --windsurf --global --uninstall
|
|
923
|
-
npx @hegemonart/get-design-done --antigravity --global --uninstall
|
|
924
|
-
npx @hegemonart/get-design-done --augment --global --uninstall
|
|
925
|
-
npx @hegemonart/get-design-done --trae --global --uninstall
|
|
926
|
-
npx @hegemonart/get-design-done --qwen --global --uninstall
|
|
927
|
-
npx @hegemonart/get-design-done --codebuddy --global --uninstall
|
|
928
|
-
npx @hegemonart/get-design-done --cline --global --uninstall
|
|
929
592
|
|
|
930
593
|
# Multi-select interactive uninstall (no runtime flag)
|
|
931
594
|
npx @hegemonart/get-design-done --uninstall
|
|
932
|
-
|
|
933
|
-
# Local installs (current project)
|
|
934
|
-
npx @hegemonart/get-design-done --claude --local --uninstall
|
|
935
|
-
# ... same flags as above with --local
|
|
936
595
|
```
|
|
937
596
|
|
|
938
597
|
This removes all GDD commands, agents, hooks, and settings while preserving other configurations.
|
|
939
598
|
|
|
940
599
|
---
|
|
941
600
|
|
|
942
|
-
## Feedback
|
|
601
|
+
## Feedback
|
|
943
602
|
|
|
944
|
-
GDD
|
|
603
|
+
GDD ships a consent-first GitHub issue reporter via the `/gdd:report-issue` slash command. It walks you through reporting an issue or capability gap with a payload preview before submission, local-first and consent-gated. Direct identifiers are replaced with stable pseudonyms (your username, hostname, absolute paths, git identity, env-var values, emails, IPs) - but internal correlation is preserved so maintainers can debug. Set `GDD_DISABLE_ISSUE_REPORTER=1` or add `{ "issue_reporter": false }` to `.design/config.json` to halt submission before any network call.
|
|
945
604
|
|
|
946
|
-
|
|
947
|
-
- **Pseudonymization, NOT anonymization.** Direct identifiers (your username, hostname, absolute paths, git identity, env-var values, emails, IPs) are replaced with stable pseudonyms - but internal correlation is preserved so maintainers can debug. Side-channel data (writing style, code patterns, repo fingerprints) may still re-identify. You see the full payload before submission and explicitly consent per-issue.
|
|
948
|
-
- **Kill-switch.** Set `GDD_DISABLE_ISSUE_REPORTER=1` (env) or add `{ "issue_reporter": false }` to `.design/config.json` to halt submission before any network call. `gsd-health` surfaces the disable line.
|
|
949
|
-
- **Hardcoded destination.** The reporter cannot be redirected at runtime; the destination repo is a frozen constant in `scripts/lib/issue-reporter/destination.cjs`.
|
|
950
|
-
- **`gh`-absent fallback.** If the GitHub CLI isn't installed, the payload is written to `.design/issue-drafts/` and the issue-template URL is copied to your clipboard (xclip / pbcopy / clip).
|
|
951
|
-
|
|
952
|
-
See [`reference/pseudonymization-rules.md`](reference/pseudonymization-rules.md) for the R1..R8 rule catalog and [`reference/known-failure-modes.md`](reference/known-failure-modes.md) for known anti-patterns the reporter detects.
|
|
953
|
-
|
|
954
|
-
**v1.30.5 update** - the catalogue now ships 22 entries (was 10 in v1.30.0), and a new deterministic fuzzy matcher (`scripts/lib/failure-mode-matcher.cjs`, top-N + threshold + confidence) returns ranked candidates for ambiguous symptoms. The reflector + authority-watcher can propose new entries via `/gdd:apply-reflections` (6th proposal class) - strictly proposal-only, every entry passes through user review.
|
|
605
|
+
See [reference/pseudonymization-rules.md](reference/pseudonymization-rules.md) for the rule catalog.
|
|
955
606
|
|
|
956
607
|
---
|
|
957
608
|
|
|
@@ -959,6 +610,10 @@ See [`reference/pseudonymization-rules.md`](reference/pseudonymization-rules.md)
|
|
|
959
610
|
|
|
960
611
|
MIT License. See [LICENSE](LICENSE) for details.
|
|
961
612
|
|
|
613
|
+
Architecture ported from `gsd-build/get-shit-done` (MIT - see `NOTICE`). Peer-CLI protocol shapes adapted from `greenpolo/cc-multi-cli` (Apache 2.0). Skill-discipline mechanism ported from [`obra/superpowers`](https://github.com/obra/superpowers) (MIT).
|
|
614
|
+
|
|
615
|
+
For the full release history, see [CHANGELOG.md](CHANGELOG.md). For contribution guidelines, see [CONTRIBUTING.md](CONTRIBUTING.md).
|
|
616
|
+
|
|
962
617
|
---
|
|
963
618
|
|
|
964
619
|
<div align="center">
|