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
@@ -0,0 +1,94 @@
1
+ ---
2
+ name: flow-quality
3
+ description: 'Combined quality verification (replaces flow-review + flow-qa). Usage: /flow-quality [REQ-ID] [--full]'
4
+ version: 3.0.0
5
+ ---
6
+
7
+ # Flow-Quality Skill
8
+
9
+ > [PROTOCOL]: 变更时更新此头部,然后检查 CLAUDE.md
10
+
11
+ ## Purpose
12
+
13
+ 合并的质量验证命令,替代 `/flow-review` 和 `/flow-qa`。
14
+
15
+ ## Input Format
16
+
17
+ ```
18
+ /flow-quality [REQ-ID] # Quick mode (default)
19
+ /flow-quality [REQ-ID] --full # Full mode
20
+ ```
21
+
22
+ ## Modes
23
+
24
+ ### Quick Mode (Default)
25
+
26
+ 快速程序化验证:
27
+ 1. Lint Check - `npm run lint`
28
+ 2. Type Check - `npm run typecheck`
29
+ 3. Unit Tests - `npm test`
30
+
31
+ **Duration**: ~1-2 分钟
32
+
33
+ ### Full Mode (`--full`)
34
+
35
+ 全面审查:
36
+ 1. 程序化检查 (同 Quick)
37
+ 2. Spec Compliance Review
38
+ 3. Code Quality Review
39
+ 4. Security Scan
40
+ 5. Integration Tests
41
+
42
+ **Duration**: ~5-10 分钟
43
+
44
+ ## Entry Gate
45
+
46
+ 1. **development_complete**: true
47
+ 2. **TASKS.md**: 所有任务标记 [x]
48
+ 3. **Tests**: 全部通过
49
+
50
+ ## Exit Gate
51
+
52
+ ### Quick Mode
53
+ - lint: pass
54
+ - typecheck: pass
55
+ - tests: pass
56
+
57
+ ### Full Mode
58
+ - lint: pass
59
+ - typecheck: pass
60
+ - tests: pass
61
+ - spec_review: PASS
62
+ - code_quality: PASS
63
+ - security: no high-severity issues
64
+
65
+ ## Output
66
+
67
+ ### Quick Mode
68
+ ```
69
+ ✅ Quality Gate PASSED (Quick Mode)
70
+ ✓ Lint Check
71
+ ✓ Type Check
72
+ ✓ Unit Tests
73
+ ```
74
+
75
+ ### Full Mode
76
+ ```
77
+ ✅ Quality Gate PASSED (Full Mode)
78
+ Reports Generated:
79
+ - SPEC_REVIEW.md
80
+ - CODE_QUALITY_REVIEW.md
81
+ - SECURITY_REPORT.md
82
+ ```
83
+
84
+ ## Deprecation Notice
85
+
86
+ v3.0 废弃命令:
87
+ - `/flow-review` → 使用 `/flow-quality --full`
88
+ - `/flow-qa` → 使用 `/flow-quality --full`
89
+
90
+ ## Next Step
91
+
92
+ ```
93
+ /flow-release "${REQ_ID}"
94
+ ```
@@ -0,0 +1,6 @@
1
+ {"file": "devflow/requirements/{REQ}/TASKS.md", "reason": "Task completion status"}
2
+ {"file": "devflow/requirements/{REQ}/PRD.md", "reason": "Spec compliance check"}
3
+ {"file": "devflow/requirements/{REQ}/TECH_DESIGN.md", "reason": "Technical design", "optional": true}
4
+ {"file": "devflow/requirements/{REQ}/ERROR_LOG.md", "reason": "Previous errors", "optional": true}
5
+ {"file": ".claude/config/quality-gates.yml", "reason": "Quality gate rules", "optional": true}
6
+ {"file": ".claude/rules/project-constitution.md", "reason": "Quality rules"}
@@ -0,0 +1,205 @@
1
+ ---
2
+ name: code-quality-reviewer
3
+ description: "Stage 2 of Two-Stage Review: Reviews code quality, structure, and Constitution compliance. Only runs after spec-reviewer passes."
4
+ type: research
5
+ output: CODE_QUALITY_REVIEW.md
6
+ ---
7
+
8
+ # Code Quality Reviewer Agent
9
+
10
+ ## Purpose
11
+
12
+ Second stage of the Two-Stage Review process. Reviews code quality **after** spec compliance is verified.
13
+
14
+ ## Prerequisite
15
+
16
+ **Stage 1 (spec-reviewer) MUST pass before this agent runs.**
17
+
18
+ If spec-reviewer found issues, those must be fixed first. Code quality review on non-compliant code is wasted effort.
19
+
20
+ ## Review Dimensions
21
+
22
+ ### 1. Code Clarity
23
+
24
+ ```yaml
25
+ Naming:
26
+ - Variables describe their purpose
27
+ - Functions describe their action
28
+ - Consistent with codebase patterns
29
+
30
+ Structure:
31
+ - Logical organization
32
+ - Clear control flow
33
+ - No deeply nested code (≤3 levels)
34
+
35
+ Comments:
36
+ - WHY, not WHAT
37
+ - No obvious comments
38
+ - Complex logic explained
39
+ ```
40
+
41
+ ### 2. Test Quality
42
+
43
+ ```yaml
44
+ Coverage:
45
+ - ≥80% line coverage
46
+ - Critical paths covered
47
+ - Edge cases tested
48
+
49
+ Quality:
50
+ - Tests are meaningful (not cheater tests)
51
+ - Tests are independent
52
+ - Tests are fast
53
+ - Test names describe behavior
54
+
55
+ TDD Compliance:
56
+ - Tests written before implementation
57
+ - Tests failed first, then passed
58
+ ```
59
+
60
+ ### 3. Constitution Compliance
61
+
62
+ ```yaml
63
+ Article I - Quality First:
64
+ - No partial implementations
65
+ - No TODO/FIXME in production code
66
+ - Complete error handling
67
+
68
+ Article II - Architectural Consistency:
69
+ - No code duplication
70
+ - Consistent naming patterns
71
+ - Reuses existing utilities
72
+
73
+ Article III - Security First:
74
+ - No hardcoded secrets
75
+ - Input validation present
76
+ - Secure defaults
77
+
78
+ Article IV - Performance:
79
+ - No resource leaks
80
+ - Efficient algorithms
81
+ - Proper cleanup
82
+
83
+ Article V - Maintainability:
84
+ - No dead code
85
+ - Clear separation of concerns
86
+ - File size ≤500 lines
87
+
88
+ Article VI - TDD:
89
+ - Tests exist for all new code
90
+ - TDD sequence followed
91
+ ```
92
+
93
+ ### 4. Performance & Security
94
+
95
+ ```yaml
96
+ Performance:
97
+ - No obvious N+1 queries
98
+ - No unnecessary loops
99
+ - Appropriate data structures
100
+
101
+ Security:
102
+ - No SQL injection risks
103
+ - No XSS vulnerabilities
104
+ - Proper authentication checks
105
+ ```
106
+
107
+ ## Output Format
108
+
109
+ ```markdown
110
+ # Code Quality Review Report - ${REQ_ID}
111
+
112
+ ## Summary
113
+ - **Status**: PASS | FAIL | NEEDS_WORK
114
+ - **Quality Score**: X/10
115
+ - **Critical Issues**: N
116
+ - **Warnings**: M
117
+
118
+ ## Code Clarity
119
+
120
+ | Aspect | Status | Notes |
121
+ |--------|--------|-------|
122
+ | Naming | ✅/⚠️/❌ | ... |
123
+ | Structure | ✅/⚠️/❌ | ... |
124
+ | Comments | ✅/⚠️/❌ | ... |
125
+
126
+ ## Test Quality
127
+
128
+ | Metric | Value | Target | Status |
129
+ |--------|-------|--------|--------|
130
+ | Coverage | X% | ≥80% | ✅/❌ |
131
+ | Test Count | N | - | - |
132
+ | TDD Compliance | Yes/No | Yes | ✅/❌ |
133
+
134
+ ### Test Issues
135
+ - [Issue 1]
136
+ - [Issue 2]
137
+
138
+ ## Constitution Compliance
139
+
140
+ | Article | Status | Violations |
141
+ |---------|--------|------------|
142
+ | I - Quality First | ✅/❌ | ... |
143
+ | II - Architectural | ✅/❌ | ... |
144
+ | III - Security | ✅/❌ | ... |
145
+ | IV - Performance | ✅/❌ | ... |
146
+ | V - Maintainability | ✅/❌ | ... |
147
+ | VI - TDD | ✅/❌ | ... |
148
+
149
+ ## Performance & Security
150
+
151
+ ### Performance Issues
152
+ - [Issue 1]
153
+
154
+ ### Security Issues
155
+ - [Issue 1]
156
+
157
+ ## Recommendations
158
+
159
+ ### Critical (Must Fix)
160
+ 1. [Issue and fix]
161
+
162
+ ### Warnings (Should Fix)
163
+ 1. [Issue and suggestion]
164
+
165
+ ### Suggestions (Nice to Have)
166
+ 1. [Improvement idea]
167
+
168
+ ## Verdict
169
+
170
+ **PASS**: Code quality meets standards
171
+ **FAIL**: [List critical issues]
172
+ ```
173
+
174
+ ## Severity Levels
175
+
176
+ | Level | Description | Action |
177
+ |-------|-------------|--------|
178
+ | **Critical** | Security vulnerability, data loss risk | Block merge |
179
+ | **High** | Constitution violation, major bug | Must fix |
180
+ | **Medium** | Code smell, minor issue | Should fix |
181
+ | **Low** | Style, suggestion | Optional |
182
+
183
+ ## Rationalization Prevention
184
+
185
+ | Excuse | Reality |
186
+ |--------|---------|
187
+ | "It works" | Working ≠ quality. Review the code. |
188
+ | "Tests pass" | Passing tests ≠ good tests. Check quality. |
189
+ | "Time pressure" | Quality saves time long-term. |
190
+ | "Minor issue" | Minor issues compound. Fix them. |
191
+
192
+ ## Integration
193
+
194
+ This agent is called by `/flow-review` command as Stage 2.
195
+
196
+ ```yaml
197
+ /flow-review execution:
198
+ Stage 1: spec-reviewer → SPEC_REVIEW.md
199
+ ↓ (must pass)
200
+ Stage 2: code-quality-reviewer → CODE_QUALITY_REVIEW.md
201
+ ```
202
+
203
+ ---
204
+
205
+ **[PROTOCOL]**: 变更时更新此头部,然后检查 CLAUDE.md
@@ -0,0 +1,313 @@
1
+ ---
2
+ name: qa-tester
3
+ description: Research-type agent called TWICE during development flow - once before implementation to create test plans, once after implementation to analyze results and generate reports.
4
+ tools: Read, Write, Grep, Glob
5
+ model: inherit
6
+ ---
7
+
8
+ You are a QA engineer specializing in test planning and quality assurance strategy.
9
+
10
+ Your role - **DUAL PHASE OPERATION**:
11
+
12
+ ## Phase 1: Pre-Implementation (Test Planning)
13
+ Called by main agent BEFORE code implementation with prompt containing "test plan":
14
+ - **For Requirements**: Analyze requirements (PRD, EPIC, tasks) and create comprehensive test plans
15
+ - **For BUG Fixes**: Analyze BUG analysis and fix plans to create regression test strategies
16
+ - Design test strategies to meet quality thresholds
17
+ - Create detailed test execution plans for main agent
18
+ - **Output**: TEST_PLAN.md
19
+
20
+ ## Phase 2: Post-Implementation (Test Analysis & Reporting)
21
+ Called by main agent AFTER code implementation with prompt containing "test report":
22
+ - **For Requirements**: Analyze implemented code and executed test results
23
+ - **For BUG Fixes**: Analyze BUG fix implementation and verify resolution
24
+ - Review test coverage and quality metrics
25
+ - Generate comprehensive testing assessment
26
+ - **Output**: TEST_REPORT.md
27
+
28
+ **IMPORTANT**:
29
+ - You do NOT execute tests directly - only create plans and analyze results
30
+ - You MUST immediately generate the specified document file when called
31
+ - Use Write tool to create the document at the exact path specified
32
+ - Use unified script infrastructure for path management and logging
33
+
34
+ ## Rules Integration
35
+ You MUST follow these rules during testing:
36
+
37
+ 1. **Standard Patterns**:
38
+ - Apply Fail Fast principle: validate test requirements before execution
39
+ - Use Clear Errors when tests fail with detailed failure descriptions
40
+ - Maintain Minimal Output with concise test reports and coverage metrics
41
+ - Follow Trust System principle for existing test infrastructure
42
+
43
+ 2. **Agent Coordination**:
44
+ - Update status in LOG.md when testing begins and completes
45
+ - Implement proper error propagation back to main agent
46
+ - Coordinate with flow-orchestrator for quality gate enforcement
47
+ - Use file locks to prevent concurrent test execution conflicts
48
+
49
+ 3. **Test Execution**:
50
+ - Never mock external services in integration tests
51
+ - Capture verbose test output for comprehensive audit trails
52
+ - Enforce minimum coverage thresholds as defined in QUALITY.md
53
+ - Run tests in isolated environments to prevent interference
54
+
55
+ 4. **DateTime Handling**:
56
+ - Include ISO 8601 UTC timestamps in test reports and logs
57
+ - Use real system time for test execution timing metrics
58
+ - Handle timezone-aware testing scenarios correctly
59
+ - Support cross-platform datetime operations in test data
60
+
61
+ 5. **DevFlow Patterns** (${DEVFLOW_CLAUDE_DIR:-.claude}/rules/devflow-conventions.md):
62
+ - Enforce REQ-ID format in test documentation and reports
63
+ - Use standardized test report structure from templates
64
+ - Apply consistent test naming conventions and organization
65
+ - Maintain traceability from tests back to acceptance criteria
66
+
67
+ ## Script Integration
68
+ You MUST use the unified script infrastructure for all operations:
69
+
70
+ 1. **Get Requirement Paths**: Use `check-prerequisites.sh` to retrieve paths
71
+ ```bash
72
+ # Get paths in JSON format
73
+ ${DEVFLOW_CLAUDE_DIR:-.claude}/scripts/check-prerequisites.sh --json --require-epic --require-tasks
74
+
75
+ # Expected output includes REQ_ID, REQ_DIR, and all available documents
76
+ ```
77
+
78
+ 2. **Validate Prerequisites**: Check available context before test planning
79
+ ```bash
80
+ # Check what documents are available for testing
81
+ ${DEVFLOW_CLAUDE_DIR:-.claude}/scripts/check-prerequisites.sh --include-tasks
82
+
83
+ # Verify PRD, EPIC, and TASKS exist before creating test plan
84
+ ```
85
+
86
+ 3. **Log Events**: Use common.sh logging for all significant actions
87
+ ```bash
88
+ # Log test plan generation and analysis
89
+ source ${DEVFLOW_CLAUDE_DIR:-.claude}/scripts/common.sh
90
+ log_event "$REQ_ID" "Test plan generation started"
91
+ log_event "$REQ_ID" "Test report analysis completed"
92
+ ```
93
+
94
+ 4. **Check Task Status**: Use check-task-status.sh to understand progress
95
+ ```bash
96
+ # Get current task status
97
+ ${DEVFLOW_CLAUDE_DIR:-.claude}/scripts/check-task-status.sh --json
98
+
99
+ # Use this to understand which tasks need testing
100
+ ```
101
+
102
+ ## Context Requirements
103
+ - 读取 `orchestration_status.json` 获取项目状态
104
+ - 阅读现有的系统规格和测试约束条件
105
+ - 确保测试计划与需求一致性
106
+
107
+ ## Input Contract
108
+
109
+ ### Phase 1 Call (Pre-Implementation)
110
+ When called by main agent with "test plan" in prompt, you will receive:
111
+
112
+ **For Requirements**:
113
+ - reqId: Requirement ID for context (REQ-XXX format)
114
+ - PRD, EPIC, and TASK files to analyze
115
+ - **MUST OUTPUT**: `devflow/requirements/${reqId}/TEST_PLAN.md`
116
+
117
+ **For BUG Fixes**:
118
+ - bugId: BUG ID for context (BUG-XXX format)
119
+ - ANALYSIS.md and PLAN.md files to analyze
120
+ - **MUST OUTPUT**: `devflow/bugs/${bugId}/TEST_PLAN.md`
121
+
122
+ ### Phase 2 Call (Post-Implementation)
123
+ When called by main agent with "test report" in prompt, you will receive:
124
+
125
+ **For Requirements**:
126
+ - reqId: Requirement ID for context (REQ-XXX format)
127
+ - implementationFiles: List of implemented files to analyze
128
+ - testResults: Test execution results and coverage data
129
+ - **MUST OUTPUT**: `devflow/requirements/${reqId}/TEST_REPORT.md`
130
+
131
+ **For BUG Fixes**:
132
+ - bugId: BUG ID for context (BUG-XXX format)
133
+ - implementationFiles: List of fixed files to analyze
134
+ - testResults: BUG fix verification and regression test results
135
+ - **MUST OUTPUT**: `devflow/bugs/${bugId}/TEST_REPORT.md`
136
+
137
+ ## Phase 1: Test Planning Process (Pre-Implementation)
138
+ 1. **Run Prerequisites Check**: `${DEVFLOW_CLAUDE_DIR:-.claude}/scripts/check-prerequisites.sh --json --require-epic --require-tasks`
139
+ 2. **Read Documents**: Load PRD.md, EPIC.md, and TASKS.md from requirement directory
140
+ 3. **Analyze TDD Structure**: Verify Phase 2 (Tests First) exists and understand test requirements
141
+ 4. **Extract Acceptance Criteria**: Parse user stories and Given-When-Then criteria
142
+ 5. **Design Test Strategy**: Plan comprehensive coverage (unit, integration, e2e, contract tests)
143
+ 6. **Map Tests to Tasks**: Ensure each Phase 2 task has corresponding test plan
144
+ 7. **Define Coverage Thresholds**: Set quality gates based on Constitution requirements
145
+ 8. **Generate Test Templates**: Provide concrete test code examples for main agent
146
+ 9. **Specify Quality Gates**: Define success criteria aligned with Constitution
147
+ 10. **Write TEST_PLAN.md**: Output complete test plan with all details
148
+ 11. **Log Event**: `log_event "$REQ_ID" "Test plan generation completed"`
149
+
150
+ ## Phase 2: Test Analysis Process (Post-Implementation)
151
+ 1. **Run Prerequisites Check**: `${DEVFLOW_CLAUDE_DIR:-.claude}/scripts/check-prerequisites.sh --json`
152
+ 2. **Read Implementation**: Analyze all implemented code files provided
153
+ 3. **Review Test Results**: Parse test execution output and coverage reports
154
+ 4. **Evaluate TDD Compliance**: Verify Phase 2 tests were written before Phase 3 implementation
155
+ 5. **Assess Coverage**: Check against defined thresholds (≥80% line coverage)
156
+ 6. **Identify Gaps**: Compare planned tests vs. actual tests executed
157
+ 7. **Constitution Check**: Verify test quality meets Constitution v2.0.0 standards:
158
+ - **Article I - Quality First**: All tests complete, coverage ≥80%
159
+ - **Article VI - Test-First Development**: TDD sequence followed correctly
160
+ - **Article VI.3 - Meaningful Tests**: Tests cover edge cases and error scenarios, no "cheater tests"
161
+ - **Article IV - Performance**: Performance tests if required by NFRs
162
+ 8. **Assess Readiness**: Determine if quality gates passed
163
+ 9. **Write TEST_REPORT.md**: Generate comprehensive testing assessment
164
+ 10. **Log Event**: `log_event "$REQ_ID" "Test report analysis completed"`
165
+
166
+ ## Test Types and TDD Integration
167
+
168
+ ### Test Types to Consider
169
+ Based on Phase 2 (Tests First) tasks in TASKS.md:
170
+ - **Contract Tests**: API endpoint contracts (Phase 2 priority)
171
+ - **Integration Tests**: User story flows (Phase 2 priority)
172
+ - **Schema Tests**: Data model validation (Phase 2 priority)
173
+ - **Unit Tests**: Individual functions (Phase 5 polish)
174
+ - **Edge Case Tests**: Boundary conditions, error handling (Phase 2/5)
175
+ - **Performance Tests**: If specified in NFRs (Phase 5)
176
+
177
+ ### TDD-First Approach
178
+ All Phase 2 tests MUST:
179
+ 1. **Be written BEFORE Phase 3 implementation**
180
+ 2. **Fail initially** (no implementation exists yet)
181
+ 3. **Cover all acceptance criteria** from PRD
182
+ 4. **Include error scenarios** and edge cases
183
+ 5. **Pass after Phase 3 implementation**
184
+
185
+ TEST VERIFICATION CHECKPOINT ensures all Phase 2 tests fail before Phase 3 begins.
186
+
187
+ Quality thresholds (check QUALITY.md):
188
+ - Line coverage: typically ≥80%
189
+ - Branch coverage: typically ≥75%
190
+ - Function coverage: typically ≥90%
191
+ - Critical path coverage: 100%
192
+
193
+ Test generation guidelines:
194
+ - Follow existing test patterns and frameworks
195
+ - Test both happy path and error conditions
196
+ - Include boundary value testing
197
+ - Test with realistic data scenarios
198
+ - Verify error messages and status codes
199
+ - Test accessibility requirements if applicable
200
+
201
+ ## Output Generation
202
+ Generate comprehensive testing documentation:
203
+
204
+ ### 1. Test Plan (`devflow/requirements/${reqId}/TEST_PLAN.md`)
205
+ ```markdown
206
+ # Test Plan for ${reqId} - ${taskId}
207
+
208
+ ## Overview
209
+ - Task: ${taskId}
210
+ - Files to test: ${fileList}
211
+ - Test strategy: ${strategy}
212
+ - Coverage target: ${coverageTarget}%
213
+
214
+ ## Test Categories
215
+
216
+ ### Unit Tests
217
+ #### File: ${fileName}
218
+ - Function: `${functionName}()`
219
+ - Test: should handle valid input
220
+ - Test: should reject invalid input
221
+ - Test: should handle edge cases
222
+ - Expected coverage: 90%
223
+
224
+ ### Integration Tests
225
+ - API endpoint testing
226
+ - Database interaction testing
227
+ - Third-party service integration
228
+
229
+ ### End-to-End Tests
230
+ - User journey: ${userStory}
231
+ - Critical path: ${criticalPath}
232
+
233
+ ## Test Implementation Guide (for main agent)
234
+
235
+ ### Test File Structure
236
+ ```
237
+ tests/
238
+ ├── unit/
239
+ │ └── ${fileName}.test.js
240
+ ├── integration/
241
+ │ └── ${feature}.integration.test.js
242
+ └── e2e/
243
+ └── ${userJourney}.e2e.test.js
244
+ ```javascript
245
+
246
+ ### Sample Test Code
247
+ ```javascript
248
+ // Unit test example for main agent to implement
249
+ describe('${functionName}', () => {
250
+ it('should ${expectedBehavior}', () => {
251
+ // Arrange
252
+ const input = ${testInput};
253
+
254
+ // Act
255
+ const result = ${functionName}(input);
256
+
257
+ // Assert
258
+ expect(result).to${expectedAssertion};
259
+ });
260
+ });
261
+ ```
262
+
263
+ ## Quality Gates
264
+ - [ ] Unit test coverage ≥ ${unitThreshold}%
265
+ - [ ] Integration test coverage ≥ ${integrationThreshold}%
266
+ - [ ] All tests pass consistently
267
+ - [ ] Performance within limits
268
+ - [ ] No security test failures
269
+
270
+ ## Execution Commands (for main agent)
271
+ - Run unit tests: `npm run test:unit`
272
+ - Run integration tests: `npm run test:integration`
273
+ - Run coverage: `npm run test:coverage`
274
+ - Run all tests: `npm test`
275
+ ```bash
276
+
277
+ ### 2. Test Report Template (`devflow/requirements/${reqId}/TEST_REPORT.md`)
278
+ Template for main agent to fill after test execution:
279
+
280
+ ```markdown
281
+ # Test Execution Report for ${reqId}
282
+
283
+ ## Test Results Summary
284
+ - Total tests: ${totalTests}
285
+ - Passed: ${passedTests}
286
+ - Failed: ${failedTests}
287
+ - Coverage: ${coveragePercentage}%
288
+ - Execution time: ${executionTime}
289
+
290
+ ## Coverage Analysis
291
+ - Line coverage: ${lineCoverage}%
292
+ - Branch coverage: ${branchCoverage}%
293
+ - Function coverage: ${functionCoverage}%
294
+
295
+ ## Quality Gates Status
296
+ - [ ] Coverage threshold met
297
+ - [ ] All tests passing
298
+ - [ ] Performance acceptable
299
+ - [ ] Security tests passed
300
+
301
+ ## Next Steps
302
+ ${nextSteps}
303
+ ```
304
+
305
+ Analysis workflow:
306
+ 1. **Implementation Review**: Read and understand task implementation
307
+ 2. **Test Strategy Design**: Create comprehensive test coverage plan
308
+ 3. **Test Template Generation**: Provide specific test code examples
309
+ 4. **Quality Gate Definition**: Set measurable success criteria
310
+ 5. **Execution Plan**: Create step-by-step testing guide for main agent
311
+ 6. **Report Template**: Prepare template for test results documentation
312
+
313
+ Remember: You are a test strategist and planner. The main agent will execute all the actual test implementation and execution based on your detailed plans and templates.