cc-devflow 2.4.6 → 4.1.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 (191) hide show
  1. package/.claude/CLAUDE.md +1065 -48
  2. package/.claude/agents/dev-implementer.md +195 -0
  3. package/.claude/commands/{flow-archive.md → flow/archive.md} +46 -11
  4. package/.claude/commands/flow/context.md +150 -0
  5. package/.claude/commands/flow/delta.md +245 -0
  6. package/.claude/commands/{flow-dev.md → flow/dev.md} +112 -11
  7. package/.claude/commands/flow/init.md +45 -0
  8. package/.claude/commands/flow/quality.md +159 -0
  9. package/.claude/commands/flow/spec.md +186 -0
  10. package/.claude/commands/flow/workspace.md +146 -0
  11. package/.claude/commands/{cancel-ralph.md → util/cancel-ralph.md} +1 -0
  12. package/.claude/config/quality-gates.yml +305 -0
  13. package/.claude/docs/guides/TEAM_MODE_GUIDE.md +313 -0
  14. package/.claude/docs/templates/DELTA_SPEC_TEMPLATE.md +91 -0
  15. package/.claude/docs/templates/DESIGN_DECISIONS_TEMPLATE.md +151 -0
  16. package/.claude/docs/templates/JOURNAL_TEMPLATE.md +75 -0
  17. package/.claude/docs/templates/_shared/CLAUDE.md +36 -0
  18. package/.claude/docs/templates/_shared/CONSTITUTION_CHECK.md +125 -0
  19. package/.claude/docs/templates/_shared/VALIDATION_CHECKLIST.md +187 -0
  20. package/.claude/docs/templates/_shared/YAML_FRONTMATTER.md +164 -0
  21. package/.claude/docs/templates/context/dev.jsonl.template +6 -0
  22. package/.claude/docs/templates/context/epic.jsonl.template +5 -0
  23. package/.claude/docs/templates/context/prd.jsonl.template +4 -0
  24. package/.claude/docs/templates/context/research.jsonl.template +4 -0
  25. package/.claude/docs/templates/context/review.jsonl.template +5 -0
  26. package/.claude/docs/templates/context/tech.jsonl.template +5 -0
  27. package/.claude/hooks/CLAUDE.md +342 -0
  28. package/.claude/hooks/inject-agent-context.ts +480 -0
  29. package/.claude/hooks/inject-skill-context.ts +359 -0
  30. package/.claude/hooks/ralph-loop.ts +931 -0
  31. package/.claude/hooks/task-completed-hook.ts +593 -0
  32. package/.claude/hooks/teammate-idle-hook.ts +690 -0
  33. package/.claude/hooks/types/team-types.d.ts +238 -0
  34. package/.claude/rules/devflow-conventions.md +82 -9
  35. package/.claude/scripts/archive-requirement.sh +44 -1
  36. package/.claude/scripts/common.sh +670 -3
  37. package/.claude/scripts/delta-parser.ts +527 -0
  38. package/.claude/scripts/detect-file-conflicts.sh +151 -0
  39. package/.claude/scripts/flow-context-add.sh +134 -0
  40. package/.claude/scripts/flow-context-init.sh +133 -0
  41. package/.claude/scripts/flow-context-validate.sh +144 -0
  42. package/.claude/scripts/flow-delta-apply.sh +297 -0
  43. package/.claude/scripts/flow-delta-archive.sh +71 -0
  44. package/.claude/scripts/flow-delta-create.sh +202 -0
  45. package/.claude/scripts/flow-delta-list.sh +142 -0
  46. package/.claude/scripts/flow-delta-status.sh +235 -0
  47. package/.claude/scripts/flow-quality-full.sh +184 -0
  48. package/.claude/scripts/flow-quality-quick.sh +64 -0
  49. package/.claude/scripts/flow-workspace-init.sh +117 -0
  50. package/.claude/scripts/flow-workspace-record.sh +164 -0
  51. package/.claude/scripts/flow-workspace-start.sh +88 -0
  52. package/.claude/scripts/get-workflow-status.sh +415 -0
  53. package/.claude/scripts/parse-task-dependencies.js +334 -0
  54. package/.claude/scripts/record-quality-error.sh +165 -0
  55. package/.claude/scripts/run-quality-gates.sh +242 -0
  56. package/.claude/scripts/team-dev-init.sh +319 -0
  57. package/.claude/scripts/team-state-recovery.sh +229 -0
  58. package/.claude/scripts/workflow-status.ts +433 -0
  59. package/.claude/settings.json +19 -0
  60. package/.claude/skills/cc-devflow-orchestrator/SKILL.md +85 -200
  61. package/.claude/skills/domain/using-git-worktrees/SKILL.md +252 -0
  62. package/.claude/skills/domain/using-git-worktrees/assets/SHELL_ALIASES.md +133 -0
  63. package/.claude/skills/domain/using-git-worktrees/context.jsonl +4 -0
  64. package/.claude/skills/domain/using-git-worktrees/scripts/worktree-cleanup.sh +218 -0
  65. package/.claude/skills/domain/using-git-worktrees/scripts/worktree-create.sh +232 -0
  66. package/.claude/skills/domain/using-git-worktrees/scripts/worktree-list.sh +130 -0
  67. package/.claude/skills/domain/using-git-worktrees/scripts/worktree-status.sh +140 -0
  68. package/.claude/skills/domain/using-git-worktrees/scripts/worktree-switch.sh +70 -0
  69. package/.claude/skills/skill-rules.json +72 -1
  70. package/.claude/skills/utility/journey-checker/SKILL.md +199 -0
  71. package/.claude/skills/utility/journey-checker/pressure-scenarios.md +164 -0
  72. package/.claude/skills/utility/skill-creator/LICENSE.txt +202 -0
  73. package/.claude/skills/utility/skill-creator/SKILL.md +356 -0
  74. package/.claude/skills/utility/skill-creator/references/output-patterns.md +82 -0
  75. package/.claude/skills/utility/skill-creator/references/workflows.md +28 -0
  76. package/.claude/skills/utility/skill-creator/scripts/init_skill.py +303 -0
  77. package/.claude/skills/utility/skill-creator/scripts/package_skill.py +110 -0
  78. package/.claude/skills/utility/skill-creator/scripts/quick_validate.py +95 -0
  79. package/.claude/skills/workflow/flow-dev/CLAUDE.md +78 -0
  80. package/.claude/skills/workflow/flow-dev/SKILL.md +96 -0
  81. package/.claude/skills/workflow/flow-dev/assets/IMPLEMENTATION_PLAN_TEMPLATE.md +71 -0
  82. package/.claude/skills/workflow/flow-dev/context.jsonl +8 -0
  83. package/.claude/skills/workflow/flow-dev/dev-implementer.jsonl +8 -0
  84. package/.claude/skills/workflow/flow-dev/scripts/entry-gate.sh +116 -0
  85. package/.claude/skills/workflow/flow-dev/scripts/exit-gate.sh +101 -0
  86. package/.claude/skills/workflow/flow-dev/scripts/task-orchestrator.sh +106 -0
  87. package/.claude/skills/workflow/flow-fix/SKILL.md +105 -0
  88. package/.claude/skills/workflow/flow-fix/context.jsonl +6 -0
  89. package/.claude/skills/workflow/flow-fix/references/bug-analyzer.md +381 -0
  90. package/.claude/skills/workflow/flow-init/SKILL.md +211 -0
  91. package/.claude/skills/workflow/flow-init/assets/BRAINSTORM_TEMPLATE.md +148 -0
  92. package/.claude/skills/workflow/flow-init/assets/INIT_FLOW_TEMPLATE.md +198 -0
  93. package/.claude/skills/workflow/flow-init/assets/RESEARCH_TEMPLATE.md +276 -0
  94. package/.claude/skills/workflow/flow-init/context.jsonl +5 -0
  95. package/.claude/skills/workflow/flow-init/references/flow-researcher.md +132 -0
  96. package/.claude/skills/workflow/flow-init/scripts/check-prerequisites.sh +232 -0
  97. package/.claude/skills/workflow/flow-init/scripts/consolidate-research.sh +182 -0
  98. package/.claude/skills/workflow/flow-init/scripts/create-requirement.sh +515 -0
  99. package/.claude/skills/workflow/flow-init/scripts/generate-research-tasks.sh +157 -0
  100. package/.claude/skills/workflow/flow-init/scripts/populate-research-tasks.sh +284 -0
  101. package/.claude/skills/workflow/flow-init/scripts/validate-research.sh +332 -0
  102. package/.claude/skills/workflow/flow-quality/SKILL.md +94 -0
  103. package/.claude/skills/workflow/flow-quality/context.jsonl +6 -0
  104. package/.claude/skills/workflow/flow-quality/references/code-quality-reviewer.md +205 -0
  105. package/.claude/skills/workflow/flow-quality/references/qa-tester.md +313 -0
  106. package/.claude/skills/workflow/flow-quality/references/security-reviewer.md +314 -0
  107. package/.claude/skills/workflow/flow-quality/references/spec-reviewer.md +221 -0
  108. package/.claude/skills/workflow/flow-release/SKILL.md +126 -0
  109. package/.claude/skills/workflow/flow-release/context.jsonl +7 -0
  110. package/.claude/skills/workflow/flow-release/references/release-manager.md +295 -0
  111. package/.claude/skills/workflow/flow-spec/CLAUDE.md +103 -0
  112. package/.claude/skills/workflow/flow-spec/SKILL.md +545 -0
  113. package/.claude/skills/workflow/flow-spec/context.jsonl +7 -0
  114. package/.claude/skills/workflow/flow-spec/scripts/entry-gate.sh +194 -0
  115. package/.claude/skills/workflow/flow-spec/scripts/exit-gate.sh +244 -0
  116. package/.claude/skills/workflow/flow-spec/scripts/parallel-orchestrator.sh +205 -0
  117. package/.claude/skills/workflow/flow-spec/scripts/team-communication.sh +353 -0
  118. package/.claude/skills/workflow/flow-spec/scripts/team-init.sh +195 -0
  119. package/.claude/skills/workflow/flow-spec/scripts/test-team-mode.sh +496 -0
  120. package/.claude/skills/workflow/flow-spec/team-config.json +165 -0
  121. package/.claude/skills/workflow.yaml +417 -0
  122. package/CHANGELOG.md +254 -0
  123. package/README.md +193 -33
  124. package/README.zh-CN.md +206 -46
  125. package/lib/compiler/CLAUDE.md +77 -46
  126. package/lib/compiler/__tests__/multi-module-emitters.test.js +508 -0
  127. package/lib/compiler/context-expander.js +179 -0
  128. package/lib/compiler/emitters/antigravity-emitter.js +195 -5
  129. package/lib/compiler/emitters/base-emitter.js +217 -2
  130. package/lib/compiler/emitters/codex-emitter.js +200 -4
  131. package/lib/compiler/emitters/cursor-emitter.js +307 -3
  132. package/lib/compiler/emitters/qwen-emitter.js +196 -4
  133. package/lib/compiler/index.js +197 -2
  134. package/lib/compiler/platforms.js +270 -21
  135. package/package.json +1 -1
  136. package/.claude/commands/flow-epic.md +0 -183
  137. package/.claude/commands/flow-init.md +0 -370
  138. package/.claude/commands/flow-prd.md +0 -144
  139. package/.claude/commands/flow-qa.md +0 -93
  140. package/.claude/commands/flow-review.md +0 -257
  141. package/.claude/commands/flow-tech.md +0 -142
  142. package/.claude/commands/flow-ui.md +0 -189
  143. package/.claude/skills/file-header-guardian/SKILL.md +0 -56
  144. package/.claude/skills/skill-developer/ADVANCED.md +0 -197
  145. package/.claude/skills/skill-developer/HOOK_MECHANISMS.md +0 -306
  146. package/.claude/skills/skill-developer/PATTERNS_LIBRARY.md +0 -152
  147. package/.claude/skills/skill-developer/SKILL.md +0 -426
  148. package/.claude/skills/skill-developer/SKILL_RULES_REFERENCE.md +0 -315
  149. package/.claude/skills/skill-developer/TRIGGER_TYPES.md +0 -305
  150. package/.claude/skills/skill-developer/TROUBLESHOOTING.md +0 -514
  151. package/.claude/skills/writing-skills/SKILL.md +0 -655
  152. package/.claude/skills/writing-skills/anthropic-best-practices.md +0 -1150
  153. package/.claude/skills/writing-skills/examples/CLAUDE_MD_TESTING.md +0 -189
  154. package/.claude/skills/writing-skills/graphviz-conventions.dot +0 -172
  155. package/.claude/skills/writing-skills/persuasion-principles.md +0 -187
  156. package/.claude/skills/writing-skills/render-graphs.js +0 -168
  157. package/.claude/skills/writing-skills/testing-skills-with-subagents.md +0 -384
  158. package/.claude/tsc-cache/795ba6e3-b98a-423b-bab2-51aa62812569/affected-repos.txt +0 -1
  159. package/.claude/tsc-cache/ae335694-be5a-4ba4-a1a0-b676c09a7906/affected-repos.txt +0 -1
  160. /package/.claude/commands/{core-architecture.md → core/architecture.md} +0 -0
  161. /package/.claude/commands/{core-guidelines.md → core/guidelines.md} +0 -0
  162. /package/.claude/commands/{core-roadmap.md → core/roadmap.md} +0 -0
  163. /package/.claude/commands/{core-style.md → core/style.md} +0 -0
  164. /package/.claude/commands/{flow-checklist.md → flow/checklist.md} +0 -0
  165. /package/.claude/commands/{flow-clarify.md → flow/clarify.md} +0 -0
  166. /package/.claude/commands/{flow-constitution.md → flow/constitution.md} +0 -0
  167. /package/.claude/commands/{flow-fix.md → flow/fix.md} +0 -0
  168. /package/.claude/commands/{flow-ideate.md → flow/ideate.md} +0 -0
  169. /package/.claude/commands/{flow-new.md → flow/new.md} +0 -0
  170. /package/.claude/commands/{flow-release.md → flow/release.md} +0 -0
  171. /package/.claude/commands/{flow-restart.md → flow/restart.md} +0 -0
  172. /package/.claude/commands/{flow-status.md → flow/status.md} +0 -0
  173. /package/.claude/commands/{flow-update.md → flow/update.md} +0 -0
  174. /package/.claude/commands/{flow-upgrade.md → flow/upgrade.md} +0 -0
  175. /package/.claude/commands/{flow-verify.md → flow/verify.md} +0 -0
  176. /package/.claude/commands/{code-review-high.md → util/code-review.md} +0 -0
  177. /package/.claude/commands/{git-commit.md → util/git-commit.md} +0 -0
  178. /package/.claude/commands/{problem-analyzer.md → util/problem-analyzer.md} +0 -0
  179. /package/.claude/skills/{flow-attention-refresh → domain/attention-refresh}/SKILL.md +0 -0
  180. /package/.claude/skills/{flow-brainstorming → domain/brainstorming}/SKILL.md +0 -0
  181. /package/.claude/skills/{flow-debugging → domain/debugging}/SKILL.md +0 -0
  182. /package/.claude/skills/{flow-finishing-branch → domain/finishing-branch}/SKILL.md +0 -0
  183. /package/.claude/skills/{flow-receiving-review → domain/receiving-review}/SKILL.md +0 -0
  184. /package/.claude/skills/{flow-tdd → domain/tdd}/SKILL.md +0 -0
  185. /package/.claude/skills/{verification-before-completion → domain/verification}/SKILL.md +0 -0
  186. /package/.claude/skills/{constitution-guardian → guardrail/constitution-guardian}/SKILL.md +0 -0
  187. /package/.claude/skills/{devflow-tdd-enforcer → guardrail/tdd-enforcer}/SKILL.md +0 -0
  188. /package/.claude/skills/{devflow-constitution-quick-ref → utility/constitution-quick-ref}/SKILL.md +0 -0
  189. /package/.claude/skills/{devflow-file-standards → utility/file-standards}/SKILL.md +0 -0
  190. /package/.claude/skills/{fractal-docs-generator → utility/fractal-docs}/SKILL.md +0 -0
  191. /package/.claude/skills/{npm-release → utility/npm-release}/SKILL.md +0 -0
