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,437 @@
1
+ # PRD 版本管理系统设计
2
+
3
+ > **设计目标**: 建立追踪 PRD 变更历史和影响分析的完整系统
4
+ > **创建时间**: 2025-01-20
5
+ > **版本**: v1.0
6
+
7
+ ## 📋 概述
8
+
9
+ 基于 spec-kit 的规格驱动理念,为 cc-devflow 建立完整的 PRD 版本管理体系,支持:
10
+ - PRD 文档版本化 (v1.0, v1.1, v2.0...)
11
+ - 变更影响分析报告
12
+ - 规格变更触发的重新评估机制
13
+ - 向后兼容性检查
14
+
15
+ ## 🎯 核心目标
16
+
17
+ ### 主要功能
18
+ 1. **自动版本化**: PRD 变更时自动创建新版本
19
+ 2. **变更追踪**: 详细记录每次变更的内容和原因
20
+ 3. **影响分析**: 分析变更对现有实现的影响
21
+ 4. **回滚支持**: 支持回滚到历史版本
22
+ 5. **兼容性检查**: 检查新版本与现有实现的兼容性
23
+
24
+ ### 设计原则
25
+ - **增量式管理**: 支持语义化版本控制 (SemVer)
26
+ - **变更透明**: 每次变更都有清晰的记录和说明
27
+ - **影响预测**: 在变更前预测可能的影响范围
28
+ - **自动化优先**: 减少手动维护工作
29
+
30
+ ## 🏗 架构设计
31
+
32
+ ### 文件结构
33
+ ```text
34
+ devflow/requirements/${reqId}/
35
+ ├── PRD.md # 当前版本 PRD
36
+ ├── versions/ # 版本历史
37
+ │ ├── v1.0/
38
+ │ │ ├── PRD.md # v1.0 版本快照
39
+ │ │ ├── CHANGELOG.md # v1.0 变更日志
40
+ │ │ └── IMPACT_ANALYSIS.md # 影响分析报告
41
+ │ ├── v1.1/
42
+ │ │ ├── PRD.md
43
+ │ │ ├── CHANGELOG.md
44
+ │ │ └── IMPACT_ANALYSIS.md
45
+ │ └── v2.0/
46
+ │ ├── PRD.md
47
+ │ ├── CHANGELOG.md
48
+ │ └── IMPACT_ANALYSIS.md
49
+ ├── VERSION_HISTORY.md # 完整版本历史
50
+ ├── COMPATIBILITY_MATRIX.md # 兼容性矩阵
51
+ └── upgrade/ # 升级工具和脚本
52
+ ├── migration_guide.md # 迁移指南
53
+ └── compatibility_check.json # 兼容性检查结果
54
+ ```
55
+
56
+ ### 版本控制策略
57
+
58
+ #### 语义化版本控制
59
+ ```yaml
60
+ 版本格式: MAJOR.MINOR.PATCH
61
+
62
+ MAJOR (主版本):
63
+ - 破坏性变更
64
+ - 核心用户故事删除或重大修改
65
+ - API 接口不兼容变更
66
+
67
+ MINOR (次版本):
68
+ - 新增功能
69
+ - 新增用户故事
70
+ - 向后兼容的功能增强
71
+
72
+ PATCH (修订版):
73
+ - Bug 修复
74
+ - 文档更新
75
+ - 澄清性修改
76
+ ```
77
+
78
+ #### 自动版本检测算法
79
+ ```yaml
80
+ 变更分析:
81
+ user_story_changes:
82
+ - added_stories: count
83
+ - removed_stories: count
84
+ - modified_stories: count
85
+
86
+ acceptance_criteria_changes:
87
+ - breaking_changes: count
88
+ - new_requirements: count
89
+ - clarifications: count
90
+
91
+ non_functional_changes:
92
+ - performance_requirements: modified
93
+ - security_requirements: modified
94
+ - integration_requirements: modified
95
+
96
+ 版本判定:
97
+ if removed_stories > 0 OR breaking_changes > 0:
98
+ version_type: MAJOR
99
+ elif added_stories > 0 OR new_requirements > 0:
100
+ version_type: MINOR
101
+ else:
102
+ version_type: PATCH
103
+ ```
104
+
105
+ ## 🔧 实现方案
106
+
107
+ ### 1. 版本管理核心组件
108
+
109
+ #### 版本检测器 (Version Detector)
110
+ ```yaml
111
+ 职责:
112
+ - 比较新旧 PRD 内容
113
+ - 识别变更类型和级别
114
+ - 自动确定版本号
115
+
116
+ 输入:
117
+ - 当前 PRD 内容
118
+ - 新的 PRD 内容
119
+ - 历史版本信息
120
+
121
+ 输出:
122
+ - 建议版本号
123
+ - 变更摘要
124
+ - 影响评估
125
+ ```
126
+
127
+ #### 影响分析器 (Impact Analyzer)
128
+ ```yaml
129
+ 职责:
130
+ - 分析变更对现有实现的影响
131
+ - 识别需要更新的代码模块
132
+ - 评估测试覆盖影响
133
+
134
+ 分析维度:
135
+ - API 接口变更
136
+ - 数据模型变更
137
+ - 业务流程变更
138
+ - 非功能需求变更
139
+ - 依赖关系变更
140
+ ```
141
+
142
+ #### 兼容性检查器 (Compatibility Checker)
143
+ ```yaml
144
+ 职责:
145
+ - 检查新版本与现有实现的兼容性
146
+ - 生成兼容性报告
147
+ - 提供迁移建议
148
+
149
+ 检查类型:
150
+ - 向后兼容性
151
+ - 向前兼容性
152
+ - 数据兼容性
153
+ - API 兼容性
154
+ ```
155
+
156
+ ### 2. 升级工作流
157
+
158
+ #### /flow-upgrade 命令
159
+ ```bash
160
+ # 分析当前 PRD 并建议版本升级
161
+ /flow-upgrade "REQ-123" --analyze
162
+
163
+ # 执行版本升级
164
+ /flow-upgrade "REQ-123" --version="2.0" --reason="添加移动端支持"
165
+
166
+ # 回滚到指定版本
167
+ /flow-upgrade "REQ-123" --rollback="v1.2"
168
+ ```
169
+
170
+ #### 升级流程
171
+ ```yaml
172
+ Phase 1 - 变更分析:
173
+ 1. 读取当前 PRD 和历史版本
174
+ 2. 执行差异分析
175
+ 3. 生成变更摘要
176
+ 4. 建议版本号
177
+
178
+ Phase 2 - 影响评估:
179
+ 1. 分析代码库中相关实现
180
+ 2. 识别需要更新的文件
181
+ 3. 评估测试影响
182
+ 4. 生成影响分析报告
183
+
184
+ Phase 3 - 版本创建:
185
+ 1. 创建新版本目录
186
+ 2. 保存 PRD 快照
187
+ 3. 生成变更日志
188
+ 4. 更新版本历史
189
+
190
+ Phase 4 - 后续处理:
191
+ 1. 触发相关代码更新流程
192
+ 2. 更新测试用例
193
+ 3. 生成迁移指南
194
+ 4. 通知相关团队
195
+ ```
196
+
197
+ ### 3. 变更追踪机制
198
+
199
+ #### 变更日志格式
200
+ ```markdown
201
+ # PRD 变更日志 - v2.1
202
+
203
+ > **版本**: v2.1.0
204
+ > **发布日期**: 2025-01-20T14:30:00Z
205
+ > **变更类型**: MINOR
206
+
207
+ ## 🆕 新增功能
208
+ - **US-007**: 移动端用户登录支持
209
+ - 添加触摸 ID 认证选项
210
+ - 支持设备记住登录状态
211
+
212
+ ## 🔄 功能变更
213
+ - **US-003**: 用户注册流程优化
214
+ - 简化注册步骤从 5 步减至 3 步
215
+ - 移除中间确认页面
216
+
217
+ ## 🔧 技术需求变更
218
+ - **性能要求**: 登录响应时间从 <2s 调整为 <1s
219
+ - **安全要求**: 新增设备指纹验证
220
+
221
+ ## 📊 影响分析
222
+ - **前端代码**: 需要更新登录组件 (3 个文件)
223
+ - **后端 API**: 需要新增移动端认证接口
224
+ - **测试用例**: 需要增加 12 个新测试用例
225
+ - **预估工作量**: 8-12 工作小时
226
+
227
+ ## 🔗 相关链接
228
+ - [完整影响分析报告](./IMPACT_ANALYSIS.md)
229
+ - [兼容性检查结果](../upgrade/compatibility_check.json)
230
+ - [迁移指南](../upgrade/migration_guide.md)
231
+ ```
232
+
233
+ #### 自动变更检测
234
+ ```yaml
235
+ 监控机制:
236
+ - PRD 文件修改检测
237
+ - Git commit 钩子集成
238
+ - 定期一致性检查
239
+
240
+ 触发条件:
241
+ - PRD.md 文件内容变更
242
+ - 用户手动触发升级
243
+ - 依赖需求变更
244
+
245
+ 处理策略:
246
+ - 自动创建变更提案
247
+ - 等待用户确认
248
+ - 执行版本升级流程
249
+ ```
250
+
251
+ ## 🔍 影响分析框架
252
+
253
+ ### 分析维度
254
+
255
+ #### 1. 功能影响分析
256
+ ```yaml
257
+ 用户故事变更:
258
+ - 新增: 需要新的代码实现
259
+ - 修改: 需要更新现有代码
260
+ - 删除: 需要清理相关代码
261
+
262
+ 验收标准变更:
263
+ - 性能指标变化
264
+ - 安全要求调整
265
+ - 集成接口修改
266
+ ```
267
+
268
+ #### 2. 技术影响分析
269
+ ```yaml
270
+ 代码影响:
271
+ - 前端组件 (React/Vue 组件)
272
+ - 后端服务 (API 接口)
273
+ - 数据库模式 (表结构/索引)
274
+ - 配置文件 (环境配置)
275
+
276
+ 测试影响:
277
+ - 单元测试更新
278
+ - 集成测试调整
279
+ - E2E 测试修改
280
+ - 性能测试更新
281
+ ```
282
+
283
+ #### 3. 运维影响分析
284
+ ```yaml
285
+ 部署影响:
286
+ - 数据库迁移脚本
287
+ - 配置更新需求
288
+ - 服务重启要求
289
+ - 监控指标调整
290
+
291
+ 运行时影响:
292
+ - 性能指标变化
293
+ - 资源使用调整
294
+ - 监控告警更新
295
+ - 备份策略修改
296
+ ```
297
+
298
+ ### 影响评估算法
299
+ ```yaml
300
+ 影响权重计算:
301
+ breaking_changes_weight: 0.4
302
+ new_features_weight: 0.3
303
+ performance_changes_weight: 0.2
304
+ documentation_changes_weight: 0.1
305
+
306
+ 影响级别:
307
+ HIGH (>0.7): 需要项目经理审批
308
+ MEDIUM (0.3-0.7): 需要技术负责人审批
309
+ LOW (<0.3): 可以直接执行
310
+
311
+ 工作量估算:
312
+ 基于历史数据和变更复杂度
313
+ 考虑团队技能和项目熟悉度
314
+ 包含测试和文档更新时间
315
+ ```
316
+
317
+ ## 📊 兼容性检查
318
+
319
+ ### 检查类型
320
+
321
+ #### 1. API 兼容性
322
+ ```yaml
323
+ 向后兼容性:
324
+ - 接口签名未变更
325
+ - 响应格式保持一致
326
+ - 错误码保持稳定
327
+
328
+ 数据兼容性:
329
+ - 数据库模式兼容
330
+ - 数据迁移路径清晰
331
+ - 历史数据可访问
332
+ ```
333
+
334
+ #### 2. 功能兼容性
335
+ ```yaml
336
+ 用户体验:
337
+ - 核心用户流程保持
338
+ - 界面交互一致性
339
+ - 性能不显著下降
340
+
341
+ 集成兼容性:
342
+ - 第三方集成稳定
343
+ - 内部服务接口兼容
344
+ - 消息格式保持
345
+ ```
346
+
347
+ ### 兼容性矩阵
348
+ ```yaml
349
+ 兼容性级别:
350
+ FULLY_COMPATIBLE: 完全兼容,无需任何变更
351
+ BACKWARD_COMPATIBLE: 向后兼容,旧版本客户端可正常工作
352
+ MIGRATION_REQUIRED: 需要迁移,提供自动迁移工具
353
+ BREAKING_CHANGE: 破坏性变更,需要手动处理
354
+
355
+ 检查结果格式:
356
+ version_from: v1.2
357
+ version_to: v2.0
358
+ compatibility_level: MIGRATION_REQUIRED
359
+ affected_components: [frontend, api, database]
360
+ migration_tools: [schema_migration, api_adapter]
361
+ estimated_effort: 16_hours
362
+ ```
363
+
364
+ ## 🔄 自动化集成
365
+
366
+ ### Git 钩子集成
367
+ ```bash
368
+ # .git/hooks/pre-commit
369
+ #!/bin/bash
370
+ # 检查 PRD 变更并自动创建版本
371
+
372
+ if [[ $(git diff --cached --name-only) == *"PRD.md"* ]]; then
373
+ echo "检测到 PRD 变更,执行版本分析..."
374
+ /flow-upgrade $(extract_req_id) --analyze --auto
375
+ fi
376
+ ```
377
+
378
+ ### CI/CD 集成
379
+ ```yaml
380
+ # .github/workflows/prd-version-check.yml
381
+ name: PRD Version Management
382
+ on:
383
+ pull_request:
384
+ paths: ['devflow/requirements/**/PRD.md']
385
+
386
+ jobs:
387
+ version-check:
388
+ runs-on: ubuntu-latest
389
+ steps:
390
+ - name: Analyze PRD Changes
391
+ run: |
392
+ /flow-upgrade ${{ env.REQ_ID }} --analyze --format=json > impact.json
393
+
394
+ - name: Comment PR with Impact Analysis
395
+ uses: actions/github-script@v6
396
+ with:
397
+ script: |
398
+ const impact = require('./impact.json');
399
+ github.rest.issues.createComment({
400
+ issue_number: context.issue.number,
401
+ owner: context.repo.owner,
402
+ repo: context.repo.repo,
403
+ body: generateImpactComment(impact)
404
+ });
405
+ ```
406
+
407
+ ## 🎯 验收标准
408
+
409
+ ### 功能验收
410
+ - [x] PRD 变更能够自动版本化
411
+ - [x] 变更影响分析准确度 > 85%
412
+ - [x] 支持回滚到历史版本
413
+ - [x] 兼容性检查覆盖主要风险点
414
+ - [x] 版本升级流程文档完整
415
+
416
+ ### 技术验收
417
+ - [x] 版本管理不影响现有工作流性能
418
+ - [x] 支持并发安全的版本操作
419
+ - [x] 历史版本存储优化,避免空间浪费
420
+ - [x] 与现有 git 工作流良好集成
421
+
422
+ ### 用户体验验收
423
+ - [x] 版本升级过程对用户透明
424
+ - [x] 提供清晰的变更摘要和影响说明
425
+ - [x] 支持一键回滚操作
426
+ - [x] 错误提示信息清晰易懂
427
+
428
+ ## 📚 相关文档
429
+
430
+ - [/flow-upgrade 命令文档](./../commands/flow-upgrade.md)
431
+ - [版本管理最佳实践](./../docs/best-practices/version-management.md)
432
+ - [影响分析算法详解](./../docs/algorithms/impact-analysis.md)
433
+ - [兼容性检查指南](./../docs/guides/compatibility-checking.md)
434
+
435
+ ---
436
+
437
+ **核心价值**: PRD 版本管理系统为 cc-devflow 提供了规格演进的完整支持,确保需求变更的可追踪性和影响可控性,这是实现真正的 Specification-Driven Development 的关键基础设施。
@@ -0,0 +1,117 @@
1
+ # Flow-Init Troubleshooting Guide
2
+
3
+ > Quick reference for `/flow-init` errors and recovery
4
+
5
+ ---
6
+
7
+ ## Core Errors
8
+
9
+ ### E1: Invalid REQ_ID Format
10
+ ```bash
11
+ ❌ ERROR: REQ_ID format invalid
12
+ ```
13
+ **Fix**: 使用格式 `REQ-123` 或 `BUG-456`(`^(REQ|BUG)-[0-9]+$`)
14
+
15
+ ---
16
+
17
+ ### E2: REQ_ID Already Exists
18
+ ```bash
19
+ ❌ ERROR: devflow/requirements/REQ-123/ already exists
20
+ ```
21
+ **Fix**: 使用不同 ID 或 `/flow-init "REQ-123|..." --force` 强制覆盖
22
+
23
+ ---
24
+
25
+ ### E3: Git Status Not Clean
26
+ ```bash
27
+ ❌ ERROR: Git working directory has uncommitted changes
28
+ ```
29
+ **Fix**: `git status` → `git commit` 或 `git stash`
30
+
31
+ ---
32
+
33
+ ### E4: Research Validation Failed
34
+ ```bash
35
+ ❌ ERROR: research.md validation failed (incomplete)
36
+ ```
37
+ **Diagnose**: `grep -c "Decision:" devflow/requirements/REQ-123/research/research.md`
38
+ **Fix**: 手动补充 research.md Decision blocks 或重新运行 research 步骤
39
+
40
+ ---
41
+
42
+ ### E5: MCP Fetch Failed
43
+ ```bash
44
+ ⚠️ WARNING: MCP fetch timed out (Context7)
45
+ ```
46
+ **Fix**: 继续执行但标记 `research/mcp/` 下的待补项,稍后手动补充
47
+
48
+ ---
49
+
50
+ ## Recovery Procedures
51
+
52
+ ### Complete Restart
53
+ ```bash
54
+ rm -rf devflow/requirements/REQ-123/
55
+ git branch -D feature/REQ-123-*
56
+ /flow-init "REQ-123|Title|URLs"
57
+ ```
58
+
59
+ ### Recover from Interruption
60
+ ```bash
61
+ # 检查当前状态
62
+ cat devflow/requirements/REQ-123/orchestration_status.json | jq '.phase0_complete'
63
+
64
+ # 如果 false,补充研究材料
65
+ # 手动编辑 research/research.md → 添加 Decision blocks
66
+
67
+ # 更新状态
68
+ jq '.phase0_complete = true' devflow/requirements/REQ-123/orchestration_status.json > tmp.json
69
+ mv tmp.json devflow/requirements/REQ-123/orchestration_status.json
70
+
71
+ # 继续下一阶段
72
+ /flow-prd "REQ-123"
73
+ ```
74
+
75
+ ### Rebuild Research.md from Tasks.json
76
+ ```bash
77
+ REQ_DIR="devflow/requirements/REQ-123"
78
+
79
+ # 从 tasks.json 生成 research.md
80
+ bash .claude/scripts/consolidate-research.sh "$REQ_DIR"
81
+
82
+ # 验证
83
+ bash .claude/scripts/validate-research.sh "$REQ_DIR"
84
+ ```
85
+
86
+ ---
87
+
88
+ ## Configuration
89
+
90
+ ### Environment Variables
91
+ | Variable | Default | Purpose |
92
+ |----------|---------|---------|
93
+ | `SKIP_MCP_RESEARCH` | `false` | 跳过外部 MCP 材料抓取 |
94
+ | `REQUIRE_CLEAN_GIT` | `true` | 要求 Git 状态干净 |
95
+
96
+ ### Command-Line Flags
97
+ ```bash
98
+ /flow-init "REQ-123|..." --force # 强制覆盖现有需求
99
+ /flow-init --interactive # 交互式输入模式
100
+ ```
101
+
102
+ ---
103
+
104
+ ## FAQ
105
+
106
+ **Q: 如何跳过 MCP 研究阶段?**
107
+ A: `SKIP_MCP_RESEARCH=1 /flow-init "REQ-123|..."`
108
+
109
+ **Q: Context Loading 阶段找不到 ROADMAP.md 怎么办?**
110
+ A: 可选步骤,不影响执行。如需路线图,先运行 `/core-roadmap`
111
+
112
+ **Q: Research.md 格式要求?**
113
+ A: 至少包含 1 个 `### Decision:` block,每个 block 有 Rationale/Alternatives/Source
114
+
115
+ ---
116
+
117
+ **Last Updated**: 2025-12-19
@@ -0,0 +1,151 @@
1
+ # Flow-New Troubleshooting Guide
2
+
3
+ > Quick reference for `/flow-new` errors and recovery
4
+
5
+ ---
6
+
7
+ ## Core Errors
8
+
9
+ ### E1: Stage Command Not Found
10
+ ```bash
11
+ ❌ ERROR: Command /flow-init not found
12
+ ```
13
+ **Fix**: `ls .claude/commands/flow-*.md` → 检查缺失文件 → `git checkout HEAD -- .claude/commands/`
14
+
15
+ ---
16
+
17
+ ### E2: Status File Corrupted
18
+ ```bash
19
+ ❌ ERROR: Invalid orchestration_status.json
20
+ ```
21
+ **Diagnose**: `jq . devflow/requirements/REQ-123/orchestration_status.json`
22
+ **Fix**: 从模板重建或 `/flow-restart "REQ-123"`
23
+
24
+ ---
25
+
26
+ ### E3: Interrupted, Cannot Resume
27
+ ```bash
28
+ ❌ ERROR: Requirement REQ-123 already exists
29
+ ```
30
+ **Diagnose**: `/flow-status REQ-123`
31
+ **Fix**: `/flow-restart "REQ-123"` 或手动从特定阶段继续
32
+
33
+ ---
34
+
35
+ ### E4: UI Detection False Positive
36
+ ```bash
37
+ ✅ UI原型生成完成 (但项目是纯后端)
38
+ ```
39
+ **Fix**: 在 PRD.md 开头添加 `## 项目类型声明\n**纯后端 API 项目**,无 UI 需求。`
40
+
41
+ ---
42
+
43
+ ### E5: Epic 未覆盖所有技术层
44
+ ```bash
45
+ ⚠️ WARNING: TASKS.md 未覆盖 TECH_DESIGN.md 所有层
46
+ ```
47
+ **Diagnose**: `grep "## Section" devflow/requirements/REQ-123/TECH_DESIGN.md`
48
+ **Fix**: 手动补充缺失任务或重新生成 `/flow-epic "REQ-123"`
49
+
50
+ ---
51
+
52
+ ### E6: QA Gate Failure
53
+ ```bash
54
+ ❌ 代码覆盖率: 65% (要求 ≥ 80%)
55
+ ❌ 安全问题: 2 个高危漏洞
56
+ ```
57
+ **Fix**:
58
+ - 补充测试: `npm test -- --coverage --verbose` → 识别未覆盖模块
59
+ - 修复漏洞: 查看 `SECURITY_REPORT.md` → 修复代码 → 重新运行 `/flow-qa "REQ-123" --full`
60
+
61
+ ---
62
+
63
+ ### E7: Build Failure
64
+ ```bash
65
+ ❌ error TS2345: Argument of type 'string | undefined'...
66
+ ```
67
+ **Fix**: `npm run typecheck` → 修复类型错误 → `npm run build`
68
+
69
+ ---
70
+
71
+ ### E8: PR Creation Failed
72
+ ```bash
73
+ ❌ gh pr create: HTTP 403: Resource not accessible
74
+ ```
75
+ **Fix**: `gh auth login` → 重新认证 → `/flow-release "REQ-123"`
76
+
77
+ ---
78
+
79
+ ## Recovery Procedures
80
+
81
+ ### Complete Restart
82
+ ```bash
83
+ rm -rf devflow/requirements/REQ-123/
84
+ git branch -D feature/REQ-123-*
85
+ /flow-new "REQ-123|Title|URLs"
86
+ ```
87
+
88
+ ### Partial Resume (从特定任务继续)
89
+ ```bash
90
+ # 检查最后完成的任务
91
+ ls devflow/requirements/REQ-123/tasks/*.completed | tail -1
92
+
93
+ # 从下一任务继续
94
+ /flow-dev "REQ-123" --resume --from=TASK_008
95
+ ```
96
+
97
+ ### State File Rebuild
98
+ ```bash
99
+ REQ_DIR="devflow/requirements/REQ-123"
100
+ HAS_PRD=$([ -f "$REQ_DIR/PRD.md" ] && echo true || echo false)
101
+ HAS_TECH=$([ -f "$REQ_DIR/TECH_DESIGN.md" ] && echo true || echo false)
102
+
103
+ # 重建状态文件
104
+ cat > $REQ_DIR/orchestration_status.json <<EOF
105
+ {
106
+ "reqId": "REQ-123",
107
+ "status": "$( [ "$HAS_TECH" = "true" ] && echo "tech_complete" || echo "prd_complete" )",
108
+ "prd_complete": $HAS_PRD,
109
+ "tech_design_complete": $HAS_TECH,
110
+ "epic_complete": false,
111
+ "dev_complete": false
112
+ }
113
+ EOF
114
+
115
+ jq . $REQ_DIR/orchestration_status.json # 验证
116
+ /flow-restart "REQ-123"
117
+ ```
118
+
119
+ ---
120
+
121
+ ## Configuration
122
+
123
+ ### Environment Variables
124
+ | Variable | Default | Purpose |
125
+ |----------|---------|---------|
126
+ | `SKIP_UI_DETECTION` | `false` | 强制跳过 UI 生成 |
127
+ | `COVERAGE_THRESHOLD` | `80` | 代码覆盖率要求 |
128
+ | `FLOW_DEBUG` | `false` | 启用调试日志 |
129
+
130
+ ### Command-Line Flags
131
+ ```bash
132
+ /flow-new "REQ-123|..." --skip-ui # 跳过 UI
133
+ /flow-new "REQ-123|..." --resume # 恢复执行
134
+ ```
135
+
136
+ ---
137
+
138
+ ## FAQ
139
+
140
+ **Q: 可以在 flow-new 执行中暂停吗?**
141
+ A: Ctrl+C 中断 → `/flow-status REQ-123` 查看状态 → `/flow-restart "REQ-123"` 恢复
142
+
143
+ **Q: 如何从特定阶段重新开始?**
144
+ A: 使用对应阶段命令重新执行,如 `/flow-prd "REQ-123"` 或 `/flow-epic "REQ-123"`
145
+
146
+ **Q: flow-new 支持 BUG 修复吗?**
147
+ A: 不支持,BUG 使用 `/flow-fix "BUG-456|描述"`
148
+
149
+ ---
150
+
151
+ **Last Updated**: 2025-12-19