@hegemonart/get-design-done 1.24.2 → 1.26.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (60) hide show
  1. package/.claude-plugin/marketplace.json +2 -2
  2. package/.claude-plugin/plugin.json +1 -1
  3. package/CHANGELOG.md +87 -0
  4. package/README.de.md +679 -0
  5. package/README.fr.md +679 -0
  6. package/README.it.md +679 -0
  7. package/README.ja.md +679 -0
  8. package/README.ko.md +679 -0
  9. package/README.md +399 -728
  10. package/README.zh-CN.md +480 -133
  11. package/SKILL.md +2 -0
  12. package/agents/README.md +60 -0
  13. package/agents/design-reflector.md +43 -0
  14. package/agents/gdd-intel-updater.md +34 -1
  15. package/agents/prototype-gate.md +122 -0
  16. package/agents/quality-gate-runner.md +125 -0
  17. package/hooks/budget-enforcer.ts +275 -11
  18. package/hooks/gdd-decision-injector.js +183 -3
  19. package/hooks/gdd-turn-closeout.js +238 -0
  20. package/hooks/hooks.json +10 -0
  21. package/package.json +5 -5
  22. package/reference/STATE-TEMPLATE.md +41 -0
  23. package/reference/config-schema.md +30 -0
  24. package/reference/model-prices.md +40 -19
  25. package/reference/prices/antigravity.md +21 -0
  26. package/reference/prices/augment.md +21 -0
  27. package/reference/prices/claude.md +42 -0
  28. package/reference/prices/cline.md +23 -0
  29. package/reference/prices/codebuddy.md +21 -0
  30. package/reference/prices/codex.md +25 -0
  31. package/reference/prices/copilot.md +21 -0
  32. package/reference/prices/cursor.md +21 -0
  33. package/reference/prices/gemini.md +25 -0
  34. package/reference/prices/kilo.md +21 -0
  35. package/reference/prices/opencode.md +23 -0
  36. package/reference/prices/qwen.md +25 -0
  37. package/reference/prices/trae.md +23 -0
  38. package/reference/prices/windsurf.md +21 -0
  39. package/reference/registry.json +107 -1
  40. package/reference/runtime-models.md +446 -0
  41. package/reference/schemas/runtime-models.schema.json +123 -0
  42. package/scripts/install.cjs +8 -0
  43. package/scripts/lib/budget-enforcer.cjs +446 -0
  44. package/scripts/lib/cost-arbitrage.cjs +294 -0
  45. package/scripts/lib/gdd-state/mutator.ts +454 -0
  46. package/scripts/lib/gdd-state/parser.ts +351 -1
  47. package/scripts/lib/gdd-state/types.ts +193 -0
  48. package/scripts/lib/install/installer.cjs +188 -11
  49. package/scripts/lib/install/parse-runtime-models.cjs +267 -0
  50. package/scripts/lib/install/runtimes.cjs +43 -0
  51. package/scripts/lib/quality-gate-detect.cjs +126 -0
  52. package/scripts/lib/runtime-detect.cjs +96 -0
  53. package/scripts/lib/tier-resolver.cjs +311 -0
  54. package/scripts/validate-frontmatter.ts +138 -1
  55. package/skills/quality-gate/SKILL.md +222 -0
  56. package/skills/router/SKILL.md +79 -10
  57. package/skills/sketch-wrap-up/SKILL.md +47 -2
  58. package/skills/spike-wrap-up/SKILL.md +41 -2
  59. package/skills/turn-closeout/SKILL.md +115 -0
  60. package/skills/verify/SKILL.md +22 -0
package/README.zh-CN.md CHANGED
@@ -2,16 +2,16 @@
2
2
 
3
3
  # GET DESIGN DONE
4
4
 
5
- [English](README.md) · **简体中文**
5
+ [English](README.md) · **简体中文** · [日本語](README.ja.md) · [한국어](README.ko.md) · [Français](README.fr.md) · [Italiano](README.it.md) · [Deutsch](README.de.md)
6
6
 
7
- **面向 Claude Code Agent 编排设计工作流。五个阶段,三十三个专用 Agent,十二个工具接入 —— 从设计简报直达可发布的验证结果。**
7
+ **面向 AI 编码智能体的设计质量流水线:简报 探索 规划 实现 → 验证。**
8
8
 
9
- **专治 "Claude 看起来做得还行,但整套东西对不上" 的老毛病:没有抽取设计系统、没有参考对齐、没有回到简报做验证。**
9
+ **Get Design Done 让 AI 生成的 UI 始终贴住你的简报、设计系统、参考资料与质量闸门。支持 Claude Code、OpenCode、Gemini CLI、Kilo、Codex、Copilot、Cursor、Windsurf、Antigravity、Augment、Trae、Qwen Code、CodeBuddy 与 Cline。**
10
10
 
