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,276 @@
1
+ # Research Summary — {FEATURE_NAME}
2
+
3
+ > **Purpose**: Document all technical decisions made during requirement initialization
4
+ > **Owner**: prd-writer / planner agents
5
+ > **Status**: Living document (updated until PRD finalized)
6
+ > **Template Version**: v1.0.0
7
+ > **Constitution Compliance**: Article X.1 (Forced Clarification), Article X.2 (No Speculation)
8
+
9
+ Generated: {GENERATED_AT}
10
+
11
+ ---
12
+
13
+ ## Decisions
14
+
15
+ ### R001 — {TOPIC_DESCRIPTION}
16
+ - **Decision**: {技术选型或架构决策}
17
+ - **Rationale**:
18
+ - {理由 1: 必须明确说明为什么选择这个方案}
19
+ - {理由 2: 至少提供 2 条理由,证明决策经过深思熟虑}
20
+ - {理由 3 (可选): 更多支持性论据}
21
+ - **Alternatives Considered**:
22
+ - {替代方案 1}: {简要评估 - 为什么不选择}
23
+ - {替代方案 2}: {简要评估 - 优缺点对比}
24
+ - **Source**: {来源: PRD.md:42 或 Tech-Choice:Frontend Framework}
25
+
26
+ ### R002 — {TOPIC_DESCRIPTION}
27
+ - **Decision**: {实际选择的技术/方案}
28
+ - **Rationale**:
29
+ - {业务需求匹配度}
30
+ - {技术优势或团队熟悉度}
31
+ - **Alternatives Considered**:
32
+ - {对比方案}: {不选择的原因}
33
+ - **Source**: {来源}
34
+
35
+ ---
36
+
37
+ ## Unresolved Questions
38
+
39
+ > ⚠️ 使用 `[NEEDS CLARIFICATION]` 标记所有待澄清问题
40
+ > 📌 每个问题必须包含: Context (上下文) + Impact (影响) + Blocked Tasks (阻塞任务)
41
+
42
+ - **[NEEDS CLARIFICATION]**: {具体问题描述}
43
+ - **Context**: {为什么需要澄清这个问题}
44
+ - **Impact**: {不澄清会影响哪些决策或实现}
45
+ - **Blocked Tasks**: {哪些任务被阻塞 - 如 data-model.md, API contracts}
46
+
47
+ ---
48
+
49
+ ## Source Library
50
+
51
+ > **说明**: 列出所有研究材料的相对路径(相对于 REQ_DIR)
52
+
53
+ ### Internal Codebase Research
54
+ - `research/internal/codebase-overview.md` - 现有代码库结构和可复用模块
55
+ - `research/internal/testing-strategy.md` - 现有测试框架和模式
56
+
57
+ ### External Research Materials (MCP)
58
+ - `research/mcp/20250126/official/nextjs-docs.md` - Next.js 14 官方文档(App Router)
59
+ - `research/mcp/20250126/guides/prisma-best-practices.md` - Prisma ORM 最佳实践
60
+ - `research/mcp/20250126/security/auth0-vs-clerk.md` - 认证方案对比
61
+
62
+ ### Manual Research Notes
63
+ - `research/manual/database-benchmarks.md` - 性能基准测试结果
64
+ - `research/manual/team-feedback.md` - 团队技术偏好调研
65
+
66
+ ---
67
+
68
+ ## Research Completion Checklist
69
+
70
+ > ✅ 使用此清单验证 research.md 是否完整且符合规范
71
+
72
+ ### Structure Validation
73
+ - [ ] 包含 "## Decisions" 章节
74
+ - [ ] 至少有 1 个 Decision block (### R001, R002, ...)
75
+ - [ ] 包含 "## Source Library" 章节
76
+
77
+ ### Content Quality
78
+ - [ ] 每个 Decision block 包含 Decision/Rationale/Alternatives 三部分
79
+ - [ ] Rationale 至少 2 条理由(不能是单行敷衍)
80
+ - [ ] Alternatives 至少 1 个具体方案(不能是 "无" 或 "未评估")
81
+ - [ ] 无 TODO 标记
82
+ - [ ] 无 {{PLACEHOLDER}} 占位符
83
+ - [ ] 无 FIXME/XXX 标记
84
+
85
+ ### Constitution Compliance
86
+ - [ ] Article X.1: 所有 NEEDS CLARIFICATION 已明确标记
87
+ - [ ] Article X.2: 无推测性语言("可能"/"未来"/"预留")
88
+ - [ ] Article I.1: 无部分实现标记("暂时"/"临时"/"简化版")
89
+
90
+ ### Source Traceability
91
+ - [ ] 每个 Decision 有明确的 Source 字段
92
+ - [ ] Source Library 列出所有研究材料路径
93
+ - [ ] 研究材料文件实际存在于 research/ 目录
94
+
95
+ ---
96
+
97
+ ## Usage Instructions
98
+
99
+ ### For AI Agents (prd-writer, planner)
100
+
101
+ 1. **Initialize from Template**:
102
+ ```bash
103
+ cp .claude/docs/templates/RESEARCH_TEMPLATE.md \
104
+ devflow/requirements/${REQ_ID}/research/research.md
105
+ ```
106
+
107
+ 2. **Fill Template Variables**:
108
+ - Replace `{FEATURE_NAME}` with actual feature title
109
+ - Replace `{GENERATED_AT}` with ISO 8601 UTC timestamp
110
+ - Replace all `{PLACEHOLDERS}` with actual content
111
+
112
+ 3. **Populate Decisions**:
113
+ - Read `research/tasks.json` for research task list
114
+ - For each task, create a Decision block
115
+ - Ensure Decision/Rationale/Alternatives are complete
116
+
117
+ 4. **Validate Before Saving**:
118
+ ```bash
119
+ bash .claude/scripts/validate-research.sh ${REQ_DIR} --strict
120
+ ```
121
+
122
+ ### For Human Developers
123
+
124
+ 1. **Manual Research Workflow**:
125
+ ```bash
126
+ # 1. Run flow-init (generates tasks.json)
127
+ /flow-init "REQ-123|Feature Name"
128
+
129
+ # 2. Research each task
130
+ # - Check existing codebase
131
+ # - Search official docs (use MCP)
132
+ # - Benchmark alternatives
133
+
134
+ # 3. Update tasks.json with findings
135
+ # - Add decision, rationale, alternatives fields
136
+ # - Update status to "completed"
137
+
138
+ # 4. Consolidate findings
139
+ bash .claude/scripts/consolidate-research.sh devflow/requirements/REQ-123
140
+
141
+ # 5. Validate
142
+ bash .claude/scripts/validate-research.sh devflow/requirements/REQ-123 --strict
143
+ ```
144
+
145
+ 2. **Direct Editing**:
146
+ - Copy this template to `research/research.md`
147
+ - Fill in decisions based on your research
148
+ - Run validation script before proceeding to /flow-prd
149
+
150
+ ---
151
+
152
+ ## Example: Complete Decision Block
153
+
154
+ ```markdown
155
+ ### R003 — Research authentication strategy for User Management System
156
+ - **Decision**: Auth0 with Next.js Middleware integration
157
+ - **Rationale**:
158
+ - Native support for Next.js App Router middleware authentication
159
+ - Pre-built UI components reduce frontend development time
160
+ - SaaS model eliminates need for auth infrastructure maintenance
161
+ - Compliance certifications (SOC 2, GDPR) included in Pro plan
162
+ - **Alternatives Considered**:
163
+ - Clerk: Similar features but higher pricing at scale (>10k users)
164
+ - NextAuth.js: Open-source but requires self-hosting and security audits
165
+ - AWS Cognito: Lower cost but complex integration with Next.js middleware
166
+ - Custom JWT: Maximum flexibility but significant security risk and dev time
167
+ - **Source**: PRD.md:89 (User Story US-002: User Authentication)
168
+ ```
169
+
170
+ ---
171
+
172
+ ## Anti-Patterns (避免这些错误)
173
+
174
+ ### ❌ Bad Example 1: 敷衍的 Rationale
175
+ ```markdown
176
+ ### R001 — Database choice
177
+ - Decision: PostgreSQL
178
+ - Rationale: 好用
179
+ - Alternatives: MySQL
180
+ ```
181
+ **问题**: Rationale 太简单,没有说明为什么好用。Alternatives 没有对比分析。
182
+
183
+ ### ❌ Bad Example 2: 包含 TODO
184
+ ```markdown
185
+ ### R001 — Database choice
186
+ - Decision: TODO - fill decision outcome
187
+ - Rationale: TODO - explain why
188
+ - Alternatives: TODO - list alternatives
189
+ ```
190
+ **问题**: 未完成的研究,validate-research.sh 会拒绝。
191
+
192
+ ### ❌ Bad Example 3: 推测性语言
193
+ ```markdown
194
+ ### R001 — Database choice
195
+ - Decision: PostgreSQL
196
+ - Rationale:
197
+ - 未来可能需要复杂查询
198
+ - 预留扩展性支持分片
199
+ ```
200
+ **问题**: "未来可能"/"预留" 违反 Article X.2 (No Speculation)。
201
+
202
+ ### ✅ Good Example: 完整且符合规范
203
+ ```markdown
204
+ ### R001 — Research database choice for E-commerce Platform
205
+ - **Decision**: PostgreSQL 15 with Prisma ORM
206
+ - **Rationale**:
207
+ - PRD requires ACID transactions for order processing (US-005)
208
+ - Prisma provides type-safe database access aligned with TypeScript stack
209
+ - Team has 3 years PostgreSQL production experience (reduces onboarding time)
210
+ - Native JSON support needed for product catalog flexible attributes (US-012)
211
+ - **Alternatives Considered**:
212
+ - MongoDB: No ACID transactions, unsuitable for financial operations
213
+ - MySQL: Weaker JSON support, no partial indexes (needed for US-012)
214
+ - Supabase: Vendor lock-in concerns, enterprise pricing unclear
215
+ - **Source**: PRD.md:42 (User Story US-005: Order Processing)
216
+ ```
217
+
218
+ ---
219
+
220
+ ## Troubleshooting
221
+
222
+ ### Q: consolidate-research.sh 生成的 research.md 全是 TODO,怎么办?
223
+
224
+ **A**: 这说明 `research/tasks.json` 缺少 `decision/rationale/alternatives` 字段。
225
+
226
+ **解决方案 1** (推荐): 手动填充 tasks.json
227
+ ```json
228
+ {
229
+ "tasks": [
230
+ {
231
+ "id": "R001",
232
+ "prompt": "Research database choice",
233
+ "status": "completed",
234
+ "decision": "PostgreSQL 15 with Prisma ORM",
235
+ "rationale": "ACID compliance, type-safe access, team experience",
236
+ "alternatives": "MongoDB (no ACID), MySQL (weaker JSON support)",
237
+ "source": "PRD.md:42"
238
+ }
239
+ ]
240
+ }
241
+ ```
242
+
243
+ **解决方案 2**: 直接编辑 research.md,参考此模板格式。
244
+
245
+ **解决方案 3**: 跳过 consolidate-research.sh,完全手动创建 research.md。
246
+
247
+ ### Q: validate-research.sh 报错 "No Decision blocks found",但我有内容?
248
+
249
+ **A**: Decision block 必须符合格式 `### R001 —` (三个 #,空格,R + 数字,空格,破折号)。
250
+
251
+ **正确格式**:
252
+ ```markdown
253
+ ### R001 — Topic description
254
+ ```
255
+
256
+ **错误格式**:
257
+ ```markdown
258
+ ## R001 Topic # ❌ 两个 # 不对
259
+ ### R1 - Topic # ❌ 破折号是 - 不是 —
260
+ ### Decision 1 # ❌ 没有 R00X 编号
261
+ ```
262
+
263
+ ### Q: 我的 research.md 很长,可以拆分吗?
264
+
265
+ **A**: 不建议拆分。research.md 是单一真相源 (Single Source of Truth)。
266
+ - 如果决策太多(>20 个),考虑需求是否过大,应拆分为多个 REQ-ID。
267
+ - 详细研究材料放在 `research/internal/` 或 `research/mcp/`,research.md 只记录决策摘要。
268
+
269
+ ---
270
+
271
+ **Maintained By**: CC-DevFlow Team
272
+ **Last Updated**: 2025-01-26
273
+ **Related Docs**:
274
+ - [flow-init.md](../../commands/flow-init.md) - 需求初始化流程
275
+ - [validate-research.sh](../../scripts/validate-research.sh) - 验证脚本
276
+ - [flow-init-optimization-plan.md](../../../flow-init-optimization-plan.md) - 优化方案
@@ -0,0 +1,57 @@
1
+ # High-Rigor Code Review Template
2
+
3
+ ## Summary
4
+ - What changed:
5
+ - Top risks:
6
+ - Approval: `<approve|comment|request_changes|blocker>`
7
+
8
+ ## Affected files
9
+ - `<path>` — `<reason>` (`added|modified|deleted`)
10
+
11
+ ## Root cause & assumptions
12
+ - Analysis:
13
+ - Assumptions:
14
+
15
+ ## Findings
16
+ - [SEVERITY] [CATEGORY] Short title
17
+ - Where: `file:line-range`
18
+ - Evidence:
19
+ - Impact:
20
+ - Standards (CWE/OWASP/Policy):
21
+ - Repro:
22
+ - Recommendation:
23
+ - Tests:
24
+
25
+ *(Repeat the findings block per issue.)*
26
+
27
+ ## Performance
28
+ - Hotspots:
29
+ - Complexity notes:
30
+ - Bench/Monitoring plan:
31
+
32
+ ## Integration & Rollout
33
+ - APIs/contracts:
34
+ - DB migrations:
35
+ - Feature flags & rollout:
36
+ - Resilience:
37
+ - Rollback plan:
38
+
39
+ ## Testing
40
+ - Coverage summary:
41
+ - Gaps:
42
+ - Flakiness risks:
43
+ - Targeted test plan:
44
+
45
+ ## Docs & Observability
46
+ - Docs to update/create:
47
+ - Logs/Metrics/Traces/Alerts:
48
+ - Runbook updates:
49
+
50
+ ## Open questions
51
+ - `<item>`
52
+
53
+ ## Final recommendation
54
+ - Decision:
55
+ - Must-fix before merge:
56
+ - Nice-to-have post merge:
57
+ - Confidence: `<low|medium|high>`
@@ -0,0 +1,198 @@
1
+ # Core-Roadmap Dialogue Template
2
+
3
+ > 6-stage interactive dialogue script for `/core-roadmap`
4
+
5
+ <!-- ============================================================
6
+ 调用上下文声明 (Invocation Context Declaration)
7
+ ============================================================
8
+
9
+ 本模板由 `/core-roadmap` 命令通过 {TEMPLATE:dialogue} 引用加载。
10
+
11
+ 模板中的 {SCRIPT:xxx} 占位符引用 core-roadmap.md 头文件中的 scripts 定义:
12
+ ```yaml
13
+ # 来源: .claude/commands/core-roadmap.md 头文件
14
+ scripts:
15
+ calculate_quarter: .claude/scripts/calculate-quarter.sh
16
+ sync_progress: .claude/scripts/sync-roadmap-progress.sh
17
+ ```
18
+
19
+ 占位符解析:
20
+ - {SCRIPT:calculate_quarter} → bash .claude/scripts/calculate-quarter.sh
21
+ - {SCRIPT:sync_progress} → bash .claude/scripts/sync-roadmap-progress.sh
22
+ ============================================================ -->
23
+
24
+ ---
25
+
26
+ ## Stage 0: Context Detection (上下文检测)
27
+
28
+ ```bash
29
+ # 1. 检查 ROADMAP.md
30
+ → 存在: mode = "update"
31
+ → 不存在: mode = "create"
32
+
33
+ # 2. 计算当前季度
34
+ bash {SCRIPT:calculate_quarter}
35
+ → 获取: current_quarter, current_year, next_quarters[]
36
+
37
+ # 3. 扫描 requirements/ 计算 Velocity
38
+ → 完成需求数、平均天数、季度容量
39
+
40
+ # 4. 初始化 context 对象
41
+ {
42
+ "mode": "create",
43
+ "velocity": {...},
44
+ "quarter_info": {...}
45
+ }
46
+ ```
47
+
48
+ ---
49
+
50
+ ## Stage 1: Vision Statement (愿景声明)
51
+
52
+ **对话引导**:
53
+ ```
54
+ "描述未来 3 个月的核心愿景..."
55
+ "1. 要解决什么核心问题?"
56
+ "2. 目标用户是谁?"
57
+ "3. 核心价值主张是什么?"
58
+ "4. 期望达成的里程碑是什么?"
59
+ ```
60
+
61
+ **收集**: `vision_statement`
62
+
63
+ ---
64
+
65
+ ## Stage 2: Project Analysis (项目分析)
66
+
67
+ **自动执行**:
68
+ ```bash
69
+ # 1. 扫描 requirements/REQ-*/PRD.md
70
+ → 分析完成需求的延伸方向
71
+
72
+ # 2. 展示功能模块分布和技术栈
73
+ → 推荐延伸项目
74
+
75
+ # 3. 用户确认 → Stage 3
76
+ ```
77
+
78
+ ---
79
+
80
+ ## Stage 3: Brainstorming (头脑风暴)
81
+
82
+ **收集循环**:
83
+ ```
84
+ 对话收集候选项目:
85
+ - 标题
86
+ - 来源 (从哪个需求延伸)
87
+ - 描述
88
+ - 优先级 (P1/P2/P3)
89
+ - 预估工作量 (周数)
90
+
91
+ 分配 RM-ID: RM-001, RM-002, ...
92
+
93
+ 验证:
94
+ - 至少 1 个 P1 项目
95
+ - 总工作量 vs 容量 (警告超容量 30%)
96
+ ```
97
+
98
+ **收集**: `candidates[]`
99
+
100
+ ---
101
+
102
+ ## Stage 4: Dependency Analysis (依赖分析)
103
+
104
+ **收集循环**:
105
+ ```
106
+ 格式: {RM-ID} depends on {REQ-ID or RM-ID}
107
+
108
+ 验证:
109
+ - 检查循环依赖 (拓扑排序)
110
+ - 检查悬挂依赖 (被依赖项未完成)
111
+ - 生成依赖图预览
112
+ ```
113
+
114
+ **收集**: `dependencies[]`
115
+
116
+ ---
117
+
118
+ ## Stage 5: Timeline Planning (时间线规划)
119
+
120
+ **收集循环**:
121
+ ```
122
+ 分配项目到季度:
123
+ 格式: {RM-ID} → Q{n}-{YYYY}
124
+
125
+ 验证:
126
+ - 依赖约束 (被依赖项在同季度或更早)
127
+ - 容量约束 (每季度 ≤ 150% 容量)
128
+
129
+ 生成时间线预览
130
+ ```
131
+
132
+ **收集**: `timeline{}`
133
+
134
+ ---
135
+
136
+ ## Stage 6: Final Confirmation (最终确认)
137
+
138
+ **展示完整规划汇总**:
139
+ ```
140
+ - 愿景
141
+ - 项目总览 (按优先级)
142
+ - 季度分布
143
+ - 依赖关系
144
+ - 容量评估
145
+
146
+ 用户确认 → Stage 7
147
+ 用户修改 → 跳转到对应 Stage
148
+ ```
149
+
150
+ ---
151
+
152
+ ## Stage 7: Agent Invocation (生成文档)
153
+
154
+ ```bash
155
+ # 1. 保存上下文
156
+ → .roadmap-context.json
157
+
158
+ # 2. 调用 roadmap-planner Agent
159
+ Prompt: "Generate ROADMAP.md and BACKLOG.md based on context..."
160
+ → 生成 devflow/ROADMAP.md
161
+ → 生成 devflow/BACKLOG.md
162
+
163
+ # 3. 调用 architecture-designer Agent
164
+ Prompt: "Generate ARCHITECTURE.md with 4 diagrams..."
165
+ → 生成 devflow/ARCHITECTURE.md (4个Mermaid图表)
166
+ ```
167
+
168
+ ---
169
+
170
+ ## Stage 8: Final Report (完成报告)
171
+
172
+ **展示生成文件**:
173
+ ```
174
+ ✅ devflow/ROADMAP.md (路线图项目, 依赖图, 速度指标)
175
+ ✅ devflow/BACKLOG.md (所有候选项目详情)
176
+ ✅ devflow/ARCHITECTURE.md (4个架构图表)
177
+
178
+ 下一步建议:
179
+ 1. 审查路线图
180
+ 2. 开始首个需求: /flow-init "REQ-XXX|{RM-title}"
181
+ 3. 定期更新: /core-roadmap --regenerate
182
+ 4. 监控进度: /flow-status --all
183
+ ```
184
+
185
+ ---
186
+
187
+ ## Output Files
188
+
189
+ ```
190
+ devflow/
191
+ ├── ROADMAP.md # 路线图 (Milestones, Dependency Graph, Velocity)
192
+ ├── BACKLOG.md # 积压清单 (所有 RM-ID 详情)
193
+ └── ARCHITECTURE.md # 架构文档 (4个Mermaid图表)
194
+ ```
195
+
196
+ ---
197
+
198
+ **Last Updated**: 2025-12-19