cc-devflow 1.0.1

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 (277) hide show
  1. package/.claude/CLAUDE.md +83 -0
  2. package/.claude/agents/architecture-designer.md +443 -0
  3. package/.claude/agents/bug-analyzer.md +382 -0
  4. package/.claude/agents/checklist-agent.md +175 -0
  5. package/.claude/agents/clarify-analyst.md +50 -0
  6. package/.claude/agents/code-reviewer.md +71 -0
  7. package/.claude/agents/codex-analyzer.md +39 -0
  8. package/.claude/agents/compatibility-checker.md +580 -0
  9. package/.claude/agents/consistency-checker.md +532 -0
  10. package/.claude/agents/impact-analyzer.md +441 -0
  11. package/.claude/agents/planner.md +230 -0
  12. package/.claude/agents/prd-writer.md +320 -0
  13. package/.claude/agents/project-guidelines-generator.md +1329 -0
  14. package/.claude/agents/qa-tester.md +313 -0
  15. package/.claude/agents/release-manager.md +295 -0
  16. package/.claude/agents/security-reviewer.md +314 -0
  17. package/.claude/agents/style-guide-generator.md +458 -0
  18. package/.claude/agents/tech-architect.md +516 -0
  19. package/.claude/agents/ui-designer.md +485 -0
  20. package/.claude/commands/code-review-high.md +58 -0
  21. package/.claude/commands/core-architecture.md +429 -0
  22. package/.claude/commands/core-guidelines.md +486 -0
  23. package/.claude/commands/core-roadmap.md +439 -0
  24. package/.claude/commands/core-style.md +293 -0
  25. package/.claude/commands/flow-archive.md +245 -0
  26. package/.claude/commands/flow-checklist.md +260 -0
  27. package/.claude/commands/flow-clarify.md +136 -0
  28. package/.claude/commands/flow-constitution.md +82 -0
  29. package/.claude/commands/flow-dev.md +134 -0
  30. package/.claude/commands/flow-epic.md +150 -0
  31. package/.claude/commands/flow-fix.md +104 -0
  32. package/.claude/commands/flow-ideate.md +214 -0
  33. package/.claude/commands/flow-init.md +313 -0
  34. package/.claude/commands/flow-new.md +394 -0
  35. package/.claude/commands/flow-prd.md +131 -0
  36. package/.claude/commands/flow-qa.md +93 -0
  37. package/.claude/commands/flow-release.md +92 -0
  38. package/.claude/commands/flow-restart.md +98 -0
  39. package/.claude/commands/flow-status.md +64 -0
  40. package/.claude/commands/flow-tech.md +142 -0
  41. package/.claude/commands/flow-ui.md +189 -0
  42. package/.claude/commands/flow-update.md +111 -0
  43. package/.claude/commands/flow-upgrade.md +115 -0
  44. package/.claude/commands/flow-verify.md +96 -0
  45. package/.claude/commands/problem-analyzer.md +60 -0
  46. package/.claude/config/quality-rules.yml +161 -0
  47. package/.claude/docs/SPEC_KIT_CONSTITUTION_ANALYSIS.md +426 -0
  48. package/.claude/docs/design/consistency-conflict-detection-algorithms.md +658 -0
  49. package/.claude/docs/design/intent-driven-input-design.md +380 -0
  50. package/.claude/docs/design/prd-version-management-design.md +437 -0
  51. package/.claude/docs/guides/INIT_TROUBLESHOOTING.md +117 -0
  52. package/.claude/docs/guides/NEW_TROUBLESHOOTING.md +151 -0
  53. package/.claude/docs/guides/ROADMAP_TROUBLESHOOTING.md +188 -0
  54. package/.claude/docs/guides/TASK_COMPLETION_MARKING.md +338 -0
  55. package/.claude/docs/templates/ARCHITECTURE_TEMPLATE.md +633 -0
  56. package/.claude/docs/templates/BACKLOG_TEMPLATE.md +261 -0
  57. package/.claude/docs/templates/CHECKLIST_TEMPLATE.md +52 -0
  58. package/.claude/docs/templates/CLARIFICATION_REPORT_TEMPLATE.md +206 -0
  59. package/.claude/docs/templates/CODE_REVIEW_TEMPLATE.md +71 -0
  60. package/.claude/docs/templates/EPIC_TEMPLATE.md +805 -0
  61. package/.claude/docs/templates/INIT_FLOW_TEMPLATE.md +213 -0
  62. package/.claude/docs/templates/INTENT_CLARIFICATION_TEMPLATE.md +57 -0
  63. package/.claude/docs/templates/NEW_ORCHESTRATION_TEMPLATE.md +148 -0
  64. package/.claude/docs/templates/PRD_TEMPLATE.md +562 -0
  65. package/.claude/docs/templates/RESEARCH_TEMPLATE.md +276 -0
  66. package/.claude/docs/templates/REVIEW-HIGH.md +57 -0
  67. package/.claude/docs/templates/ROADMAP_DIALOGUE_TEMPLATE.md +198 -0
  68. package/.claude/docs/templates/ROADMAP_TEMPLATE.md +310 -0
  69. package/.claude/docs/templates/STYLE_TEMPLATE.md +1266 -0
  70. package/.claude/docs/templates/TASKS_TEMPLATE.md +523 -0
  71. package/.claude/docs/templates/TECH_DESIGN_TEMPLATE.md +1019 -0
  72. package/.claude/docs/templates/UI_PROTOTYPE_TEMPLATE.md +1436 -0
  73. package/.claude/guides/agent-guides/agent-coordination-guide.md +459 -0
  74. package/.claude/guides/project-guidelines-system.md +463 -0
  75. package/.claude/guides/technical-guides/datetime-handling-guide.md +563 -0
  76. package/.claude/guides/technical-guides/git-github-guide.md +642 -0
  77. package/.claude/guides/technical-guides/test-execution-guide.md +618 -0
  78. package/.claude/guides/workflow-guides/bug-fix-orchestrator.md +217 -0
  79. package/.claude/guides/workflow-guides/flow-orchestrator.md +282 -0
  80. package/.claude/hooks/checklist-gate.js +397 -0
  81. package/.claude/hooks/error-handling-reminder.sh +12 -0
  82. package/.claude/hooks/error-handling-reminder.ts +459 -0
  83. package/.claude/hooks/post-tool-use-tracker.sh +280 -0
  84. package/.claude/hooks/pre-tool-use-guardrail.sh +36 -0
  85. package/.claude/hooks/pre-tool-use-guardrail.ts +342 -0
  86. package/.claude/hooks/skill-activation-prompt.sh +36 -0
  87. package/.claude/hooks/skill-activation-prompt.ts +214 -0
  88. package/.claude/hooks/state/skills-used-test-guard.json +3 -0
  89. package/.claude/rules/devflow-conventions.md +305 -0
  90. package/.claude/rules/project-constitution.md +748 -0
  91. package/.claude/schemas/constitution.schema.json +43 -0
  92. package/.claude/scripts/analyze-upgrade-impact.sh +200 -0
  93. package/.claude/scripts/archive-requirement.sh +351 -0
  94. package/.claude/scripts/calculate-checklist-completion.sh +243 -0
  95. package/.claude/scripts/calculate-quarter.sh +206 -0
  96. package/.claude/scripts/check-dependencies.sh +409 -0
  97. package/.claude/scripts/check-prerequisites.sh +232 -0
  98. package/.claude/scripts/check-task-status.sh +264 -0
  99. package/.claude/scripts/checklist-errors.sh +131 -0
  100. package/.claude/scripts/common.sh +570 -0
  101. package/.claude/scripts/consolidate-research.sh +182 -0
  102. package/.claude/scripts/create-requirement.sh +426 -0
  103. package/.claude/scripts/export-contracts.sh +117 -0
  104. package/.claude/scripts/extract-data-model.sh +78 -0
  105. package/.claude/scripts/generate-clarification-questions.sh +377 -0
  106. package/.claude/scripts/generate-clarification-report.sh +463 -0
  107. package/.claude/scripts/generate-quickstart.sh +146 -0
  108. package/.claude/scripts/generate-research-tasks.sh +157 -0
  109. package/.claude/scripts/generate-status-report.sh +523 -0
  110. package/.claude/scripts/generate-tech-analysis.sh +46 -0
  111. package/.claude/scripts/locate-requirement-in-roadmap.sh +233 -0
  112. package/.claude/scripts/manage-constitution.sh +602 -0
  113. package/.claude/scripts/mark-task-complete.sh +198 -0
  114. package/.claude/scripts/populate-research-tasks.sh +259 -0
  115. package/.claude/scripts/recover-workflow.sh +460 -0
  116. package/.claude/scripts/run-clarify-scan.sh +601 -0
  117. package/.claude/scripts/run-high-review.sh +62 -0
  118. package/.claude/scripts/run-problem-analysis.sh +68 -0
  119. package/.claude/scripts/setup-epic.sh +173 -0
  120. package/.claude/scripts/sync-roadmap-progress.sh +300 -0
  121. package/.claude/scripts/sync-task-marks.sh +199 -0
  122. package/.claude/scripts/test-clarify-scan.sh +515 -0
  123. package/.claude/scripts/update-agent-context.sh +806 -0
  124. package/.claude/scripts/validate-constitution.sh +567 -0
  125. package/.claude/scripts/validate-hooks.sh +487 -0
  126. package/.claude/scripts/validate-research.sh +332 -0
  127. package/.claude/scripts/validate-scope-boundary.sh +493 -0
  128. package/.claude/scripts/verify-setup.sh +37 -0
  129. package/.claude/settings.json +76 -0
  130. package/.claude/skills/_reference-implementations/README.md +96 -0
  131. package/.claude/skills/_reference-implementations/backend-express-prisma/SKILL.md +302 -0
  132. package/.claude/skills/_reference-implementations/backend-express-prisma/resources/architecture-overview.md +451 -0
  133. package/.claude/skills/_reference-implementations/backend-express-prisma/resources/async-and-errors.md +307 -0
  134. package/.claude/skills/_reference-implementations/backend-express-prisma/resources/complete-examples.md +638 -0
  135. package/.claude/skills/_reference-implementations/backend-express-prisma/resources/configuration.md +275 -0
  136. package/.claude/skills/_reference-implementations/backend-express-prisma/resources/database-patterns.md +224 -0
  137. package/.claude/skills/_reference-implementations/backend-express-prisma/resources/middleware-guide.md +213 -0
  138. package/.claude/skills/_reference-implementations/backend-express-prisma/resources/routing-and-controllers.md +756 -0
  139. package/.claude/skills/_reference-implementations/backend-express-prisma/resources/sentry-and-monitoring.md +336 -0
  140. package/.claude/skills/_reference-implementations/backend-express-prisma/resources/services-and-repositories.md +789 -0
  141. package/.claude/skills/_reference-implementations/backend-express-prisma/resources/testing-guide.md +235 -0
  142. package/.claude/skills/_reference-implementations/backend-express-prisma/resources/validation-patterns.md +754 -0
  143. package/.claude/skills/_reference-implementations/frontend-react-mui/SKILL.md +399 -0
  144. package/.claude/skills/_reference-implementations/frontend-react-mui/resources/common-patterns.md +331 -0
  145. package/.claude/skills/_reference-implementations/frontend-react-mui/resources/complete-examples.md +872 -0
  146. package/.claude/skills/_reference-implementations/frontend-react-mui/resources/component-patterns.md +502 -0
  147. package/.claude/skills/_reference-implementations/frontend-react-mui/resources/data-fetching.md +767 -0
  148. package/.claude/skills/_reference-implementations/frontend-react-mui/resources/file-organization.md +502 -0
  149. package/.claude/skills/_reference-implementations/frontend-react-mui/resources/loading-and-error-states.md +501 -0
  150. package/.claude/skills/_reference-implementations/frontend-react-mui/resources/performance.md +406 -0
  151. package/.claude/skills/_reference-implementations/frontend-react-mui/resources/routing-guide.md +364 -0
  152. package/.claude/skills/_reference-implementations/frontend-react-mui/resources/styling-guide.md +428 -0
  153. package/.claude/skills/_reference-implementations/frontend-react-mui/resources/typescript-standards.md +418 -0
  154. package/.claude/skills/cc-devflow-orchestrator/SKILL.md +229 -0
  155. package/.claude/skills/constitution-guardian/SKILL.md +306 -0
  156. package/.claude/skills/devflow-constitution-quick-ref/SKILL.md +374 -0
  157. package/.claude/skills/devflow-file-standards/SKILL.md +353 -0
  158. package/.claude/skills/devflow-tdd-enforcer/SKILL.md +192 -0
  159. package/.claude/skills/skill-developer/ADVANCED.md +197 -0
  160. package/.claude/skills/skill-developer/HOOK_MECHANISMS.md +306 -0
  161. package/.claude/skills/skill-developer/PATTERNS_LIBRARY.md +152 -0
  162. package/.claude/skills/skill-developer/SKILL.md +426 -0
  163. package/.claude/skills/skill-developer/SKILL_RULES_REFERENCE.md +315 -0
  164. package/.claude/skills/skill-developer/TRIGGER_TYPES.md +305 -0
  165. package/.claude/skills/skill-developer/TROUBLESHOOTING.md +514 -0
  166. package/.claude/skills/skill-rules.json +213 -0
  167. package/.claude/tests/README.md +300 -0
  168. package/.claude/tests/TODO.md +69 -0
  169. package/.claude/tests/__pycache__/test_analyze_upgrade_impact.cpython-311-pytest-7.2.2.pyc +0 -0
  170. package/.claude/tests/__pycache__/test_consolidate_research.cpython-311-pytest-7.2.2.pyc +0 -0
  171. package/.claude/tests/__pycache__/test_export_contracts.cpython-311-pytest-7.2.2.pyc +0 -0
  172. package/.claude/tests/__pycache__/test_extract_data_model.cpython-311-pytest-7.2.2.pyc +0 -0
  173. package/.claude/tests/__pycache__/test_generate_quickstart.cpython-311-pytest-7.2.2.pyc +0 -0
  174. package/.claude/tests/__pycache__/test_generate_research_tasks.cpython-311-pytest-7.2.2.pyc +0 -0
  175. package/.claude/tests/constitution/run_all_constitution_tests.sh +111 -0
  176. package/.claude/tests/constitution/test_agent_assignment.sh +207 -0
  177. package/.claude/tests/constitution/test_article_coverage.sh +201 -0
  178. package/.claude/tests/constitution/test_template_completeness.sh +150 -0
  179. package/.claude/tests/constitution/test_version_consistency.sh +120 -0
  180. package/.claude/tests/fixtures/spec_delta_full.md +16 -0
  181. package/.claude/tests/fixtures/tasks_progress_sample.md +5 -0
  182. package/.claude/tests/run-all-tests.sh +229 -0
  183. package/.claude/tests/scripts/run.sh +30 -0
  184. package/.claude/tests/scripts/test-framework.sh +128 -0
  185. package/.claude/tests/scripts/test_check_prerequisites.sh +511 -0
  186. package/.claude/tests/scripts/test_check_prerequisites.sh.bak +504 -0
  187. package/.claude/tests/scripts/test_check_prerequisites.sh.bak2 +505 -0
  188. package/.claude/tests/scripts/test_check_prerequisites.sh.bak3 +506 -0
  189. package/.claude/tests/scripts/test_check_prerequisites.sh.bak4 +507 -0
  190. package/.claude/tests/scripts/test_check_prerequisites.sh.bak5 +508 -0
  191. package/.claude/tests/scripts/test_check_task_status.sh +499 -0
  192. package/.claude/tests/scripts/test_common.sh +244 -0
  193. package/.claude/tests/scripts/test_generate_status_report.sh +71 -0
  194. package/.claude/tests/scripts/test_mark_task_complete.sh +441 -0
  195. package/.claude/tests/scripts/test_mark_task_complete.sh.backup +410 -0
  196. package/.claude/tests/scripts/test_recover_workflow.sh +304 -0
  197. package/.claude/tests/scripts/test_setup_epic.sh +437 -0
  198. package/.claude/tests/scripts/test_sync_task_marks.sh +196 -0
  199. package/.claude/tests/scripts/test_validate_constitution.sh +74 -0
  200. package/.claude/tests/scripts/test_validate_research.sh +462 -0
  201. package/.claude/tests/slugify.bats +82 -0
  202. package/.claude/tests/test-framework.sh +732 -0
  203. package/.claude/tests/test_analyze_upgrade_impact.py +34 -0
  204. package/.claude/tests/test_consolidate_research.py +48 -0
  205. package/.claude/tests/test_export_contracts.py +43 -0
  206. package/.claude/tests/test_extract_data_model.py +33 -0
  207. package/.claude/tests/test_generate_quickstart.py +50 -0
  208. package/.claude/tests/test_generate_research_tasks.py +52 -0
  209. package/.claude/tsc-cache/6e64f818-6398-49ca-8623-581a9af85c44/edited-files.log +1 -0
  210. package/.claude/tsc-cache/795ba6e3-b98a-423b-bab2-51aa62812569/affected-repos.txt +1 -0
  211. package/.claude/tsc-cache/795ba6e3-b98a-423b-bab2-51aa62812569/edited-files.log +1 -0
  212. package/.claude/tsc-cache/ae335694-be5a-4ba4-a1a0-b676c09a7906/affected-repos.txt +1 -0
  213. package/.claude/tsc-cache/ae335694-be5a-4ba4-a1a0-b676c09a7906/edited-files.log +1 -0
  214. package/CHANGELOG.md +507 -0
  215. package/LICENSE +21 -0
  216. package/README.md +534 -0
  217. package/README.zh-CN.md +530 -0
  218. package/bin/adapt.js +240 -0
  219. package/bin/cc-devflow-cli.js +185 -0
  220. package/bin/cc-devflow.js +78 -0
  221. package/config/adapters.yml +5 -0
  222. package/config/schema/adapters.schema.json +44 -0
  223. package/docs/CLAUDE.md +26 -0
  224. package/docs/commands/README.md +61 -0
  225. package/docs/commands/README.zh-CN.md +55 -0
  226. package/docs/commands/core-roadmap.md +106 -0
  227. package/docs/commands/core-roadmap.zh-CN.md +102 -0
  228. package/docs/commands/core-style.md +405 -0
  229. package/docs/commands/core-style.zh-CN.md +405 -0
  230. package/docs/commands/flow-init.md +134 -0
  231. package/docs/commands/flow-init.zh-CN.md +163 -0
  232. package/docs/commands/flow-new.md +274 -0
  233. package/docs/commands/flow-new.zh-CN.md +270 -0
  234. package/docs/guides/getting-started.md +204 -0
  235. package/docs/guides/getting-started.zh-CN.md +152 -0
  236. package/lib/adapters/adapter-interface.js +57 -0
  237. package/lib/adapters/claude-adapter.js +74 -0
  238. package/lib/adapters/codex-adapter.js +40 -0
  239. package/lib/adapters/config-validator.js +68 -0
  240. package/lib/adapters/logger.js +42 -0
  241. package/lib/adapters/registry.js +153 -0
  242. package/lib/compiler/CLAUDE.md +92 -0
  243. package/lib/compiler/__tests__/drift.test.js +215 -0
  244. package/lib/compiler/__tests__/errors.test.js +184 -0
  245. package/lib/compiler/__tests__/incremental.test.js +174 -0
  246. package/lib/compiler/__tests__/integration.test.js +174 -0
  247. package/lib/compiler/__tests__/manifest.test.js +233 -0
  248. package/lib/compiler/__tests__/parser.test.js +456 -0
  249. package/lib/compiler/__tests__/schemas.test.js +301 -0
  250. package/lib/compiler/__tests__/skills-registry.test.js +125 -0
  251. package/lib/compiler/__tests__/transformer.test.js +286 -0
  252. package/lib/compiler/emitters/antigravity-emitter.js +171 -0
  253. package/lib/compiler/emitters/base-emitter.js +73 -0
  254. package/lib/compiler/emitters/codex-emitter.js +52 -0
  255. package/lib/compiler/emitters/cursor-emitter.js +31 -0
  256. package/lib/compiler/emitters/index.js +50 -0
  257. package/lib/compiler/emitters/qwen-emitter.js +39 -0
  258. package/lib/compiler/errors.js +119 -0
  259. package/lib/compiler/index.js +256 -0
  260. package/lib/compiler/manifest.js +242 -0
  261. package/lib/compiler/parser.js +258 -0
  262. package/lib/compiler/platforms.js +113 -0
  263. package/lib/compiler/resource-copier.js +320 -0
  264. package/lib/compiler/rules-emitters/__tests__/antigravity-rules-emitter.test.js +191 -0
  265. package/lib/compiler/rules-emitters/__tests__/codex-rules-emitter.test.js +109 -0
  266. package/lib/compiler/rules-emitters/__tests__/cursor-rules-emitter.test.js +123 -0
  267. package/lib/compiler/rules-emitters/__tests__/qwen-rules-emitter.test.js +123 -0
  268. package/lib/compiler/rules-emitters/antigravity-rules-emitter.js +253 -0
  269. package/lib/compiler/rules-emitters/base-rules-emitter.js +83 -0
  270. package/lib/compiler/rules-emitters/codex-rules-emitter.js +116 -0
  271. package/lib/compiler/rules-emitters/cursor-rules-emitter.js +98 -0
  272. package/lib/compiler/rules-emitters/index.js +71 -0
  273. package/lib/compiler/rules-emitters/qwen-rules-emitter.js +70 -0
  274. package/lib/compiler/schemas.js +144 -0
  275. package/lib/compiler/skills-registry.js +225 -0
  276. package/lib/compiler/transformer.js +236 -0
  277. package/package.json +50 -0