11
11
  [![npm version](https://img.shields.io/npm/v/@hegemonart/get-design-done?style=for-the-badge&logo=npm&logoColor=white&color=CB3837)](https://www.npmjs.com/package/@hegemonart/get-design-done)
12
12
  [![npm downloads](https://img.shields.io/npm/dm/@hegemonart/get-design-done?style=for-the-badge&logo=npm&logoColor=white&color=CB3837)](https://www.npmjs.com/package/@hegemonart/get-design-done)
13
- [![GitHub stars](https://img.shields.io/github/stars/hegemonart/get-design-done?style=for-the-badge&logo=github&color=181717)](https://github.com/hegemonart/get-design-done)
14
13
  [![CI](https://img.shields.io/github/actions/workflow/status/hegemonart/get-design-done/ci.yml?branch=main&style=for-the-badge&logo=github&label=CI)](https://github.com/hegemonart/get-design-done/actions/workflows/ci.yml)
14
+ [![GitHub stars](https://img.shields.io/github/stars/hegemonart/get-design-done?style=for-the-badge&logo=github&color=181717)](https://github.com/hegemonart/get-design-done)
15
15
  [![Node](https://img.shields.io/badge/node-22%20%7C%2024-339933?style=for-the-badge&logo=node.js&logoColor=white)](https://nodejs.org/)
16
16
  [![License](https://img.shields.io/badge/license-MIT-blue?style=for-the-badge)](LICENSE)
17
17
 
@@ -21,181 +21,298 @@
21
21
  npx @hegemonart/get-design-done@latest
22
22
  ```
23
23
 
24
- **一条命令即可安装。支持 macOS、Linux、Windows。依赖 Claude Code + Node 22/24。**
24
+ **支持 macOS、Linux Windows。**
25
25
 
26
26
  <br>
27
27
 
28
- *"Claude 写代码很快。Get Design Done 让它也能把设计交付出来。"*
28
+ *"AI 编码智能体交付 UI 很快。Get Design Done 确保交付出来的是设计。"*
29
29
 
30
30
  <br>
31
31
 
32
- [为什么做这个](#为什么做这个) · [快速开始](#快速开始) · [工作流程](#工作流程) · [命令列表](#命令列表) · [配置](#配置) · [故障排查](#故障排查)
32
+ [为什么做这个](#为什么做这个) · [工作流程](#工作流程) · [命令](#命令) · [接入](#接入) · [为什么能行](#为什么能行)
33
33
 
34
34
  </div>
35
35
 
36
36
  ---
37
37
 
38
38
  > [!IMPORTANT]
39
- > ### 已有 Claude Design 导出包?
39
+ > ### 已有 Claude Design 导出包?
40
40
  >
41
- > 如果你从 [claude.ai/design](https://claude.ai/design) 导出了设计,可以直接跳过前三个阶段:
41
+ > 如果你从 [claude.ai/design](https://claude.ai/design) 导出了设计,可以直接跳过前三个阶段:
42
42
  >
43
43
  > ```
44
44
  > /gdd:handoff ./my-design.html
45
45
  > ```
46
46
  >
47
- > 此命令会把导出包里的 CSS 自定义属性解析成 D-XX 设计决策,运行带 Handoff Faithfulness 评分的验证流程,并可选地把实现状态写回 Figma。格式说明见 [`connections/claude-design.md`](connections/claude-design.md)
47
+ > 此命令会把导出包里的 CSS 自定义属性解析为 D-XX 设计决策,运行带 Handoff Faithfulness 评分的验证流程,并可选地把实现状态写回 Figma。
48
48
 
49
49
  ---
50
50
 
51
51
  ## 为什么做这个
52
52
 
53
- 我是一个用 Claude Code 发布产品的设计师。代码侧的工作流(GSD、Speckit、BMAD)已经很成熟,设计侧还没有。
53
+ 我是一个用 AI 编码智能体发布产品的设计师。代码侧工作流已经很成熟:规格、任务、测试、提交、review loop。设计侧还没有。
54
54
 
55
- 反复遇到的问题是:Claude 生成 UI 很乐意,但输出是**脱节的**。Token 对不上既有设计系统、对比度悄悄跌破 WCAG、层级每个页面都重新发明一遍、旧项目里的反模式渗进新项目。所有这些问题要到 PR review 才被发现,因为没人把结果回到最初的设计简报上做校验。
55
+ 我反复遇到的问题是:智能体可以生成一个单独看起来不错的界面,但工作本身是**脱节的**。Token 对不上既有设计系统。对比度悄悄跌破 WCAG。层级每个页面都重新发明一遍。旧项目里的反模式渗进新组件。因为没有任何东西把产出回到最初的简报上做验证,这些问题通常要到 PR review 或交付之后才浮出来。
56
56
 
57
- 所以我做了 Get Design Done。哲学与 GSD 一致 —— **复杂度在系统里,不在你的工作流里**。幕后:三十三个专用 Agent、一个可查询的 intel 存储、按模型分层的路由、十二个工具接入、基于遥测的自我改进循环。台前:几个直接能用的命令。
57
+ 所以我做了 Get Design Done:一条设计流水线,把工程工作流里已经成熟的结构带给 AI 编码智能体。它捕获简报、映射当前设计系统、用参考资料约束决策、把工作拆成原子任务、执行任务,并在发布前验证结果。
58
58
 
59
- 流水线既完成工作,也对工作做验证。我信任这个流程。它把设计交付出来。
59
+ 幕后是 37 个专用智能体、可查询的 intel 存储、按模型分层的路由、12 个可选工具接入、原子提交,以及基于 solidify-with-rollback 结果学习的 no-regret 自适应层。你日常看到的,只是几个能让设计工作保持一致的 `/gdd:*` 命令。
60
60
 
61
61
  — **Hegemon**
62
62
 
63
63
  ---
64
64
 
65
- 设计侧的 "vibecoding" 和代码侧一样会失败:你描述想要什么,AI 生成看起来像回事的东西,一上规模就垮 —— 因为没有任何东西把产出回拴到最初的简报。
65
+ AI 生成设计和 AI 生成代码有同一种失败模式:你描述想要什么,拿到一个看起来合理的东西,然后一上规模就垮,因为没有系统把产出重新拴回简报。
66
66
 
67
- Get Design Done 修的就是这个。它是 Claude Code 里设计工作的上下文工程层。捕获简报、清点系统、在真实参考里扎根、拆解成原子化的设计任务、回到简报上做验证 —— 然后发布。
67
+ Get Design Done 是设计工作的上下文工程层。它把“把这个 UI 做好一点”变成可追踪的循环:简报 盘点 → 参考 → 计划 → 实现 → 验证。
68
68
 
69
69
  ---
70
70
 
71
- ## 适合谁
71
+ ## 你会得到什么
72
72
 
73
- 任何用 Claude Code 发布 UI、且希望结果确实站得住的人 —— 工程师、设计师、design engineer、solo 创始人都合适。如果你在意 token 对齐、对比度过 WCAG、结果能回到最初需求,这就是给你的。
73
+ - **由简报约束的设计工作** —— 每个周期都从问题、受众、约束、成功指标和必须满足项开始。
74
+ - **设计系统抽取** —— GDD 会在规划改动前盘点 token、字体、间距、组件、动效、可访问性、暗色模式和设计债。
75
+ - **基于参考的决策** —— 智能体使用内置设计参考,也可以接入 Figma、Refero、Pinterest、Storybook、Chromatic、Preview、Claude Design、paper.design、pencil.dev、Graphify、21st.dev Magic 和 Magic Patterns。
76
+ - **原子化执行** —— 设计任务按依赖拆解,以安全 wave 执行,并独立提交。
77
+ - **发布前验证** —— 审计会检查简报匹配、token 集成、WCAG 对比度、组件合规、动效一致性、暗色模式架构和设计反模式。
78
+ - **验证失败自动回滚** —— solidify-with-rollback 会在任务落地前做验证;失败的工作会自动撤回。
74
79
 
75
- 你不必是专业设计师。流水线自己承担设计专业部分 —— 它抽取系统、在参考里扎根、回到简报做校验,并捕获那些普通人常漏掉的问题。
80
+ ---
76
81
 
77
- 内建的质量闸门会抓真实问题:Claude Design 导出包的 Handoff Faithfulness 评分、调色板 × 表面矩阵的完整对比度审计、NNG 反模式目录检测、暗色模式架构校验、以及动效系统一致性检查。
82
+ ## 适合谁
78
83
 
79
- ### v1.14.0 亮点
84
+ GDD 适合所有用 AI 编码智能体交付 UI、并且希望结果不止第一张截图好看的人 —— 工程师、设计师、设计工程师、创始人和产品构建者都适合。
80
85
 
81
- - **AI-native 画布工具** —— paper.design(MCP 画布读写、截图验证)和 pencil.dev(git 追踪的 `.pen` 规格文件,不需要 MCP)补齐了一条完整的 canvas→code→verify→canvas 往返链路。
82
- - **组件生成器** —— 21st.dev Magic MCP 在任何 greenfield 构建前加入先例匹配闸门;Magic Patterns 生成带 `preview_url` 的 DS-aware 组件用于视觉校验。两者都接入同一个 `design-component-generator` Agent。
83
- - **十二个工具接入** —— 新增四个(paper.design、pencil.dev、21st.dev、Magic Patterns),加上原有的八个。全部可选;任何接入缺席时流水线会优雅地降级到回退方案。
86
+ 当你在意 token 是否一致、对比度是否通过 WCAG、动效是否协调、组件是否遵循系统、最终实现是否仍然符合最初需求时,它就有价值。
84
87
 
85
- ---
88
+ 你不必是专业设计师。流水线会把设计纪律带进智能体工作流:它抽取上下文、只追问缺失决策、用参考资料约束工作,并捕获那些人们通常太晚才发现的问题。
86
89
 
87
- ## 快速开始
90
+ ### v1.24.0 亮点 —— 多运行时安装器
88
91
 
89
- ```bash
90
- npx @hegemonart/get-design-done@latest
91
- ```
92
+ - **`@clack/prompts` 交互式多选** —— `npx @hegemonart/get-design-done` 不带任何 flag 时,会打开针对全部 14 个支持运行时(Claude Code、OpenCode、Gemini CLI、Kilo、Codex、Copilot、Cursor、Windsurf、Antigravity、Augment、Trae、Qwen Code、CodeBuddy、Cline)的复选框 UI,以及 Global / Local 单选。任意子集均可,确认后即完成。
93
+ - **幂等 + 兼容外部 AGENTS.md** —— 重复运行不会产生重复条目,也不会覆盖你为某个运行时手写的指令文件;任何文件写入前都有确认步骤,显示 diff。
94
+ - **保留脚本式 CI 接口** —— 现有的所有 flag(`--claude`、`--cursor`、`--all`、`--global`、`--local`、`--uninstall`、`--config-dir`)继续无变化地工作。仅在没有任何运行时 flag 时,才进入交互模式。
95
+ - **多选卸载** —— `--uninstall` 不带运行时 flag 时也会进入交互式多选,按需挑选要清理哪几个运行时。
92
96
 
93
- 就这一条。安装器会**原子地**把 `get-design-done` 市场条目写入 `~/.claude/settings.json`,并启用插件。重启 Claude Code(或运行 `/reload-plugins`)之后,流水线就上线了。
97
+ ### 历次发布
94
98
 
95
- **安装器做了什么**
99
+ - **v1.23.5** —— No-Regret 自适应层(Thompson 采样 bandit + AdaNormalHedge 集成 + MMR 重排;通过 informed-prior 引导,单用户可用,不需要 opt-in 共享遥测)。
100
+ - **v1.23.0** —— SDK 领域原语(solidify-with-rollback 闸门、JSON 输出契约、`Touches:` 模式自动结晶化)。
101
+ - **v1.22.0** —— SDK 可观测性(约 24 种类型化事件、每次工具调用的轨迹流、仅追加的事件链、密钥擦除器)。
102
+ - **v1.21.0** —— 无头 SDK(`gdd-sdk` CLI 不依赖 Claude Code 即可跑完整流水线、并行研究员、跨 harness MCP)。
103
+ - **v1.20.0** —— SDK 基础(弹性原语、加锁安全的 `STATE.md`、`gdd-state` MCP 服务器及 11 个类型化工具、TypeScript 基础)。
96
104
 
97
- - 在 `extraKnownMarketplaces` 里注册 `github:hegemonart/get-design-done` 市场
98
- - 将 `enabledPlugins["get-design-done@get-design-done"]` 置为 `true`
99
- - 保留 settings 里的其他所有键 —— 主题、权限、其他市场 —— 完全不动
100
- - 幂等:可以重复运行;不会产生重复条目
105
+ 完整发布说明见 [CHANGELOG.md](CHANGELOG.md)。
101
106
 
102
- 首次启动 Claude Code 时,`SessionStart` bootstrap 钩子会自动准备参考库 `~/.claude/libs/awesome-design-md`(幂等,后续会话只执行 `git pull --ff-only`)。
103
-
104
- ### 非交互安装(CI、Docker、脚本)
107
+ ---
105
108
 
106
- ```bash
107
- # 预演:只打印 diff,不实际写入
108
- npx @hegemonart/get-design-done@latest --dry-run
109
+ <p align="center">
110
+ <strong>Supported by</strong>
111
+ </p>
109
112
 
110
- # 自定义配置目录(Docker,或非默认 Claude 根目录)
111
- CLAUDE_CONFIG_DIR=/workspace/.claude npx @hegemonart/get-design-done@latest
112
- ```
113
+ <div align="center">
114
+ <a href="https://www.humbleteam.com/" aria-label="Humbleteam">
115
+ <img src="docs/assets/sponsors/humbleteam.svg" alt="Humbleteam logo" width="180">
116
+ </a>
117
+ <br>
118
+ <sub>Product design partner for ambitious startups and AI products.</sub>
119
+ </div>
113
120
 
114
- ### 另一种方式:Claude Code CLI
121
+ ---
115
122
 
116
- 不想经过 npm 包?直接用原生插件 CLI:
123
+ ## 快速开始
117
124
 
118
125
  ```bash
119
- claude plugin marketplace add hegemonart/get-design-done
120
- claude plugin install get-design-done@get-design-done
126
+ npx @hegemonart/get-design-done@latest
121
127
  ```
122
128
 
123
- 这就是安装器帮你做的事情 —— `npx` 只是把两条命令合成了一条。
129
+ 安装器会让你选择:
130
+ 1. **运行时** —— Claude Code、OpenCode、Gemini、Kilo、Codex、Copilot、Cursor、Windsurf、Antigravity、Augment、Trae、Qwen Code、CodeBuddy、Cline,或全部(交互式多选 —— 一次会话里挑多个运行时)
131
+ 2. **位置** —— Global(所有项目)或 Local(当前项目)
124
132
 
125
- 任何安装方式都可以通过下面这条命令验证:
133
+ 验证:
126
134
 
127
135
  ```
128
136
  /gdd:help
129
137
  ```
130
138
 
131
139
  > [!TIP]
132
- > 建议以 `--dangerously-skip-permissions` 方式运行 Claude Code,以获得流畅的自动化体验。GDD 设计用于自主的多阶段执行;每次读文件和 `git commit` 都要人工批准会抵消全部意义。
140
+ > 建议以 `--dangerously-skip-permissions` 方式运行 Claude Code,以获得流畅的自动化体验。GDD 设计用于自主多阶段执行;每次读文件和 `git commit` 都要人工批准会抵消全部意义。
133
141
 
134
142
  ### 保持最新
135
143
 
136
- Get Design Done 发版频繁。要拿到最新的插件契约,只需要**再跑一次安装器** —— 它是幂等的,会就地更新已注册的市场条目:
144
+ GDD 发版频繁。重新跑一次安装器即可(它是幂等的,会原地更新已注册的市场条目):
137
145
 
138
146
  ```bash
139
147
  npx @hegemonart/get-design-done@latest
140
148
  ```
141
149
 
142
- 也可以在 Claude Code 里直接运行:
150
+ 或在 Claude Code 里:
143
151
 
144
152
  ```
145
153
  /gdd:update
146
154
  ```
147
155
 
148
- `/gdd:update` 会在应用前预览 changelog。`reference/` 目录下的本地修改会被保留 —— 如果结构性更新后需要重新 stitch,用 `/gdd:reapply-patches`。当有新版本时,`SessionStart` 钩子会显示一行横幅通知,并被门控逻辑保护,绝不会打断正在运行的流水线阶段。
156
+ `/gdd:update` 在应用前预览 changelog。`reference/` 下的本地修改会被保留 —— 如果结构性更新后需要重新拼接,用 `/gdd:reapply-patches`。当有新版本时,SessionStart 钩子会显示一行横幅,被状态机门控保护,绝不打断正在运行的阶段。
157
+
158
+ <details>
159
+ <summary><strong>非交互式安装(Docker、CI、脚本)</strong></summary>
160
+
161
+ ```bash
162
+ # Claude Code
163
+ npx @hegemonart/get-design-done --claude --global # 安装到 ~/.claude/
164
+ npx @hegemonart/get-design-done --claude --local # 安装到 ./.claude/
165
+
166
+ # OpenCode
167
+ npx @hegemonart/get-design-done --opencode --global
168
+
169
+ # Gemini CLI
170
+ npx @hegemonart/get-design-done --gemini --global
171
+
172
+ # Kilo, Codex, Copilot, Cursor, Windsurf, Antigravity, Augment, Trae, Qwen, CodeBuddy, Cline
173
+ # 同样的 --<runtime> --global / --local 模式
174
+
175
+ # 所有运行时
176
+ npx @hegemonart/get-design-done --all --global
177
+
178
+ # 预演(只打印 diff,不实际写入)
179
+ npx @hegemonart/get-design-done --dry-run
180
+
181
+ # 自定义配置目录(Docker、非默认 Claude 根)
182
+ CLAUDE_CONFIG_DIR=/workspace/.claude npx @hegemonart/get-design-done
183
+ ```
184
+
185
+ </details>
186
+
187
+ <details>
188
+ <summary><strong>另一种方式:Claude Code CLI</strong></summary>
189
+
190
+ ```bash
191
+ claude plugin marketplace add hegemonart/get-design-done
192
+ claude plugin install get-design-done@get-design-done
193
+ ```
194
+
195
+ 这就是 npx 安装器在做的事 —— `npx` 只是把两条命令合成一条。
196
+
197
+ </details>
149
198
 
150
- ---
151
199
 
152
200
  ## 工作流程
153
201
 
154
- > **新接入既有代码库?** 先运行 `/gdd:map`。它会并行派出 5 个专业 mappertokens、components、visual hierarchy、a11y、motion)并写入 `.design/map/` —— 这些结构化数据是 Explore 阶段的高质量输入,比基于 grep 的回退方案好得多。
202
+ > **新接入既有代码库?** 先运行 `/gdd:map`。它会并行派出 5 个专业 mapper(tokens、components、visual hierarchy、a11y、motion)并写入 `.design/map/` —— 这些结构化数据是 Explore 阶段的高质量输入,比基于 grep 的回退方案好得多。
155
203
 
156
- ### 1. Brief(简报)
204
+ ### 1. Brief(简报)
157
205
 
158
206
  ```
159
207
  /gdd:brief
160
208
  ```
161
209
 
162
- 一条命令在任何扫描或探索之前先捕获设计问题。此 skill 通过 `AskUserQuestion` 一次一问 —— 只针对未回答的部分:问题、受众、约束、成功指标、范围。
210
+ 在任何扫描或探索之前先捕获设计问题。该 skill 通过 `AskUserQuestion` 一次一问 —— 只针对未回答的部分:问题、受众、约束、成功指标、范围。
211
+
212
+ **产出:** `.design/BRIEF.md`
213
+
214
+ ---
163
215
 
164
- ### 2. Explore(勘察)
216
+ ### 2. Explore(勘察)
165
217
 
166
218
  ```
167
219
  /gdd:explore
168
220
  ```
169
221
 
170
- 清点当前代码库的设计系统:颜色、排版、间距、组件、动效、可访问性、暗色模式。产出 `.design/DESIGN.md`、`.design/DESIGN-DEBT.md`、`.design/DESIGN-CONTEXT.md`。也会以 `AskUserQuestion` 采访方式补充未在代码里暴露的决策。
222
+ 清点当前代码库的设计系统:颜色、排版、间距、组件、动效、可访问性、暗色模式。5 个并行 mapper 加 `design-discussant` 采访产生三份产物。连接探针检测 Figma、Refero、Storybook、Chromatic、Preview、Pinterest、Claude Design、paper.design、pencil.dev、Graphify、21st.dev Magic、Magic Patterns 是否可用。
223
+
224
+ **产出:** `.design/DESIGN.md`、`.design/DESIGN-DEBT.md`、`.design/DESIGN-CONTEXT.md`、`.design/map/{tokens,components,a11y,motion,visual-hierarchy}.{md,json}`
171
225
 
172
- ### 3. Plan(计划)
226
+ ---
227
+
228
+ ### 3. Plan(计划)
173
229
 
174
230
  ```
175
231
  /gdd:plan
176
232
  ```
177
233
 
178
- 将 Explore 产出分解为原子化、带 wave 编排和依赖分析的设计任务,写入 `DESIGN-PLAN.md`。每个任务有明确的 Touches 字段、可并行性标签和验收准则。
234
+ 将 Explore 产出分解为原子化、按 wave 编排、带依赖分析的设计任务。每个任务携带明确的 `Touches:` 路径、可并行性标签、验收准则。`design-planner`(opus)起草;`design-plan-checker`(haiku)在执行前对照简报目标做闸门检查。
179
235
 
180
- ### 4. Design(执行)
236
+ **产出:** `.design/DESIGN-PLAN.md`
237
+
238
+ ---
239
+
240
+ ### 4. Design(执行)
181
241
 
182
242
  ```
183
243
  /gdd:design
184
244
  ```
185
245
 
186
- 按 wave 顺序执行计划中的任务。每个任务派出专用 executor Agent,带原子 git commit,并根据代码内上下文偏差规则自动处理偏差。
246
+ 按 wave 顺序执行任务。每个任务有专属的 `design-executor` 智能体,获得全新 200k 上下文,产出原子 git commit,并按代码内上下文的偏差规则自动处理偏差。可并行任务在 worktree 中运行。
247
+
248
+ **Solidify-with-rollback**(v1.23.0)—— 每个任务在锁定前执行验证(typecheck + build + 定向测试)。验证失败 → `git stash` 回滚。每个任务都是原子的 commit-or-revert。
249
+
250
+ **产出:** 每个任务一份 `.design/tasks/task-NN.md`,每个任务一次原子 git commit
251
+
252
+ ```
253
+ ┌────────────────────────────────────────────────────────────────────┐
254
+ │ WAVE 执行 │
255
+ ├────────────────────────────────────────────────────────────────────┤
256
+ │ │
257
+ │ WAVE 1(并行) WAVE 2(并行) WAVE 3 │
258
+ │ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ │
259
+ │ │ Task 01 │ │ Task 02 │ → │ Task 03 │ │ Task 04 │ → │ Task 05 │ │
260
+ │ │ tokens │ │ a11y │ │ button │ │ form │ │ verify │ │
261
+ │ └─────────┘ └─────────┘ └─────────┘ └─────────┘ └─────────┘ │
262
+ │ │ │ ↑ ↑ ↑ │
263
+ │ └───────────┴──────────────┴───────────┴──────────────┘ │
264
+ │ Touches: 路径驱动依赖分析 │
265
+ │ │
266
+ └────────────────────────────────────────────────────────────────────┘
267
+ ```
268
+
269
+ ---
187
270
 
188
- ### 5. Verify(验证)
271
+ ### 5. Verify(验证)
189
272
 
190
273
  ```
191
274
  /gdd:verify
192
275
  ```
193
276
 
194
- 回到简报做验证 —— 必须达成项、NNG 启发式、审计评分、token 集成检查。失败时产出结构化 gap 列表;可通过 `/gdd:audit` 进入 verify→fix 循环。
277
+ 回到简报做验证 —— 必达项、NN/g 启发法、审计评分、token 集成。三个智能体顺序运行:`design-auditor`(6 维 1–4 评分)、`design-verifier`(目标向回校验)、`design-integration-checker`(把 D-XX 决策回写到代码)。失败时产生结构化 gap 列表并经 `design-fixer` 进入 verify→fix 循环。
195
278
 
196
- ### 6. Ship → Reflect → 下一轮
279
+ **产出:** `.design/DESIGN-VERIFICATION.md`,如发现问题则有修复 commit
197
280
 
198
- 验证通过之后,`/gdd:ship` 生成干净的 PR 分支,`/gdd:reflect` 输出改进建议,`/gdd:apply-reflections` 审核并应用;`/gdd:new-cycle` 开启新的设计周期。
281
+ ---
282
+
283
+ ### 6. Ship → Reflect → 下一周期
284
+
285
+ ```
286
+ /gdd:ship # 生成干净的 PR 分支(过滤 .design/ 提交)
287
+ /gdd:reflect # design-reflector 读取遥测 + 学习
288
+ /gdd:apply-reflections # 审核并选择性应用 reflector 的提案
289
+ /gdd:complete-cycle # 归档周期产物 + 写出 EXPERIENCE.md
290
+ /gdd:new-cycle # 开启新周期
291
+ ```
292
+
293
+ 或自动路由:
294
+
295
+ ```
296
+ /gdd:next # 自动检测状态并执行下一步
297
+ ```
298
+
299
+ 每个周期都包含简报、扫描、计划、执行、验证、以及一份 100–200 行的 `EXPERIENCE.md`(目标 / 决策 / 学习 / 死掉的东西 / 交接给下一周期),这份文件成为 decision-injector 钩子的最高优先级来源。
300
+
301
+ ---
302
+
303
+ ### Fast 模式
304
+
305
+ ```
306
+ /gdd:fast "<任务>"
307
+ ```
308
+
309
+ 不需要走完整流水线的单文件琐碎修复。跳过 router、cache-manager、telemetry。同样的原子 commit 保证。
310
+
311
+ ```
312
+ /gdd:quick
313
+ ```
314
+
315
+ 需要 GDD 保证但跳过可选闸门(无 phase-researcher、无 assumptions analyzer、无 integration-checker)的临时任务。比 `/gdd:fast` 更稳;比完整流水线更快。
199
316
 
200
317
  ---
201
318
 
@@ -203,151 +320,381 @@ npx @hegemonart/get-design-done@latest
203
320
 
204
321
  ### 上下文工程
205
322
 
206
- Claude Code 功能强大,**前提是**你给它喂足了上下文。多数人没有。
323
+ AI 编码 CLI 很强 **前提是** 你给它喂足上下文。多数人没有。
207
324
 
208
- GDD 替你处理:
325
+ GDD 替你处理:
209
326
 
210
327
  | 文件 | 作用 |
211
328
  |------|------|
212
- | `.design/BRIEF.md` | 本次周期的设计问题、受众、成功指标 |
213
- | `.design/DESIGN.md` | 当前设计系统快照(tokens、组件、层级) |
329
+ | `.design/BRIEF.md` | 本周期的设计问题、受众、成功指标 |
330
+ | `.design/DESIGN.md` | 当前设计系统快照(token、组件、层级) |
214
331
  | `.design/DESIGN-CONTEXT.md` | D-XX 决策、采访答案、上下游约束 |
215
- | `.design/DESIGN-PLAN.md` | 原子化任务、wave 编排、依赖 |
332
+ | `.design/DESIGN-PLAN.md` | 原子任务、wave 编排、依赖 |
216
333
  | `.design/DESIGN-VERIFICATION.md` | 验证结果、gap 列表、Handoff Faithfulness 评分 |
217
- | `.design/intel/` | 可查询的知识层:token 扇出、组件 call-graph、决策溯源 |
334
+ | `.design/intel/` | 可查询知识层:token 扇出、组件 call-graph、决策溯源 |
335
+ | `.design/archive/cycle-N/EXPERIENCE.md` | 周期回顾,跨周期记忆 |
336
+ | `.design/telemetry/events.jsonl` | 跨阶段的类型化事件流 |
337
+ | `.design/telemetry/posterior.json` | Bandit 后验(`adaptive_mode != static` 时) |
338
+
339
+ 尺寸限制以 Claude 质量下降的边界为准。守住,得到稳定的高质量。
218
340
 
219
- ### 33 个专用 Agent
341
+ ### 37 个专用智能体
220
342
 
221
- 每个阶段都是 "薄编排器 + 专用 Agent" 的模式。编排器本身很轻,重活由 Agent 在全新的 200k 上下文窗口里做,不占用你会话的主上下文。
343
+ 每个阶段都是「薄编排器 + 专用智能体」。重活在新鲜的 200k 上下文里跑,不占用你会话的主上下文。
344
+
345
+ | 阶段 | 编排器做什么 | 智能体做什么 |
346
+ |------|-------------|------------|
347
+ | Brief | 一次一问的访谈 | (无子智能体 —— 叶子 skill) |
348
+ | Explore | 派出 5 个 mapper + discussant | 5 个并行 mapper、design-discussant、research-synthesizer |
349
+ | Plan | 派出研究员 + planner + checker | design-phase-researcher(可选)、design-planner(opus)、design-plan-checker(haiku) |
350
+ | Design | wave 协调 + worktree 隔离 | 每个任务一个 design-executor,solidify 失败时 design-fixer |
351
+ | Verify | 派出 auditor + verifier + checker | design-auditor(6 维评分)、design-verifier(目标向回)、design-integration-checker(D-XX → 代码) |
352
+ | Reflect | 读遥测 + 学习 | design-reflector(opus)、design-authority-watcher、design-update-checker |
222
353
 
223
354
  ### 12 个工具接入
224
355
 
225
- Figma、Refero、Pinterest、Storybook、Chromatic、Claude Design、Playwright 预览、Graphify 知识图谱、paper.design、pencil.dev、21st.dev、Magic Patterns。全部可选;任何一个缺席时流水线都会优雅降级到回退方案。
356
+ 全部可选 —— 任何接入缺席时流水线会优雅降级:
357
+
358
+ - **Figma**(读 + 写 + Code Connect) —— 注释、token 绑定、实现状态回写
359
+ - **Refero** —— 设计参考检索
360
+ - **Pinterest** —— 视觉参考扎根
361
+ - **Claude Design** —— 导出包导入(`/gdd:handoff`)
362
+ - **Storybook** —— 组件规范查询
363
+ - **Chromatic** —— 视觉回归基线 diff
364
+ - **Preview** —— Playwright + Claude Preview MCP 运行时截图
365
+ - **paper.design** —— MCP 画布读写,canvas → code → verify → canvas 往返
366
+ - **pencil.dev** —— git 追踪的 `.pen` 规格(无须 MCP)
367
+ - **Graphify** —— 知识图谱导出
368
+ - **21st.dev Magic** —— greenfield 构建前的先例搜索
369
+ - **Magic Patterns** —— DS-aware 组件生成,带 `preview_url`
370
+
371
+ ### 内置设计参考
372
+
373
+ 插件随附 **18+ 份参考文件**,覆盖每个主要的设计知识领域。智能体不必上网搜索就能拿到权威答案:
374
+
375
+ - **启发法** —— NN/g 10、Don Norman 情感设计、Dieter Rams 10 原则、Disney 12(动效)、Sonner / Emil Kowalski 组件作者视角、Peak-End、Loss Aversion、Cognitive Load、Aesthetic-Usability、Doherty、Flow。
376
+ - **组件** —— 35 个组件规范(Material 3、Apple HIG、Radix、shadcn、Polaris、Carbon、Fluent、Atlassian、Ant、Mantine、Chakra、Base Web、Spectrum、Lightning、Evergreen、Gestalt),统一模板(用途 · 解剖 · 变体 · 状态 · 尺寸 · 排版 · 键盘 · 动效 · Do/Don't · 反模式 · 引用 · grep 签名)。
377
+ - **视觉 + 品牌** —— gestalt、视觉层级、品牌语调、调色板目录(161 个行业)、风格词汇(67 种 UI 美学)、图标(Lucide / Phosphor / Heroicons / Radix Icons / Tabler / SF Symbols)。
378
+ - **动效** —— 12 个权威 easing(RN MIT)+ 8 个过渡族(hyperframes Apache-2.0)+ spring 预设 + 插值分类 + 高阶手艺(手势、clip-path、模糊交叉淡入、View Transitions API、WAAPI)。
379
+ - **平台 + a11y** —— WCAG 2.1 AA 阈值、平台(iOS / Android / web / visionOS / watchOS)、RTL + CJK + 文化色彩、表单模式(Wroblewski 标签研究、autocomplete 分类、CAPTCHA 伦理)。
380
+ - **反模式** —— 正则签名目录,由 `design-pattern-mapper` 匹配。
226
381
 
227
382
  ### 原子化 git commit
228
383
 
229
- 每个设计任务独立提交。Git bisect 能精确定位失败任务;每个任务都可以独立 revert;在 AI 自动化流程里带来更好的可观测性。
384
+ 每个设计任务在完成后立即获得自己的 commit:
230
385
 
231
- ### 自我改进
386
+ ```
387
+ abc123f docs(08-02): complete user-card token plan
388
+ def456g feat(08-02): unify card surface tokens with --color-bg-elevated
389
+ hij789k feat(08-02): replace inline padding with --space-* scale
390
+ lmn012o test(08-02): assert card.spec passes WCAG contrast 4.5:1
391
+ ```
232
392
 
233
- 每次周期结束后,reflector Agent 读取遥测、learnings Agent 指标,生成 `reflections/<slug>.md` 具体改进提案。用 `/gdd:apply-reflections` 审核并选择性应用。
393
+ Git bisect 精确定位失败任务。每个任务可独立回退。Solidify-with-rollback 增加任务级验证闸门,所以坏掉的任务 3 不会在 verify 跑之前先污染任务 4–10。
394
+
395
+ ### 自我改进循环
396
+
397
+ 每个周期结束后,`design-reflector`(opus)读取 `events.jsonl`、`agent-metrics.json`、`learnings/`,然后提出 diff:
398
+
399
+ - **Tier override** —— 「design-verifier 在 < 300 行的 plan 上:降到 haiku,质量未见回归」
400
+ - **并行规则** —— 「token-mapper 与 component-taxonomy-mapper 在 `Touches: src/styles/` 上冲突;串行化」
401
+ - **参考新增** —— 「L-12 在第 3–5 周期被引用 9 次;晋升到 `reference/heuristics.md`」
402
+ - **Frontmatter 更新** —— 「design-executor 的 `typical-duration-seconds: 60` 实测 142 秒;提议改 120」
403
+
404
+ `/gdd:apply-reflections` 显示 diff 并询问后再应用。任何东西都不会自动应用。**No-Regret 自适应层**(v1.23.5)在其上叠加 Thompson 采样 bandit + AdaNormalHedge 集成 + MMR 重排,通过 informed-prior 引导,单用户即可使用。
405
+
406
+ ### 成本治理
407
+
408
+ - **`gdd-router` skill** —— 决定性的 intent → fast / quick / full 路由,无模型调用。
409
+ - **`gdd-cache-manager`** —— Layer-B 显式缓存,SHA-256 输入哈希,5 分钟 TTL 感知。
410
+ - **`budget-enforcer` PreToolUse 钩子** —— 按 `.design/budget.json` 强制 tier override、硬上限、延迟 spawn 闸门。
411
+ - **每个 spawn 的成本遥测** —— `.design/telemetry/costs.jsonl` 行喂给 `/gdd:optimize` 的规则推荐。
412
+
413
+ 目标:质量不退步的前提下让每任务 token 成本下降 50–70%。
234
414
 
235
415
  ---
236
416
 
237
- ## 命令列表
417
+ ## 命令
238
418
 
239
419
  ### 核心流水线
240
420
 
241
421
  | 命令 | 作用 |
242
422
  |------|------|
243
- | `/gdd:brief` | 阶段 1 捕获设计简报 |
244
- | `/gdd:explore` | 阶段 2 清点代码库 + 采访补齐上下文 |
245
- | `/gdd:plan` | 阶段 3 生成 DESIGN-PLAN.md |
246
- | `/gdd:design` | 阶段 4 按 wave 执行计划 |
247
- | `/gdd:verify` | 阶段 5 回到简报做验证 |
248
- | `/gdd:ship` | 生成干净的 PR 分支 |
423
+ | `/gdd:brief` | 阶段 1 —— 捕获设计简报 |
424
+ | `/gdd:explore` | 阶段 2 —— 代码库清点 + 采访 |
425
+ | `/gdd:plan` | 阶段 3 —— 生成 DESIGN-PLAN.md |
426
+ | `/gdd:design` | 阶段 4 —— 按 wave 执行 |
427
+ | `/gdd:verify` | 阶段 5 —— 回到简报做验证 |
428
+ | `/gdd:ship` | 生成干净的 PR 分支(过滤 .design/ 提交) |
249
429
  | `/gdd:next` | 根据 STATE.md 自动路由到下一阶段 |
430
+ | `/gdd:do <text>` | 自然语言路由 —— 选合适的命令 |
431
+ | `/gdd:fast <text>` | 一次性琐碎修复,不走流水线 |
432
+ | `/gdd:quick` | 临时任务,带 GDD 保证但跳过可选闸门 |
433
+
434
+ ### 首跑 + 上手
435
+
436
+ | 命令 | 作用 |
437
+ |------|------|
438
+ | `/gdd:start` | 首跑证明路径 —— 仓库内最重要的 3 个设计问题(在你 opt in 前不留 .design/ 痕迹) |
439
+ | `/gdd:new-project` | 初始化 GDD 项目(PROJECT.md + STATE.md + 第一个周期) |
440
+ | `/gdd:connections` | 12 个外部接入的引导向导 |
441
+
442
+ ### 周期生命周期
443
+
444
+ | 命令 | 作用 |
445
+ |------|------|
446
+ | `/gdd:new-cycle` | 开启新周期 |
447
+ | `/gdd:complete-cycle` | 归档周期产物 + 写每周期 EXPERIENCE.md |
448
+ | `/gdd:pause` / `/gdd:resume` | 编号 checkpoint —— 阶段中暂停,从任意 checkpoint 恢复 |
449
+ | `/gdd:continue` | `/gdd:resume` 的别名(最近的 checkpoint) |
450
+ | `/gdd:timeline` | 跨周期 + git log 的叙事性回顾 |
451
+
452
+ ### 迭代与决策
453
+
454
+ | 命令 | 作用 |
455
+ |------|------|
456
+ | `/gdd:discuss [topic]` | 自适应设计采访 —— `--all` 批量灰区,`--spec` 模糊度评分 |
457
+ | `/gdd:list-assumptions` | 在计划前曝光隐藏的设计假设 |
458
+ | `/gdd:sketch [idea]` | 多变体 HTML mockup 探索 —— 浏览器直开 |
459
+ | `/gdd:spike [idea]` | 限时可行性实验,带假设 + 结论 |
460
+ | `/gdd:sketch-wrap-up` / `/gdd:spike-wrap-up` | 把发现打包成项目本地 skill |
461
+ | `/gdd:audit` | 包装 `design-verifier` + `design-auditor` + `design-reflector`。`--retroactive` 审计完整周期 |
462
+ | `/gdd:reflect` | 按需运行 `design-reflector` —— 产出 `.design/reflections/<cycle-slug>.md` |
463
+ | `/gdd:apply-reflections` | 审核并选择性应用 reflector 提案 —— 应用前先 diff |
250
464
 
251
- ### 生命周期
465
+ ### 记忆 + 知识层
252
466
 
253
467
  | 命令 | 作用 |
254
468
  |------|------|
255
- | `/gdd:new-project` | 初始化新的 GDD 项目 |
256
- | `/gdd:new-cycle` | 开启新的设计周期 |
257
- | `/gdd:complete-cycle` | 归档当前周期 |
258
- | `/gdd:pause` / `/gdd:resume` | 会话暂停/恢复 |
469
+ | `/gdd:recall <query>` | 跨周期归档、学习、决策、EXPERIENCE.md FTS5 检索 |
470
+ | `/gdd:extract-learnings` | 从周期产物挖掘模式、决策、教训 |
471
+ | `/gdd:note <text>` | 零摩擦想法记录 —— 追加、列出、提升为 todo |
472
+ | `/gdd:plant-seed <idea>` | 带触发条件的前瞻想法 —— 在合适周期浮现 |
473
+ | `/gdd:analyze-dependencies` | Token 扇出、组件 call-graph、决策溯源、循环依赖检测 |
474
+ | `/gdd:skill-manifest` | 列出 intel store 里的所有 GDD skill 与智能体 |
475
+ | `/gdd:graphify` | 构建、查询、检视、diff 项目知识图谱 |
476
+ | `/gdd:watch-authorities` | diff 设计权威 feed 白名单 + 5 桶分类 |
259
477
 
260
- ### 独立命令(无需流水线初始化)
478
+ ### 接入
261
479
 
262
480
  | 命令 | 作用 |
263
481
  |------|------|
264
- | `/gdd:handoff` | 直接摄取 Claude Design 导出包 |
265
- | `/gdd:style` | 为单个组件生成交付文档 |
266
- | `/gdd:darkmode` | 暗色模式审计 |
267
- | `/gdd:figma-write` | 把决策写回 Figma |
268
- | `/gdd:sketch` / `/gdd:spike` | 丢弃式原型 / 技术验证 |
269
- | `/gdd:fast` / `/gdd:quick` | 轻量任务的快速路径 |
482
+ | `/gdd:figma-write` | 把设计决策写回 Figma(annotate / tokenize / roundtrip) |
483
+ | `/gdd:handoff <bundle>` | 导入 Claude Design 导出包,跳过阶段 1–3 |
484
+ | `/gdd:darkmode` | 审计暗色模式实现(CSS 自定义属性 / Tailwind dark: / JS class toggle) |
485
+ | `/gdd:compare` | 计算 DESIGN.md baseline 与 DESIGN-VERIFICATION.md 结果的差异 |
486
+ | `/gdd:style <Component>` | 生成组件交付文档(DESIGN-STYLE-[Component].md) |
270
487
 
271
- 完整命令列表运行 `/gdd:help` 查看。
488
+ ### 诊断 + 取证
489
+
490
+ | 命令 | 作用 |
491
+ |------|------|
492
+ | `/gdd:scan` | 代码库设计系统清点(不写 STATE.md) |
493
+ | `/gdd:map` | 5 个并行代码库 mapper |
494
+ | `/gdd:debug [desc]` | 症状驱动的设计调查,持久化状态 |
495
+ | `/gdd:health` | 报告 `.design/` 产物健康度 —— 陈旧、缺失、token 漂移 |
496
+ | `/gdd:progress` | 显示流水线位置;`--forensic` 跑 6 项完整性审计 |
497
+ | `/gdd:stats` | 周期统计 —— 决策、任务、commit、时间线、git 指标 |
498
+ | `/gdd:optimize` | 规则化成本分析 + tier-override 推荐 |
499
+ | `/gdd:warm-cache` | 预热所有引入 shared-preamble 的智能体的 Anthropic 缓存 |
500
+
501
+ ### 分发 + 更新
502
+
503
+ | 命令 | 作用 |
504
+ |------|------|
505
+ | `/gdd:update` | 更新 GDD,带 changelog 预览 |
506
+ | `/gdd:reapply-patches` | 结构性更新后重新拼接 `reference/` 本地修改 |
507
+ | `/gdd:check-update` | 手动检查更新 —— `--refresh` 绕过 24h TTL,`--dismiss` 隐藏提示 |
508
+ | `/gdd:settings` | 配置 `.design/config.json` —— profile / parallelism / cleanup |
509
+ | `/gdd:set-profile <profile>` | 切换模型档位(quality / balanced / budget / inherit) |
510
+ | `/gdd:undo` | 安全的设计回退 —— 用 git log + 依赖检查 |
511
+ | `/gdd:pr-branch` | 过滤 `.design/` 与 `.planning/` 提交后的干净 PR 分支 |
512
+
513
+ ### 待办 + 注释
514
+
515
+ | 命令 | 作用 |
516
+ |------|------|
517
+ | `/gdd:todo` | 添加 / 列出 / 选取设计任务 |
518
+ | `/gdd:add-backlog <idea>` | 将想法停泊到未来周期 |
519
+ | `/gdd:review-backlog` | 审视停泊项并提升到当前周期 |
520
+
521
+ ### 帮助
522
+
523
+ | 命令 | 作用 |
524
+ |------|------|
525
+ | `/gdd:help` | 完整命令列表与用法 |
526
+ | `/gdd:bandit-reset` | 在 Anthropic 模型发布时重置自适应层后验 |
527
+
528
+ ---
529
+
530
+ ## 接入
531
+
532
+ GDD 随附 12 个工具接入。全部可选;任何接入缺席时流水线会优雅降级。用 `/gdd:connections` 配置。
533
+
534
+ | 接入 | 用途 | 探针 |
535
+ |------|------|------|
536
+ | **Figma** | 读 token、组件、截图;写注释、Code Connect、实现状态 | `mcp__figma__get_metadata` + `use_figma` |
537
+ | **Refero** | 跨编录的设计参考检索 | `mcp__refero__search` |
538
+ | **Pinterest** | 品牌语调 + 风格的视觉参考 | OAuth + MCP |
539
+ | **Claude Design** | 导出包导入(`/gdd:handoff`) | URL 或本地文件 |
540
+ | **Storybook** | 6006 端口的组件规范查询 | HTTP 探测 |
541
+ | **Chromatic** | 视觉回归基线 diff | API key |
542
+ | **Preview** | Playwright + Claude Preview MCP 运行时截图 | `mcp__Claude_Preview__preview_*` |
543
+ | **paper.design** | MCP 画布读写,canvas → code → verify → canvas | `mcp__paper__use_paper` |
544
+ | **pencil.dev** | git 追踪的 `.pen` 规格 | 仓库内 `.pen` 文件 |
545
+ | **Graphify** | 知识图谱导出 | `mcp__graphify__*` |
546
+ | **21st.dev Magic** | greenfield 前的先例搜索 | `mcp__magic__search` |
547
+ | **Magic Patterns** | DS-aware 组件生成 | `mcp__magic-patterns__generate` |
548
+
549
+ 完整接入细节见 [`connections/connections.md`](connections/connections.md)。
272
550
 
273
551
  ---
274
552
 
275
553
  ## 配置
276
554
 
277
- 核心配置在 `.design/config.json`。通过 `/gdd:settings` 管理。
555
+ GDD 把项目设置存在 `.design/config.json`。在 `/gdd:new-project` 期间配置,或之后用 `/gdd:settings` 更新。
278
556
 
279
557
  ### 模型档位
280
558
 
281
- | 档位 | 规划 | 执行 | 验证 |
559
+ 控制每个智能体使用的 Claude 模型。在质量与 token 之间取舍。
560
+
561
+ | 档位 | 计划 | 执行 | 验证 |
282
562
  |------|------|------|------|
283
563
  | `quality` | Opus | Opus | Sonnet |
284
- | `balanced`(默认) | Opus | Sonnet | Sonnet |
564
+ | `balanced`(默认) | Opus | Sonnet | Sonnet |
285
565
  | `budget` | Sonnet | Sonnet | Haiku |
286
- | `inherit` | 跟随当前运行时 | 跟随 | 跟随 |
566
+ | `inherit` | Inherit | Inherit | Inherit |
287
567
 
288
- 切换档位:
568
+ 切换:
289
569
 
290
570
  ```
291
- /gdd:settings profile budget
571
+ /gdd:set-profile budget
292
572
  ```
293
573
 
294
- ### 预算与优化
574
+ 使用非 Anthropic 提供商或希望跟随运行时当前模型选择时,用 `inherit`。
575
+
576
+ ### 自适应模式
577
+
578
+ `.design/budget.json#adaptive_mode` 阶梯(v1.23.5):
579
+
580
+ | 模式 | 作用 |
581
+ |------|------|
582
+ | `static`(默认) | Phase 10.1 行为 —— 静态 D-13 tier 表 |
583
+ | `hedge` | 启用 AdaNormalHedge 集成 + MMR 重排,Bandit 路由仍读静态表。最稳妥的入门。 |
584
+ | `full` | Bandit 路由 + Hedge + MMR 全部活跃,读写 `.design/telemetry/posterior.json` |
585
+
586
+ ### 并行性
587
+
588
+ | 设置 | 默认 | 控制什么 |
589
+ |------|------|---------|
590
+ | `parallelism.enabled` | `true` | 在 worktree 中跑独立任务 |
591
+ | `parallelism.min_estimated_savings_seconds` | `30` | 低于此阈值不并行 |
592
+ | `parallelism.max_concurrent_workers` | `4` | 并行 worker 硬上限 |
295
593
 
296
- - `.design/budget.json` 里的 `per_task_cap_usd` / `per_phase_cap_usd` 由 PreToolUse `budget-enforcer` 钩子强制执行
297
- - 成本遥测写到 `.design/telemetry/costs.jsonl`
298
- - `/gdd:warm-cache` 跨所有 Agent 预热 Anthropic 的 5 分钟 prompt 缓存
299
- - `/gdd:optimize` 基于遥测与 Agent 指标给出规则化建议
594
+ ### 质量闸门
595
+
596
+ | 设置 | 默认 | 控制什么 |
597
+ |------|------|---------|
598
+ | `solidify.rollback_mode` | `"stash"` | `stash` / `hard` / `none` —— 验证失败时如何回退 |
599
+ | `solidify.commands` | 自动检测 | 覆盖 typecheck / build / test 命令 |
600
+ | `verify.iterations_max` | `3` | verify→fix 循环上限 |
601
+ | `connection.figma_writeback` | `proposal` | `proposal` / `auto` —— 写入前是否确认 |
300
602
 
301
603
  ---
302
604
 
303
- ## 故障排查
605
+ ## 安全
304
606
 
305
- **安装后找不到命令?**
306
- - 重启 Claude Code 以重新加载 skills
307
- - 用 `/gdd:help` 确认插件已注册
308
- - 确认 `~/.claude/settings.json` 里有 `enabledPlugins["get-design-done@get-design-done"]: true`
607
+ ### 内建加固
309
608
 
310
- **流水线卡住或产物缺失?**
609
+ GDD 自 Phase 14.5 起内置纵深防御:
311
610
 
611
+ - **`hooks/gdd-bash-guard.js`** —— PreToolUse:Bash 阻止约 50 种危险模式(`rm -rf /`、`chmod 777`、`curl | sh`、`git reset --hard`、fork bomb),先做 Unicode NFKC + ANSI 归一化。
612
+ - **`hooks/gdd-protected-paths.js`** —— PreToolUse:Edit/Write/Bash 强制 `protected_paths` glob 列表(默认:`reference/**`、`.design/archive/**`、`skills/**`、`commands/**`、`hooks/**`、`.design/config.json`、`.design/telemetry/**`)。
613
+ - **`hooks/gdd-read-injection-scanner.ts`** —— 扫描 Read 内容里的不可见 Unicode(零宽、word-joiner、BOM、bidi 反转)、HTML 注释、密钥外泄模式。
614
+ - **`scripts/lib/blast-radius.cjs`** —— `design-executor` 预检拒绝超过 `max_files_per_task: 10` / `max_lines_per_task: 400` 的任务。
615
+ - **`hooks/gdd-mcp-circuit-breaker.js`** —— 在 `use_figma` / `use_paper` / `use_pencil` 上打断连续超时循环。
616
+
617
+ ### 保护敏感文件
618
+
619
+ 把敏感路径加到运行时的 deny 列表:
620
+
621
+ ```json
622
+ {
623
+ "permissions": {
624
+ "deny": [
625
+ "Read(.env)",
626
+ "Read(.env.*)",
627
+ "Read(**/secrets/*)",
628
+ "Read(**/*credential*)",
629
+ "Read(**/*.pem)",
630
+ "Read(**/*.key)"
631
+ ]
632
+ }
633
+ }
312
634
  ```
313
- /gdd:health
314
- /gdd:progress --forensic
315
- ```
316
635
 
317
- Forensic 模式运行一个 6 项检查的完整性审计 —— 陈旧产物、悬空决策、未完成的 handoff、孤立 cycle、schema 漂移、injection scanner 告警。
636
+ > [!IMPORTANT]
637
+ > 因为 GDD 会生成成为 LLM 系统提示词的 markdown,任何流入 `.design/` 的用户控制文本都是潜在的间接提示注入向量。注入扫描器在多层捕获 —— 但纵深防御仍是最佳实践。
638
+
639
+ ---
640
+
641
+ ## 故障排查
318
642
 
319
- **想看 router 和 budget-enforcer 在做什么?**
643
+ **安装后命令找不到?**
644
+ - 重启运行时以重载命令/skill
645
+ - 全局 Claude Code:验证 `~/.claude/skills/get-design-done/`
646
+ - 本地安装:验证 `./.claude/skills/get-design-done/`
647
+ - `/gdd:help` 验证注册
320
648
 
321
- 在 `.design/budget.json` 里把 `enforcement_mode` 设为 `"log"` —— 钩子会把每个决策记录到 `.design/telemetry/costs.jsonl` 但不做阻断。
649
+ **流水线在某阶段卡住?**
650
+ - `/gdd:resume` —— 从最近的编号 checkpoint 恢复
651
+ - `/gdd:health` —— 诊断 `.design/` 产物问题
652
+ - `/gdd:progress --forensic` —— 6 项完整性审计
322
653
 
323
- **升级到最新版?**
654
+ **成本超支?**
655
+ - `/gdd:optimize` —— 规则化推荐
656
+ - `/gdd:set-profile budget` —— 切到预算档
657
+ - 在 `.design/budget.json` 设置 `adaptive_mode: "full"` —— bandit 会在 5–10 个周期内学到每个智能体的「便宜且正确」档位
324
658
 
325
- 见 [保持最新](#保持最新)。短版本:`npx @hegemonart/get-design-done@latest` 或 `/gdd:update`。
659
+ **升级到最新版?**
660
+ ```bash
661
+ npx @hegemonart/get-design-done@latest
662
+ ```
326
663
 
327
- ### 卸载
664
+ **Docker / 容器?**
328
665
 
329
666
  ```bash
330
- claude plugin uninstall get-design-done@get-design-done
667
+ CLAUDE_CONFIG_DIR=/workspace/.claude npx @hegemonart/get-design-done
331
668
  ```
332
669
 
333
- 若要回滚 `npx` 安装器写入的两个键,手动删除或用下面这条命令:
670
+ ### 卸载
334
671
 
335
672
  ```bash
336
- node -e "const f=require('os').homedir()+'/.claude/settings.json';const j=require(f);delete j.extraKnownMarketplaces?.['get-design-done'];delete j.enabledPlugins?.['get-design-done@get-design-done'];require('fs').writeFileSync(f,JSON.stringify(j,null,2))"
673
+ # 全局卸载(每个运行时)
674
+ npx @hegemonart/get-design-done --claude --global --uninstall
675
+ npx @hegemonart/get-design-done --opencode --global --uninstall
676
+ # ... 14 个运行时同样的 --<runtime> --global --uninstall 模式
677
+
678
+ # 多选交互式卸载(不带运行时 flag)
679
+ npx @hegemonart/get-design-done --uninstall
680
+
681
+ # 当前项目卸载
682
+ npx @hegemonart/get-design-done --claude --local --uninstall
683
+ # ... 同样的 flag 加 --local
337
684
  ```
338
685
 
339
- 这会移除所有 GDD 的 skill、agent、hook 和注册信息,同时保留你的其他配置和项目 `.design/` 产物。
686
+ 会移除所有 GDD 命令、智能体、钩子、设置,同时保留你其他配置。
340
687
 
341
688
  ---
342
689
 
343
- ## License
690
+ ## 许可证
344
691
 
345
- MIT License。详见 [LICENSE](LICENSE)。
692
+ MIT 协议。详见 [LICENSE](LICENSE)。
346
693
 
347
694
  ---
348
695
 
349
696
  <div align="center">
350
697
 
351
- **Claude Code 很强。Get Design Done 让它能把设计交付出来。**
698
+ **Claude Code 把代码交付出来。Get Design Done 让它也能把设计交付出来。**
352
699
 
353
700
  </div>