@@ -1,370 +0,0 @@
1
- ---
2
- name: flow-init
3
- description: 'Initialize requirement structure. Usage: /flow-init "REQ-123|Title|URLs"'
4
- scripts:
5
- create: .claude/scripts/create-requirement.sh
6
- prereq: .claude/scripts/check-prerequisites.sh
7
- research_tasks: .claude/scripts/generate-research-tasks.sh
8
- populate_tasks: .claude/scripts/populate-research-tasks.sh
9
- consolidate: .claude/scripts/consolidate-research.sh
10
- validate_research: .claude/scripts/validate-research.sh
11
- templates:
12
- flow: .claude/docs/templates/INIT_FLOW_TEMPLATE.md
13
- research: .claude/docs/templates/RESEARCH_TEMPLATE.md
14
- brainstorm: .claude/docs/templates/BRAINSTORM_TEMPLATE.md
15
- guides:
16
- troubleshoot: .claude/docs/guides/INIT_TROUBLESHOOTING.md
17
- skills:
18
- brainstorming: .claude/skills/flow-brainstorming/SKILL.md
19
- ---
20
-
21
- <!-- ============================================================
22
- 头文件引用语法规范 (Header File Reference Syntax)
23
- ============================================================
24
-
25
- 命令头文件格式:
26
- ```yaml
27
- scripts:
28
- create: .claude/scripts/create-requirement.sh
29
- templates:
30
- flow: .claude/docs/templates/INIT_FLOW_TEMPLATE.md
31
- guides:
32
- troubleshoot: .claude/docs/guides/INIT_TROUBLESHOOTING.md
33
- ```
34
-
35
- 引用语法:
36
- - {SCRIPT:create} → 执行 .claude/scripts/create-requirement.sh
37
- - {TEMPLATE:flow} → 加载 .claude/docs/templates/INIT_FLOW_TEMPLATE.md
38
- - {GUIDE:troubleshoot} → 参考 .claude/docs/guides/INIT_TROUBLESHOOTING.md
39
-
40
- 使用案例:
41
- ```markdown
42
- # 正文中遇到:
43
- → Run: {SCRIPT:create} "REQ-123" --title "User Auth"
44
- # 解释为:
45
- → 执行命令: bash .claude/scripts/create-requirement.sh "REQ-123" --title "User Auth"
46
-
47
- # 正文中遇到:
48
- → 详见 {TEMPLATE:flow} Stage 2.5
49
- # 解释为:
50
- → 打开并阅读 .claude/docs/templates/INIT_FLOW_TEMPLATE.md 中的 Stage 2.5 章节
51
-
52
- # 正文中遇到:
53
- → 遇到问题参考 {GUIDE:troubleshoot}
54
- # 解释为:
55
- → 打开并阅读 .claude/docs/guides/INIT_TROUBLESHOOTING.md
56
- ```
57
-
58
- 规则: 遇到 {TYPE:key} 占位符时,去头文件 YAML 中找对应类型的 key,获取文件路径并执行/加载。
59
- ============================================================ -->
60
-
61
- # Flow-Init - 需求初始化命令
62
-
63
- ## User Input
64
- ```text
65
- $ARGUMENTS = "REQ_ID|TITLE|PLAN_URLS?" 或 --interactive
66
- ```
67
-
68
- **格式**:
69
- - REQ_ID: `^(REQ|BUG)-[0-9]+$` (例如: REQ-123, BUG-456)
70
- - TITLE: 需求简短标题
71
- - PLAN_URLS: 计划文档URL,多个用逗号分隔 (可选)
72
-
73
- **示例**:
74
- ```
75
- /flow-init "REQ-123|User Authentication"
76
- /flow-init "REQ-124|数据导出|https://docs.example.com/export-spec.md"
77
- /flow-init --interactive
78
- ```
79
-
80
- ---
81
-
82
- ## 执行前加载
83
-
84
- **详细流程**:
85
- → 参见 `{TEMPLATE:flow}` 获取完整执行流程
86
-
87
- **研究模板**:
88
- → 参见 `{TEMPLATE:research}` 了解研究文档格式
89
-
90
- **故障排查**:
91
- → 遇到问题参考 `{GUIDE:troubleshoot}`
92
-
93
- ---
94
-
95
- ## 执行流程
96
-
97
- ### Stage 1: Entry Gate (参数验证)
98
-
99
- ```
100
- 1. 解析参数: REQ_ID|TITLE|PLAN_URLS
101
- → 验证 REQ_ID 格式: ^(REQ|BUG)-[0-9]+$
102
- → 提取 TITLE 和 PLAN_URLS
103
- → 若 TITLE 含中文/非ASCII,使用模型意译生成 BRANCH_TITLE_EN(英文语义翻译,禁止拼音/音译)
104
- → BRANCH_TITLE_EN 仅用于分支名,文档标题仍使用原始 TITLE
105
- → 若意译不确定或未生成 ASCII 结果,向用户确认英文分支标题
106
-
107
- 2. 前置条件检查
108
- → Run: {SCRIPT:prereq} --json --paths-only
109
- → 检查 Git 状态是否干净
110
- → 验证 devflow/ 目录存在
111
-
112
- 3. 目录唯一性检查
113
- → 确认 devflow/requirements/${REQ_ID}/ 不存在
114
- → 如果存在 → ERROR (使用 --force 强制覆盖)
115
-
116
- 4. 验证通过 → 继续 Stage 1.5
117
- ```
118
-
119
- ---
120
-
121
- ### Stage 1.2: Git Branch Creation
122
-
123
- ```
124
- 创建功能分支:
125
- → Requirements: feature/${REQ_ID}-${slug(BRANCH_TITLE_EN)}
126
- → Bug Fixes: bugfix/${BUG_ID}-${slug(BRANCH_TITLE_EN)}
127
-
128
- Where BRANCH_TITLE_EN = TITLE 的英文意译 (语义为准,非拼音,使用模型意译)
129
- slug() = lowercase, replace spaces/special chars with hyphens
130
- ```
131
-
132
- ---
133
-
134
- ### Stage 1.5: Context Loading (路线图与架构)
135
-
136
- **目标**: 理解需求在项目中的位置
137
-
138
- ```
139
- 检查 ROADMAP.md 和 ARCHITECTURE.md:
140
- → 如果存在: 加载上下文,展示需求位置
141
- → 如果不存在: 提示可选运行 /core-roadmap
142
-
143
- → 详见 {TEMPLATE:flow} Stage 1.5
144
- ```
145
-
146
- **输出**: 显示需求在路线图和架构中的位置 (如果可用)
147
-
148
- ---
149
-
150
- ### Stage 2: Directory Initialization
151
-
152
- ```
153
- 创建需求目录结构:
154
- → Run: {SCRIPT:create} "${REQ_ID}" --title "${TITLE}" --branch-title "${BRANCH_TITLE_EN}" --json (如有)
155
-
156
- 生成文件:
157
- - devflow/requirements/${REQ_ID}/README.md
158
- - devflow/requirements/${REQ_ID}/EXECUTION_LOG.md
159
- - devflow/requirements/${REQ_ID}/orchestration_status.json
160
- - devflow/requirements/${REQ_ID}/research/ (目录)
161
-
162
- → 详见 {TEMPLATE:flow} Stage 2
163
- ```
164
-
165
- ---
166
-
167
- ### Stage 2.3: Brainstorming (North Star Capture)
168
-
169
- **目标**: 捕捉需求的原始意图,确保后续流程有明确的「北极星」可追溯
170
-
171
- **Iron Law**: `NO FLOW EXECUTION WITHOUT BRAINSTORM ALIGNMENT`
172
-
173
- ```
174
- 触发 flow-brainstorming skill:
175
- → 参见 {SKILL:brainstorming} 了解完整流程
176
-
177
- 执行步骤:
178
- 1. Understanding the Idea
179
- → 一次问一个问题,不要压垮用户
180
- → 优先多选题,更容易回答
181
- → 理解: 目的、约束、成功标准
182
-
183
- 2. Exploring Approaches
184
- → 提出 2-3 种方案及取舍
185
- → 给出推荐方案和理由
186
- → 让用户做最终决策
187
-
188
- 3. Presenting the Design
189
- → 分段呈现设计 (200-300 字/段)
190
- → 每段后确认是否正确
191
- → 涵盖: 架构、组件、数据流、测试
192
-
193
- 4. Documentation
194
- → 使用 {TEMPLATE:brainstorm} 模板
195
- → 输出: devflow/requirements/${REQ_ID}/BRAINSTORM.md
196
- → 必须包含: 原始需求、核心问题、成功标准、方案探索、最终决策
197
-
198
- Rationalization Prevention:
199
- | Excuse | Reality |
200
- |--------|---------|
201
- | "需求已经很清楚了" | Brainstorm 确保没有遗漏假设 |
202
- | "用户赶时间" | 头脑风暴节省后续返工时间 |
203
- | "这是小需求" | 小需求也有核心问题和成功标准 |
204
-
205
- Red Flags - STOP:
206
- → 跳过问问题直接开始做
207
- → 没有记录方案取舍就选定
208
- → 没有写 BRAINSTORM.md 就进入下一阶段
209
- ```
210
-
211
- **输出**: `devflow/requirements/${REQ_ID}/BRAINSTORM.md`
212
-
213
- **验证**:
214
- - [ ] BRAINSTORM.md 存在
215
- - [ ] 包含「原始需求」章节 (用户原话)
216
- - [ ] 包含「成功标准」章节
217
- - [ ] 包含「方案探索」章节 (2-3种)
218
- - [ ] 包含「最终决策」章节
219
-
220
- ---
221
-
222
- ### Stage 2.5: Research (Subagent Mandatory)
223
-
224
- **目标**: 研究默认必跑,但将“研究型内容”隔离到 subagent,避免主会话上下文耗尽。
225
-
226
- **Iron Law**: 大内容落盘,主会话只返回「决策摘要 + 文件路径」。
227
-
228
- #### ✅ Mandatory: Call `flow-researcher` Subagent
229
-
230
- > subagent 负责内部/外部研究、落盘、任务回填、研究整合与质量验证;主 agent 只做编排与最终 Gate。
231
-
232
- ```
233
- Task tool call:
234
- description: "Run mandatory research for /flow-init (file-based memory)"
235
- subagent_type: "flow-researcher"
236
- model: "inherit"
237
- prompt: (JSON)
238
- {
239
- "reqId": "${REQ_ID}",
240
- "reqDir": "devflow/requirements/${REQ_ID}",
241
- "title": "${TITLE}",
242
- "planUrls": ["..."],
243
- "contextFiles": {
244
- "brainstorm": "devflow/requirements/${REQ_ID}/BRAINSTORM.md",
245
- "roadmap": "devflow/ROADMAP.md",
246
- "architecture": "devflow/ARCHITECTURE.md"
247
- }
248
- }
249
- ```
250
-
251
- **期望输出** (由 subagent 写入):
252
- - `devflow/requirements/${REQ_ID}/research/internal/codebase-overview.md`
253
- - `devflow/requirements/${REQ_ID}/research/mcp/$(date +%Y%m%d)/**`
254
- - `devflow/requirements/${REQ_ID}/research/research-summary.md`
255
- - `devflow/requirements/${REQ_ID}/research/tasks.json` (decision/rationale/alternatives 完整)
256
- - `devflow/requirements/${REQ_ID}/research/research.md` (可通过 validate-research)
257
-
258
- ---
259
-
260
- ### Stage 2.6: Research Consolidation
261
-
262
- > 该阶段由 `flow-researcher` subagent 执行(包含 tasks 生成/回填/整合/校验)。
263
-
264
- 主 agent 在 Exit Gate 中只做最终验证与状态更新:
265
- - Run: `{SCRIPT:validate_research} "${REQ_DIR}" --strict`
266
- - `orchestration_status.json.phase0_complete = true`
267
-
268
- ---
269
- ### Stage 3: README Generation
270
-
271
- ```
272
- 生成工作流指南:
273
- → devflow/requirements/${REQ_ID}/README.md
274
- → 包含: 需求概述、工作流步骤、检查清单
275
- ```
276
-
277
- ---
278
-
279
- ### Stage 4: Exit Gate (5-Level Quality Check)
280
-
281
- **5层验证**:
282
-
283
- ```
284
- Level 1: File Existence Check
285
- → 验证所有必需文件已创建
286
-
287
- Level 2: Research.md Structure Validation
288
- → Run: {SCRIPT:validate_research} "${REQ_DIR}" --strict
289
- → 检查 research.md 结构
290
-
291
- Level 3: Research.md Content Quality
292
- → 无 TODO/FIXME/{{PLACEHOLDER}} 标记
293
- → 每个 Decision block 完整
294
-
295
- Level 4: Research Tasks Validation
296
- → 验证 tasks.json 格式和内容
297
-
298
- Level 5: Git & Status & Constitution
299
- → Git 分支创建成功
300
- → orchestration_status.json 正确
301
- → Constitution 符合性检查
302
-
303
- → 详见 {TEMPLATE:flow} Stage 4
304
- ```
305
-
306
- ---
307
-
308
- ## 输出产物
309
-
310
- ### Requirements
311
-
312
- ```
313
- devflow/requirements/${REQ_ID}/
314
- ├── README.md
315
- ├── BRAINSTORM.md # 需求的北极星 (Stage 2.3)
316
- ├── research/
317
- │ ├── internal/
318
- │ │ └── codebase-overview.md
319
- │ ├── mcp/
320
- │ │ └── $(date +%Y%m%d)/
321
- │ │ ├── official/
322
- │ │ ├── guides/
323
- │ │ ├── tutorials/
324
- │ │ └── examples/
325
- │ ├── research.md
326
- │ ├── research-summary.md
327
- │ └── tasks.json
328
- ├── EXECUTION_LOG.md
329
- └── orchestration_status.json
330
- ```
331
-
332
- ### Git
333
-
334
- - **Branch**: `feature/${REQ_ID}-${slug(BRANCH_TITLE_EN)}`
335
- - **Status**: orchestration_status.json.status = "initialized"
336
- - **Phase**: orchestration_status.json.phase = "planning"
337
-
338
- ---
339
-
340
- ## 错误处理
341
-
342
- **常见错误**:
343
- → 详见 `{GUIDE:troubleshoot}`
344
-
345
- **主要错误场景**:
346
- 1. Invalid REQ_ID format → 检查格式
347
- 2. REQ_ID already exists → 使用不同 ID 或 --force
348
- 3. Git status not clean → commit/stash changes
349
- 4. Research validation failed → 手动补充 research.md
350
- 5. MCP fetch failed → 继续但标记待补项
351
-
352
- **恢复步骤**:
353
- → 详见 `{GUIDE:troubleshoot}` Recovery Procedures
354
-
355
- ---
356
-
357
- ## Next Step
358
-
359
- ```
360
- /flow-prd "${REQ_ID}"
361
- ```
362
-
363
- 生成产品需求文档
364
-
365
- ---
366
-
367
- **Related Documentation**:
368
- - [INIT_FLOW_TEMPLATE.md](../.claude/docs/templates/INIT_FLOW_TEMPLATE.md) - 详细执行流程
369
- - [INIT_TROUBLESHOOTING.md](../.claude/docs/guides/INIT_TROUBLESHOOTING.md) - 故障排查指南
370
- - [RESEARCH_TEMPLATE.md](../.claude/docs/templates/RESEARCH_TEMPLATE.md) - 研究模板格式
@@ -1,144 +0,0 @@
1
- ---
2
- name: flow-prd
3
- description: 'Generate Product Requirements Document. Usage: /flow-prd "REQ-123" or /flow-prd'
4
- scripts:
5
- prereq: .claude/scripts/check-prerequisites.sh
6
- validate_research: .claude/scripts/validate-research.sh
7
- validate_constitution: .claude/scripts/validate-constitution.sh
8
- verify_gate: .claude/scripts/verify-gate.sh
9
- ---
10
-
11
- # Flow-PRD - PRD 生成命令
12
-
13
- ## User Input
14
- ```text
15
- $ARGUMENTS = "REQ_ID?"
16
- ```
17
- 若未提供则根据当前分支或 `DEVFLOW_REQ_ID` 自动解析。
18
-
19
- ## 命令格式
20
- ```text
21
- /flow-prd "REQ_ID"
22
- /flow-prd # Auto-detect from current branch
23
- ```
24
-
25
- ## 执行流程
26
-
27
- ### 阶段 1: Entry Gate
28
- ```
29
- 1. 解析 REQ_ID
30
- → If argument provided: use it
31
- → Else: run {SCRIPT:prereq} --json --paths-only
32
- → If仍为空: ERROR "No requirement ID found."
33
-
34
- 2. Brainstorm Alignment Check (新增)
35
- → 读取 devflow/requirements/${REQ_ID}/BRAINSTORM.md
36
- → 验证存在且包含必需章节:
37
- • 原始需求
38
- • 核心问题定义
39
- • 成功标准
40
- • 方案探索
41
- • 最终决策
42
- → 缺少 BRAINSTORM.md → ERROR "BRAINSTORM.md missing. Run /flow-init brainstorming."
43
- → 加载「原始意图」作为 PRD 生成的北极星
44
-
45
- 3. 校验目录
46
- → 使用 {SCRIPT:prereq} --json 获取路径
47
- → 必须存在:
48
- • devflow/requirements/${REQ_ID}/
49
- • BRAINSTORM.md
50
- • EXECUTION_LOG.md
51
- • orchestration_status.json (phase0_complete == true)
52
- • research/research.md
53
- • research/tasks.json
54
- → 缺少任何研究产物 → ERROR "Research artifacts missing. Run /flow-init consolidation."
55
-
56
- **研究材料质量验证** (新增 - 2025-01-26):
57
- → Run: {SCRIPT:validate_research} "${REQ_DIR}" --strict
58
- → 验证 research.md 质量(5-Level 检查):
59
- • LEVEL 1: research.md 文件存在
60
- • LEVEL 2: 必需章节完整 (Research Summary, Decisions)
61
- • LEVEL 3: 无 TODO/PLACEHOLDER 占位符
62
- • LEVEL 4: tasks.json 格式有效
63
- • LEVEL 5: Constitution 合规
64
- → 验证失败 → ERROR "research.md quality check failed. Fix issues before /flow-prd."
65
-
66
- **CRITICAL**: 如果 research.md 包含 "TODO - fill decision outcome",
67
- 说明 /flow-init 的研究任务未完成。prd-writer 无法使用不完整的研究材料。
68
-
69
- **Fix Options**:
70
- 1. 手动填充 research/tasks.json 的 decision/rationale/alternatives 字段
71
- 2. 重新运行 consolidate-research.sh
72
- 3. 直接编辑 research/research.md 补充决策内容
73
- 4. 参考 .claude/docs/templates/RESEARCH_TEMPLATE.md 模板
74
-
75
- 4. PRD 覆盖提示
76
- → 若 PRD.md 已存在 → WARN 并确认是否覆盖
77
-
78
- 5. 状态校验
79
- → orchestration_status.status ∈ {"initialized", "prd_generation_failed"}
80
- → 否则提示按流程顺序执行
81
- ```
82
-
83
- ### 阶段 2: 生成准备
84
- ```
85
- 1. Load PRD 模板 (.claude/docs/templates/PRD_TEMPLATE.md)
86
- 2. 汇总上下文:
87
- → research/research.md(Decision/Rationale/Alternatives)
88
- → research/internal/codebase-overview.md
89
- → research/mcp/*.md(如有)
90
- 3. 更新 orchestration_status:
91
- → status = "prd_generation_in_progress"
92
- → phase = "planning"
93
- 4. EXECUTION_LOG.md 记录启动条目
94
- ```
95
-
96
- ### 阶段 3: 调用 prd-writer Agent
97
- ```
98
- Prompt 关键要点:
99
- - 输入: REQ_ID, Title, research 集合, PRD 模板
100
- - 要求:
101
- • 按模板 Execution Flow 输出背景、目标、用户故事 (GWT)、NFR、技术约束、成功指标
102
- • 记录 Constitution Check,确保无硬编码密钥、无部分实现
103
- • 验证清单必须填写
104
- - 输出: 完整 PRD.md
105
- - 日志: log_event "${REQ_ID}" "PRD generation completed"
106
- ```
107
-
108
- ### 阶段 4: Exit Gate
109
- ```
110
- 1. 文件存在
111
- → PRD.md 必须生成
112
-
113
- 2. 结构检查
114
- → 无 {{PLACEHOLDER}}
115
- → 包含: 背景/目标、用户故事+GWT、NFR、技术约束、成功指标、Constitution Check、验证清单
116
-
117
- 3. 宪法校验
118
- → Run: {SCRIPT:validate_constitution} --type prd --severity warning
119
- → 出现 ERROR 级违规时终止
120
-
121
- 4. 状态更新
122
- → orchestration_status:
123
- status = "prd_complete"
124
- phase = "epic_planning"
125
- completedSteps append "prd"
126
- → EXECUTION_LOG.md 记录完成
127
- ```
128
-
129
- ## 输出
130
- ```
131
- ✅ PRD.md (≥100 行、完整模板)
132
- ✅ orchestration_status.json 更新 (prd_complete)
133
- ✅ EXECUTION_LOG.md 记录
134
- ```
135
-
136
- ## 错误处理
137
- - 缺少研究产物 → 返回指令让用户重复 `/flow-init` consolidation。
138
- - PRD 生成失败 → 将 status 设为 `prd_generation_failed`,方便重试。
139
- - 宪法检查失败 → 显示违规列表并终止,待修复后重跑。
140
-
141
- ## 下一步
142
- 1. 审阅 PRD.md,确认需求准确。
143
- 2. 运行 `/flow-tech` 生成技术方案及 data-model/contracts/quickstart。
144
- 3. 使用 `/flow-epic` 做 Epic/TASKS 规划。
@@ -1,93 +0,0 @@
1
- ---
2
- name: flow-qa
3
- description: 'Execute quality assurance and security review. Usage: /flow-qa "REQ-123" or /flow-qa'
4
- scripts:
5
- prereq: .claude/scripts/check-prerequisites.sh
6
- check_tasks: .claude/scripts/check-task-status.sh
7
- validate_constitution: .claude/scripts/validate-constitution.sh
8
- ---
9
-
10
- # Flow-QA - 质量保证命令
11
-
12
- ## User Input
13
- ```text
14
- $ARGUMENTS = "REQ_ID?"
15
- ```
16
- 未提供则根据当前分支或 `DEVFLOW_REQ_ID` 自动解析。
17
-
18
- ## 执行流程
19
-
20
- ### 阶段 1: Entry Gate
21
- ```
22
- 1. 解析 REQ_ID
23
- 2. {SCRIPT:prereq} --json 验证:
24
- → 存在 PRD.md、TECH_DESIGN.md、data-model.md、contracts/、quickstart.md、EPIC.md、TASKS.md
25
- → orchestration_status.status ∈ {"development_complete", "qa_failed"}
26
- → phase1_complete == true
27
- 3. {SCRIPT:check_tasks} --json 确认 remaining == 0
28
- 4. quickstart.md 中的测试命令必须全部通过(先 dry-run)
29
- 5. TEST_REPORT.md / SECURITY_REPORT.md 已存在时提示是否覆盖
30
- ```
31
-
32
- ### 阶段 2: QA 准备
33
- ```
34
- 1. 执行 quickstart 中的覆盖率命令(如有)
35
- 2. 收集上下文:
36
- → PRD 用户故事、验收标准
37
- → TECH_DESIGN 决策(安全、性能)
38
- → data-model / contracts
39
- → TASKS DoD、提交记录
40
- 3. 更新 orchestration_status:
41
- → status = "qa_in_progress"
42
- → phase = "quality_assurance"
43
- 4. EXECUTION_LOG.md 记录 QA 启动(含测试覆盖率)
44
- ```
45
-
46
- ### 阶段 3: Agents
47
- ```
48
- 1. qa-tester
49
- → 输入: PRD, TECH_DESIGN, TASKS, test results, coverage
50
- → 产出: TEST_PLAN.md (如缺失) / TEST_REPORT.md
51
- → 覆盖内容: 覆盖率、TDD 合规、AC 覆盖、DoD 复核、缺失测试建议
52
-
53
- 2. security-reviewer
54
- → 输入: TECH_DESIGN 安全节、contracts、实现 diff、ENV/secret 配置
55
- → 产出: SECURITY_PLAN.md (如缺失) / SECURITY_REPORT.md
56
- → 检查: 认证/授权、输入验证、敏感信息、依赖风险、基础设施配置
57
-
58
- 3. 可选: performance-reviewer(若 TECH_DESIGN 有性能方案)
59
- ```
60
-
61
- ### 阶段 4: Exit Gate
62
- ```
63
- 1. 验证报告存在:
64
- → TEST_REPORT.md、SECURITY_REPORT.md
65
- 2. 质量结论:
66
- → 所有 gate (Coverage、TDD、Security) 均为 PASS;否则状态设为 qa_failed
67
- 3. 宪法检查:
68
- → {SCRIPT:validate_constitution} --type qa --severity warning
69
- 4. 状态更新:
70
- → orchestration_status.status = "qa_complete"
71
- → completedSteps append "qa"
72
- → lastQaAt = timestamp
73
- 5. EXECUTION_LOG 记录完成
74
- ```
75
-
76
- ## 输出
77
- ```
78
- ✅ TEST_REPORT.md
79
- ✅ SECURITY_REPORT.md
80
- ✅ (可选)PERFORMANCE_REPORT.md
81
- ✅ orchestration_status.json 更新 (qa_complete)
82
- ✅ EXECUTION_LOG.md QA 记录
83
- ```
84
-
85
- ## 错误处理
86
- - quickstart 测试失败 → 返回错误并保持 qa_failed。
87
- - 报告中存在 BLOCKER → 阶段终止,需返回 `/flow-dev` 修复。
88
- - Constitution 违规 → 将问题标记为阻断项。
89
-
90
- ## 下一步
91
- 1. 处理 QA 报告中的问题(若有)。
92
- 2. 确认验证通过后运行 `/flow-release`。
93
- 3. 将报告随 PR 一并提交,供代码审阅与发布审批使用。