@@ -0,0 +1,353 @@
1
+ ---
2
+ name: devflow-file-standards
3
+ description: File naming conventions, directory structure, and YAML frontmatter standards for CC-DevFlow. Consolidates shared conventions from all agents.
4
+ ---
5
+
6
+ # DevFlow File Standards
7
+
8
+ ## Purpose
9
+ Consolidate file naming, directory structure, and format conventions that are shared across multiple agents and commands. This skill does NOT duplicate agent-specific standards.
10
+
11
+ ## Requirement IDs
12
+
13
+ ### Format
14
+ ```
15
+ REQ-\d{3} # e.g., REQ-001, REQ-042, REQ-123
16
+ ```
17
+
18
+ ### Usage
19
+ - **Flow commands**: All `/flow-*` commands accept REQ-ID as argument
20
+ - **Git branches**: `feature/REQ-XXX-{slug-title}`
21
+ - **Directory paths**: `devflow/requirements/REQ-XXX/`
22
+ - **Status tracking**: `orchestration_status.json` contains `reqId` field
23
+
24
+ ### Source
25
+ - Enforced by: All 13 agents
26
+ - Validated by: `.claude/scripts/check-prerequisites.sh`
27
+
28
+ ## Task IDs
29
+
30
+ ### Format
31
+ ```
32
+ T\d{3} # e.g., T001, T042, T123
33
+ ```
34
+
35
+ ### Usage in TASKS.md
36
+ ```markdown
37
+ - [ ] **T001** [P] Task description
38
+ - [ ] **T010** [US1] User story 1 task
39
+ ```
40
+
41
+ ### Labels
42
+ - `[P]`: Parallel execution possible
43
+ - `[US#]`: User story number (e.g., [US1], [US2])
44
+
45
+ ### Source
46
+ - Generated by: planner agent
47
+ - Format defined in: `.claude/docs/templates/TASKS_TEMPLATE.md`
48
+
49
+ ## Directory Structure
50
+
51
+ ### Requirements
52
+ ```
53
+ devflow/requirements/REQ-XXX/
54
+ ├── research/ # /flow-init 输出
55
+ │ ├── research.md # consolidate-research.sh 生成
56
+ │ ├── tasks.json # generate-research-tasks.sh 生成
57
+ │ ├── internal/
58
+ │ │ └── codebase-overview.md
59
+ │ ├── mcp/ # MCP 服务器调查(可选)
60
+ │ └── codebase-tech-analysis.md # /flow-tech 输出
61
+ ├── PRD.md # /flow-prd 输出 (prd-writer agent)
62
+ ├── TECH_DESIGN.md # /flow-tech 输出 (tech-architect agent)
63
+ ├── data-model.md # /flow-tech 输出 (extract-data-model.sh)
64
+ ├── contracts/ # /flow-tech 输出 (export-contracts.sh)
65
+ │ ├── api-users.yaml # OpenAPI contracts
66
+ │ └── api-auth.yaml
67
+ ├── quickstart.md # /flow-tech 输出 (generate-quickstart.sh)
68
+ ├── UI_PROTOTYPE.html # /flow-ui 输出 (ui-designer agent, 可选)
69
+ ├── EPIC.md # /flow-epic 输出 (planner agent)
70
+ ├── TASKS.md # /flow-epic 输出 (planner agent)
71
+ ├── reviews/ # /flow-qa 输出
72
+ │ ├── TEST_PLAN.md # qa-tester agent
73
+ │ ├── TEST_REPORT.md # qa-tester agent
74
+ │ └── SECURITY_REPORT.md # security-reviewer agent
75
+ ├── EXECUTION_LOG.md # 事件日志 (所有 flow 命令追加)
76
+ ├── orchestration_status.json # 状态跟踪 (所有 flow 命令更新)
77
+ └── README.md # 工作流指南
78
+
79
+ ### Bugs
80
+ ```
81
+ devflow/bugs/BUG-XXX/
82
+ ├── BUG_ANALYSIS.md # /flow-fix 输出 (bug-analyzer agent)
83
+ ├── PLAN.md # /flow-fix 输出 (planner agent)
84
+ ├── TASKS.md # /flow-fix 输出 (planner agent)
85
+ ├── EXECUTION_LOG.md
86
+ └── status.json # 类似 orchestration_status.json
87
+ ```
88
+
89
+ ### Source
90
+ - Created by: `.claude/scripts/create-requirement.sh`
91
+ - Template: `.claude/docs/templates/` 目录
92
+ - Enforced by: All flow commands
93
+
94
+ ## YAML Frontmatter
95
+
96
+ ### Document Types
97
+
98
+ #### PRD.md
99
+ ```yaml
100
+ ---
101
+ reqId: REQ-123
102
+ title: User Authentication
103
+ version: 1.0.0
104
+ createdAt: 2025-10-31T12:34:56Z
105
+ updatedAt: 2025-10-31T15:20:30Z
106
+ status: approved
107
+ author: prd-writer agent
108
+ ---
109
+ ```
110
+
111
+ #### TECH_DESIGN.md
112
+ ```yaml
113
+ ---
114
+ reqId: REQ-123
115
+ version: 1.0.0
116
+ architecture: Microservices
117
+ techStack:
118
+ - Node.js
119
+ - PostgreSQL
120
+ - Redis
121
+ createdAt: 2025-10-31T14:10:00Z
122
+ author: tech-architect agent
123
+ ---
124
+ ```
125
+
126
+ #### EPIC.md
127
+ ```yaml
128
+ ---
129
+ reqId: REQ-123
130
+ title: User Authentication Epic
131
+ version: 1.0.0
132
+ estimatedEffort: 5 days
133
+ createdAt: 2025-10-31T16:00:00Z
134
+ author: planner agent
135
+ ---
136
+ ```
137
+
138
+ #### TASKS.md
139
+ ```yaml
140
+ ---
141
+ reqId: REQ-123
142
+ totalTasks: 25
143
+ completedTasks: 0
144
+ version: 1.0.0
145
+ createdAt: 2025-10-31T16:30:00Z
146
+ updatedAt: 2025-10-31T16:30:00Z
147
+ author: planner agent
148
+ ---
149
+ ```
150
+
151
+ ### Source
152
+ - Enforced by: prd-writer, tech-architect, planner agents
153
+ - Parsed by: `.claude/scripts/check-prerequisites.sh`, `.claude/scripts/generate-status-report.sh`
154
+
155
+ ## orchestration_status.json
156
+
157
+ ### Structure (Requirements)
158
+ ```json
159
+ {
160
+ "reqId": "REQ-123",
161
+ "title": "User Authentication",
162
+ "status": "initialized",
163
+ "phase": "planning",
164
+ "phase0_complete": false,
165
+ "phase1_complete": false,
166
+ "completedSteps": [],
167
+ "createdAt": "2025-10-31T12:34:56Z",
168
+ "updatedAt": "2025-10-31T12:34:56Z"
169
+ }
170
+ ```
171
+
172
+ ### Status Values
173
+ ```
174
+ initialized → /flow-init 完成
175
+ prd_generation_in_progress → /flow-prd 执行中
176
+ prd_generation_failed → /flow-prd 失败(可重试)
177
+ prd_complete → /flow-prd 完成
178
+
179
+ tech_design_in_progress → /flow-tech 执行中
180
+ tech_design_failed → /flow-tech 失败
181
+ tech_design_complete → /flow-tech 完成
182
+
183
+ epic_generation_in_progress → /flow-epic 执行中
184
+ epic_generation_failed → /flow-epic 失败
185
+ epic_complete → /flow-epic 完成
186
+
187
+ development_in_progress → /flow-dev 执行中
188
+ development_complete → /flow-dev 完成
189
+
190
+ qa_in_progress → /flow-qa 执行中
191
+ qa_complete → /flow-qa 完成
192
+
193
+ released → /flow-release 完成
194
+ ```
195
+
196
+ ### Phase Values
197
+ ```
198
+ planning → 需求规划阶段 (init, prd)
199
+ design → 技术设计阶段 (tech, ui)
200
+ epic_planning → 任务规划阶段 (epic)
201
+ implementation → 开发阶段 (dev)
202
+ qa → 质量保障阶段 (qa)
203
+ release → 发布阶段 (release)
204
+ ```
205
+
206
+ ### Source
207
+ - Updated by: All flow commands
208
+ - Read by: cc-devflow-orchestrator skill, check-prerequisites.sh
209
+ - Schema: Implicitly defined across all flow command docs
210
+
211
+ ## status.json (for Bugs)
212
+
213
+ ### Structure
214
+ ```json
215
+ {
216
+ "bugId": "BUG-456",
217
+ "title": "Fix login timeout",
218
+ "status": "initialized",
219
+ "phase": "analysis",
220
+ "severity": "high",
221
+ "createdAt": "2025-10-31T12:34:56Z",
222
+ "updatedAt": "2025-10-31T12:34:56Z"
223
+ }
224
+ ```
225
+
226
+ ### Severity Values
227
+ ```
228
+ critical → 严重,系统不可用
229
+ high → 高,核心功能受影响
230
+ medium → 中,部分功能受影响
231
+ low → 低,轻微问题
232
+ ```
233
+
234
+ ### Source
235
+ - Used by: `/flow-fix` command
236
+ - Updated by: bug-analyzer agent
237
+
238
+ ## File Naming Patterns
239
+
240
+ ### Markdown Documents
241
+ ```
242
+ UPPERCASE_WITH_UNDERSCORES.md # Primary documents (PRD.md, EPIC.md, TASKS.md)
243
+ lowercase-with-dashes.md # Supporting documents (data-model.md, quickstart.md)
244
+ ```
245
+
246
+ ### Scripts
247
+ ```
248
+ kebab-case.sh # All bash scripts (check-prerequisites.sh)
249
+ kebab-case.ts # All TypeScript scripts (skill-activation-prompt.ts)
250
+ ```
251
+
252
+ ### Directories
253
+ ```
254
+ lowercase # Top-level (devflow/, research/, contracts/)
255
+ kebab-case # Multi-word (codebase-tech-analysis/)
256
+ ```
257
+
258
+ ### Source
259
+ - Implicitly enforced by: All agents and scripts
260
+ - No explicit validator
261
+
262
+ ## Contract Files
263
+
264
+ ### Format
265
+ ```
266
+ api-{resource}.yaml # OpenAPI 3.0 format
267
+ graphql-{schema}.graphql # GraphQL schema
268
+ ```
269
+
270
+ ### Example
271
+ ```
272
+ contracts/
273
+ ├── api-users.yaml # User management API
274
+ ├── api-auth.yaml # Authentication API
275
+ └── graphql-schema.graphql # GraphQL schema (if used)
276
+ ```
277
+
278
+ ### Source
279
+ - Generated by: tech-architect agent via `export-contracts.sh`
280
+ - Referenced by: planner agent in TASKS.md (Phase 2 contract tests)
281
+
282
+ ## Special Files
283
+
284
+ ### .gitignore Patterns (for devflow/)
285
+ ```
286
+ # ✅ Should be committed
287
+ devflow/requirements/**/PRD.md
288
+ devflow/requirements/**/EPIC.md
289
+ devflow/requirements/**/TASKS.md
290
+ devflow/requirements/**/orchestration_status.json
291
+
292
+ # ❌ Should NOT be committed
293
+ devflow/requirements/**/.env
294
+ devflow/requirements/**/secrets/
295
+ devflow/requirements/**/node_modules/
296
+ ```
297
+
298
+ ### .claude/tsc-cache/ (PostToolUse tracking)
299
+ ```
300
+ .claude/tsc-cache/
301
+ └── {session_id}/
302
+ ├── edited-files.log # Timestamp:path:repo
303
+ └── affected-repos.txt # List of affected repos (e.g., devflow/REQ-123)
304
+ ```
305
+
306
+ ### Source
307
+ - Generated by: PostToolUse hook (post-tool-use-tracker.sh)
308
+ - Read by: check-prerequisites.sh (for REQ_ID inference)
309
+
310
+ ## Agent-Specific Standards (NOT in this skill)
311
+
312
+ This skill does NOT contain agent-specific content standards:
313
+
314
+ - **prd-writer**: INVEST principles, Anti-Expansion mandate, Given-When-Then → See prd-writer agent
315
+ - **tech-architect**: Architecture patterns, tech stack justification, Phase -1 Gates → See tech-architect agent
316
+ - **ui-designer**: 80+ design masters, responsive design rules, NO PLACEHOLDER → See ui-designer agent
317
+ - **planner**: Task breakdown methodology, TDD sequence, Phase -1 Gates enforcement → See planner agent
318
+ - **qa-tester**: Test strategy, coverage requirements, performance benchmarks → See qa-tester agent
319
+
320
+ **Rationale**: Those are agent execution standards (how to generate content), not file format standards (how to name/structure files).
321
+
322
+ ## Usage Examples
323
+
324
+ ### Query 1: "What's the format of REQ-ID?"
325
+ **Answer**: `REQ-\d{3}` (e.g., REQ-001, REQ-042, REQ-123)
326
+
327
+ ### Query 2: "Where does PRD.md go?"
328
+ **Answer**: `devflow/requirements/REQ-XXX/PRD.md`
329
+
330
+ ### Query 3: "What fields are in orchestration_status.json?"
331
+ **Answer**: reqId, title, status, phase, phase0_complete, phase1_complete, completedSteps, createdAt, updatedAt
332
+
333
+ ### Query 4: "How do I name a contract file?"
334
+ **Answer**: `api-{resource}.yaml` (e.g., api-users.yaml, api-auth.yaml)
335
+
336
+ ### Query 5: "What's the YAML frontmatter for TASKS.md?"
337
+ **Answer**: reqId, totalTasks, completedTasks, version, createdAt, updatedAt, author
338
+
339
+ ## Design Principle
340
+
341
+ **This skill does NOT contain**:
342
+ - ❌ Agent execution standards (PRD content rules, tech design methodology, etc.)
343
+ - ❌ Detailed Phase Gate logic (that's in flow command files)
344
+ - ❌ Complete template contents (that's in `.claude/docs/templates/`)
345
+
346
+ **This skill ONLY contains**:
347
+ - ✅ File naming conventions (shared across all agents)
348
+ - ✅ Directory structure (created by scripts, used by all agents)
349
+ - ✅ YAML frontmatter format (enforced by multiple agents)
350
+ - ✅ orchestration_status.json schema (updated by all flow commands)
351
+ - ✅ Cross-cutting file format standards
352
+
353
+ **Rationale**: Avoid duplication ("不重不漏" principle). Agents own content standards, this skill owns format standards.
@@ -0,0 +1,192 @@
1
+ ---
2
+ name: devflow-tdd-enforcer
3
+ description: Enforces TDD order in TASKS.md - Tests MUST be marked complete before Implementation tasks. Blocks violations in real-time.
4
+ ---
5
+
6
+ # DevFlow TDD Enforcer
7
+
8
+ ## Purpose
9
+ Enforce Test-First Development (TDD) order by preventing users from marking implementation tasks complete before their corresponding test tasks.
10
+
11
+ **Trigger**: PreToolUse hook when editing `devflow/requirements/**/TASKS.md`
12
+
13
+ ## Enforcement Rule
14
+
15
+ **Source**: Extracted from planner agent's TDD mandate + Constitution Article VI
16
+
17
+ ### ❌ BLOCKED Pattern (Violation)
18
+ ```markdown
19
+ - [x] **T010** [US1] Implement user registration endpoint
20
+ - [ ] **T011** [US1] Test user registration with valid data
21
+ ```
22
+ **Problem**: Implementation marked done BEFORE test
23
+
24
+ **Regex Pattern**: `\[x\].*Implementation.*\n.*\[ \].*Test`
25
+
26
+ ### ✅ CORRECT Pattern (TDD Sequence)
27
+ ```markdown
28
+ - [ ] **T010** [US1] Test user registration with valid data (write FAILING test)
29
+ - [ ] **T011** [US1] Implement user registration endpoint (make test PASS)
30
+ ```
31
+
32
+ **Or after completion**:
33
+ ```markdown
34
+ - [x] **T010** [US1] Test user registration with valid data
35
+ - [x] **T011** [US1] Implement user registration endpoint
36
+ ```
37
+
38
+ ## Blocking Message
39
+
40
+ When violation detected, PreToolUse hook returns **exit code 2** (blocks file save):
41
+
42
+ ```
43
+ ⚠️ BLOCKED - TDD Violation Detected
44
+
45
+ 📋 REQUIRED ACTION:
46
+ 1. Re-order TASKS.md to follow TDD sequence
47
+ 2. Mark test tasks [x] BEFORE implementation tasks
48
+ 3. Review Constitution Article VI - Test-First Development
49
+
50
+ Reason: CC-DevFlow enforces TDD (Tests First → Implementation)
51
+ Source: planner agent mandate + Constitution Article VI
52
+ File: {file_path}
53
+
54
+ Current Issue:
55
+ Line {N}: Implementation task marked complete
56
+ Line {N+1}: Test task NOT marked complete
57
+
58
+ 💡 SKIP: Add `@skip-tdd-check` comment or set SKIP_TDD_ENFORCER=1
59
+ ```
60
+
61
+ ## Constitutional Basis
62
+
63
+ ### Article VI: Test-First Development
64
+ ```yaml
65
+ TDD MANDATE:
66
+ - Write test FIRST (must fail)
67
+ - Implement code SECOND (make test pass)
68
+ - No implementation without corresponding test
69
+ - Test coverage ≥80%
70
+ ```
71
+
72
+ ### planner agent enforces
73
+ - Generates TASKS.md with correct TDD order
74
+ - Phase 2: All tests listed first
75
+ - Phase 3+: Each user story has Test task before Implementation task
76
+ - Inserts "⚠️ TEST VERIFICATION CHECKPOINT" between Phase 2 and Phase 3
77
+
78
+ ### devflow-tdd-enforcer guardrail prevents
79
+ - Users from manually reversing that order
80
+ - Implementation tasks marked complete before test tasks
81
+ - Real-time detection during file editing
82
+
83
+ ## Additional Violation Patterns
84
+
85
+ ### Pattern 2: Phase 3+ User Story TDD Order
86
+ ```markdown
87
+ # ❌ BLOCKED
88
+ - [x] **T020** [US2] Implement login endpoint
89
+ - [ ] **T021** [US2] Test login with valid credentials
90
+
91
+ # ✅ CORRECT
92
+ - [x] **T020** [US2] Test login with valid credentials
93
+ - [x] **T021** **T021** [US2] Implement login endpoint
94
+ ```
95
+
96
+ **Regex Pattern**: `\[x\].*\[US\d+\].*Implement.*\n.*\[ \].*\[US\d+\].*Test`
97
+
98
+ ### Pattern 3: Implementation without Test
99
+ ```markdown
100
+ # ❌ BLOCKED (if no corresponding test found)
101
+ - [ ] **T030** [US3] Implement password reset endpoint
102
+ # (No T029 or T031 test task found)
103
+
104
+ # ✅ CORRECT
105
+ - [ ] **T029** [US3] Test password reset with valid email
106
+ - [ ] **T030** [US3] Implement password reset endpoint
107
+ ```
108
+
109
+ ## Skip Conditions
110
+
111
+ Users can bypass TDD enforcer in specific scenarios:
112
+
113
+ ### 1. Session Skip (One-time per session)
114
+ - **Mechanism**: `sessionSkillUsed: true` in skill-rules.json
115
+ - **Behavior**: Guardrail only triggers once per Claude session
116
+ - **Use case**: User acknowledged TDD violation, wants to continue
117
+
118
+ ### 2. File Marker (Permanent skip for specific file)
119
+ - **Marker**: Add `@skip-tdd-check` comment anywhere in TASKS.md
120
+ - **Example**:
121
+ ```markdown
122
+ <!-- @skip-tdd-check: Hotfix deployment, will add tests in follow-up -->
123
+ ```
124
+ - **Use case**: Emergency hotfix, tests to be added later
125
+
126
+ ### 3. Environment Variable (Temporary global skip)
127
+ - **Variable**: `SKIP_TDD_ENFORCER=1`
128
+ - **Scope**: Current terminal session
129
+ - **Use case**: Batch operations, automated scripts
130
+
131
+ ## Relationship with Other Components
132
+
133
+ ### mark-task-complete.sh (Script)
134
+ - **Purpose**: Marks tasks complete in正常 workflow (via /flow-dev)
135
+ - **Validation**: Batch validation at phase completion
136
+ - **Timing**: After task execution
137
+
138
+ ### devflow-tdd-enforcer (Guardrail)
139
+ - **Purpose**: Real-time prevention of manual TDD violations
140
+ - **Validation**: Per-edit, blocks save if violation detected
141
+ - **Timing**: During file editing (PreToolUse hook)
142
+
143
+ **Relationship**: **Complementary (双重保险)**
144
+ - Script ensures正常流程 follows TDD
145
+ - Guardrail prevents手动编辑 from breaking TDD
146
+
147
+ ### Constitution Article VI
148
+ - **Defines**: TDD philosophy and mandates
149
+ - **Enforcement**: planner agent (generation time) + devflow-tdd-enforcer (edit time)
150
+
151
+ ## Configuration
152
+
153
+ In `.claude/skills/skill-rules.json`:
154
+
155
+ ```json
156
+ {
157
+ "devflow-tdd-enforcer": {
158
+ "type": "guardrail",
159
+ "enforcement": "block",
160
+ "priority": "critical",
161
+ "description": "Enforces TDD order, extracted from planner agent rules",
162
+ "fileTriggers": {
163
+ "pathPatterns": ["devflow/requirements/**/TASKS.md"],
164
+ "contentPatterns": [
165
+ "\\[x\\].*Implementation.*\\n.*\\[ \\].*Test",
166
+ "\\[x\\].*\\[US\\d+\\].*Implement.*\\n.*\\[ \\].*\\[US\\d+\\].*Test"
167
+ ]
168
+ },
169
+ "blockMessage": "⚠️ BLOCKED - TDD Violation\n\nTasks must follow TDD order:\n1. [ ] Test (write failing test)\n2. [ ] Implementation (make test pass)\n\n📋 ACTION: Re-order TASKS.md\nSource: planner agent mandate + Constitution Article VI\n\n💡 SKIP: @skip-tdd-check or SKIP_TDD_ENFORCER=1",
170
+ "skipConditions": {
171
+ "sessionSkillUsed": true,
172
+ "fileMarkers": ["@skip-tdd-check"],
173
+ "envOverride": "SKIP_TDD_ENFORCER"
174
+ }
175
+ }
176
+ }
177
+ ```
178
+
179
+ ## Design Principle
180
+
181
+ **This guardrail does NOT contain**:
182
+ - ❌ Complete TDD methodology (that's in planner agent)
183
+ - ❌ Task generation logic (that's in planner agent)
184
+ - ❌ Full Constitution Article VI (that's in project-constitution.md)
185
+
186
+ **This guardrail ONLY contains**:
187
+ - ✅ Prohibition rule extraction (from planner agent)
188
+ - ✅ Real-time violation detection (content pattern matching)
189
+ - ✅ Blocking mechanism (PreToolUse hook, exit code 2)
190
+ - ✅ Links to source documentation
191
+
192
+ **Rationale**: Avoid duplication ("不重不漏" principle). planner agent owns TDD generation logic, guardrail owns real-time enforcement.