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,633 @@
1
+ # Project Architecture: {{PROJECT_NAME}}
2
+
3
+ **Version**: {{VERSION}}
4
+ **Created**: {{CREATED_DATE}} 北京时间
5
+ **Updated**: {{UPDATED_DATE}} 北京时间
6
+ **Architecture Type**: {{ARCH_TYPE}}
7
+ **Deployment Model**: {{DEPLOYMENT_MODEL}}
8
+
9
+ **Input**:
10
+ - devflow/ROADMAP.md (路线图,包含所有 RM-IDs 和需求)
11
+ - devflow/requirements/REQ-*/TECH_DESIGN.md (已有需求的技术设计)
12
+ - devflow/project.md (技术栈信息)
13
+ - devflow/ARCHITECTURE.md (如果存在,用于更新模式)
14
+
15
+ **Prerequisites**: ROADMAP.md 已生成,至少有 1 个已完成的需求
16
+
17
+ ## Execution Flow (Architecture 生成流程)
18
+ ```
19
+ 1. Load inputs
20
+ → Read devflow/ROADMAP.md (extract RM-IDs, dependencies)
21
+ → Read devflow/requirements/REQ-*/TECH_DESIGN.md (analyze tech stack, modules)
22
+ → Read devflow/project.md (extract tech stack)
23
+ → Check if devflow/ARCHITECTURE.md exists (update vs create mode)
24
+
25
+ 2. Load ARCHITECTURE_TEMPLATE.md
26
+ → Read template from .claude/docs/templates/ARCHITECTURE_TEMPLATE.md
27
+ → Prepare to fill all sections
28
+
29
+ 3. Analyze architecture type
30
+ → Extract from project.md or infer from requirements
31
+ → Architecture Type: Monolith | Microservices | Frontend-Backend | Serverless
32
+ → Deployment Model: Desktop | Web | Mobile | CLI | Hybrid
33
+ → Fill header metadata
34
+
35
+ 4. Analyze tech stack
36
+ → From project.md: extract Frontend, Backend, Database, Integration technologies
37
+ → From TECH_DESIGN.md: extract additional libraries, frameworks
38
+ → Organize by layer (Presentation, Business, Data, Integration)
39
+
40
+ 5. Generate Diagram 1: Feature Architecture (功能架构图)
41
+ → From ROADMAP.md: extract all RM-IDs and REQ-IDs
42
+ → Group related features into clusters (Core, Business, Support)
43
+ → Identify dependencies from ROADMAP.md dependency graph
44
+ → Generate Mermaid graph syntax
45
+ → Validate syntax (no missing brackets, valid node IDs)
46
+
47
+ 6. Generate Diagram 2: Technical Architecture (技术架构图)
48
+ → Design layered architecture (Presentation → Business → Data → Integration)
49
+ → Map technologies to layers from tech stack analysis
50
+ → Show interactions between layers
51
+ → Generate Mermaid graph syntax
52
+ → Validate syntax
53
+
54
+ 7. Generate Diagram 3: Module Structure (模块划分图)
55
+ → Scan actual codebase structure (src/, .claude/, devflow/, etc.)
56
+ → Identify key directories and their relationships
57
+ → Generate Mermaid graph syntax
58
+ → Validate syntax
59
+
60
+ 8. Generate Diagram 4: Requirement Dependency (需求依赖图)
61
+ → From ROADMAP.md: extract dependency relationships
62
+ → Include both REQ-to-RM and RM-to-RM dependencies
63
+ → Color-code by status:
64
+ • Completed REQs: #90EE90 (green)
65
+ • In-progress REQs: #FFD700 (gold)
66
+ • Planned RMs: #D3D3D3 (gray)
67
+ → Generate Mermaid graph syntax
68
+ → Validate syntax
69
+
70
+ 9. Fill Architecture Decision Records (ADR)
71
+ → For each major architectural decision:
72
+ • What: Decision made
73
+ • Why: Rationale
74
+ • When: Date
75
+ • Impact: Consequences
76
+ → Include decisions from TECH_DESIGN.md
77
+ → Format as structured sections
78
+
79
+ 10. Validate completeness
80
+ → All 4 diagrams generated
81
+ → All Mermaid syntax valid
82
+ → No {{PLACEHOLDER}} remaining
83
+ → Architecture reflects ROADMAP.md content
84
+ → If incomplete: ERROR "Complete missing sections"
85
+
86
+ 11. Write devflow/ARCHITECTURE.md
87
+ → Write complete file
88
+ → Use UTF-8 encoding
89
+ → Ensure markdown formatting correct
90
+
91
+ 12. Return: SUCCESS (ARCHITECTURE.md generated)
92
+ ```
93
+
94
+ **重要**: 这是一个自执行模板。architecture-designer agent 应该按照 Execution Flow 生成完整的 ARCHITECTURE.md 文件。
95
+
96
+ ---
97
+
98
+ ## 架构类型
99
+
100
+ - **应用类型**: {{ARCH_TYPE}}
101
+ - Monolith (单体应用)
102
+ - Microservices (微服务)
103
+ - Frontend-Backend Separation (前后端分离)
104
+ - Serverless (无服务器)
105
+
106
+ - **部署方式**: {{DEPLOYMENT_MODEL}}
107
+ - Desktop Application (桌面应用 - Electron)
108
+ - Web Application (Web 应用)
109
+ - Mobile Application (移动应用)
110
+ - CLI Tool (命令行工具)
111
+ - Hybrid (混合模式)
112
+
113
+ ---
114
+
115
+ ## 技术栈
116
+
117
+ ### Frontend
118
+ {{FRONTEND_STACK}}
119
+
120
+ _示例:_
121
+ - **Framework**: React 18 + TypeScript
122
+ - **State Management**: Redux Toolkit
123
+ - **UI Library**: Ant Design
124
+ - **Build Tool**: Vite
125
+
126
+ ### Backend
127
+ {{BACKEND_STACK}}
128
+
129
+ _示例:_
130
+ - **Runtime**: Node.js 20
131
+ - **Framework**: Express.js
132
+ - **Language**: TypeScript
133
+ - **API Style**: RESTful
134
+
135
+ ### Database
136
+ {{DATABASE_STACK}}
137
+
138
+ _示例:_
139
+ - **Primary**: SQLite (embedded)
140
+ - **Cache**: Redis (optional)
141
+ - **Migration**: Knex.js
142
+
143
+ ### Integration
144
+ {{INTEGRATION_STACK}}
145
+
146
+ _示例:_
147
+ - **AI**: Claude API
148
+ - **MCP**: Model Context Protocol Servers
149
+ - **External APIs**: GitHub API, npm Registry
150
+
151
+ ### DevOps & Tools
152
+ {{DEVOPS_STACK}}
153
+
154
+ _示例:_
155
+ - **Package Manager**: npm
156
+ - **Testing**: Jest + React Testing Library
157
+ - **Linting**: ESLint + Prettier
158
+ - **Build**: Electron Builder
159
+
160
+ ---
161
+
162
+ ## 1. 功能架构图(Feature Architecture)
163
+
164
+ ### 核心模块划分
165
+
166
+ 本项目按照功能领域划分为三层架构:
167
+
168
+ - **核心层 (Core)**: 提供基础认证、权限、安全等核心能力
169
+ - **业务层 (Business)**: 实现具体业务功能,如会话管理、数据处理
170
+ - **支撑层 (Support)**: 提供配置、日志、监控等支撑服务
171
+
172
+ {{FEATURE_ARCHITECTURE_DESCRIPTION}}
173
+
174
+ ### 架构图
175
+
176
+ ```mermaid
177
+ graph TB
178
+ subgraph "核心层 Core"
179
+ {{CORE_MODULE_1}}[{{CORE_LABEL_1}}]
180
+ {{CORE_MODULE_2}}[{{CORE_LABEL_2}}]
181
+ end
182
+
183
+ subgraph "业务层 Business"
184
+ {{BUSINESS_MODULE_1}}[{{BUSINESS_LABEL_1}}]
185
+ {{BUSINESS_MODULE_2}}[{{BUSINESS_LABEL_2}}]
186
+ {{BUSINESS_MODULE_3}}[{{BUSINESS_LABEL_3}}]
187
+ end
188
+
189
+ subgraph "支撑层 Support"
190
+ {{SUPPORT_MODULE_1}}[{{SUPPORT_LABEL_1}}]
191
+ {{SUPPORT_MODULE_2}}[{{SUPPORT_LABEL_2}}]
192
+ end
193
+
194
+ {{BUSINESS_MODULE_1}} --> {{CORE_MODULE_1}}
195
+ {{BUSINESS_MODULE_2}} --> {{CORE_MODULE_2}}
196
+ {{BUSINESS_MODULE_3}} --> {{BUSINESS_MODULE_1}}
197
+ {{SUPPORT_MODULE_1}} --> {{CORE_MODULE_1}}
198
+ ```
199
+
200
+ _填充规则:_
201
+ - Module ID 格式: 无空格无破折号(例如: `Auth`, `Session`, `Config`)
202
+ - Label 格式: 中文简短描述(例如: `用户认证`, `会话管理`)
203
+ - 箭头表示依赖关系:A → B 表示 A 依赖 B
204
+ - 从 ROADMAP.md 提取模块名称和依赖关系
205
+
206
+ _示例(完整图):_
207
+ ```mermaid
208
+ graph TB
209
+ subgraph "核心层 Core"
210
+ Auth[用户认证 REQ-001]
211
+ Perm[权限管理 REQ-002]
212
+ MultiAcc[多账号支持 RM-003]
213
+ end
214
+
215
+ subgraph "业务层 Business"
216
+ Session[会话管理 REQ-008]
217
+ Input[输入增强 RM-001]
218
+ Analysis[数据分析 RM-004]
219
+ end
220
+
221
+ subgraph "支撑层 Support"
222
+ Perf[性能优化 RM-002]
223
+ Config[配置管理]
224
+ Log[日志系统]
225
+ end
226
+
227
+ MultiAcc --> Perm
228
+ Session --> Auth
229
+ Input --> Session
230
+ Analysis --> Session
231
+ Perf --> Input
232
+ Config --> Auth
233
+ Log --> Session
234
+ ```
235
+
236
+ ---
237
+
238
+ ## 2. 技术架构图(Technical Architecture)
239
+
240
+ ### 分层设计
241
+
242
+ 本项目采用经典四层架构,确保关注点分离和可维护性:
243
+
244
+ - **表现层 (Presentation)**: 用户界面和交互逻辑
245
+ - **业务层 (Business)**: 核心业务逻辑和规则
246
+ - **数据层 (Data)**: 数据持久化和访问
247
+ - **集成层 (Integration)**: 外部系统集成
248
+
249
+ {{TECHNICAL_ARCHITECTURE_DESCRIPTION}}
250
+
251
+ ### 架构图
252
+
253
+ ```mermaid
254
+ graph TB
255
+ subgraph "表现层 Presentation"
256
+ {{PRES_COMPONENT_1}}[{{PRES_LABEL_1}}]
257
+ {{PRES_COMPONENT_2}}[{{PRES_LABEL_2}}]
258
+ end
259
+
260
+ subgraph "业务层 Business"
261
+ {{BUS_COMPONENT_1}}[{{BUS_LABEL_1}}]
262
+ {{BUS_COMPONENT_2}}[{{BUS_LABEL_2}}]
263
+ end
264
+
265
+ subgraph "数据层 Data"
266
+ {{DATA_COMPONENT_1}}[{{DATA_LABEL_1}}]
267
+ {{DATA_COMPONENT_2}}[{{DATA_LABEL_2}}]
268
+ end
269
+
270
+ subgraph "集成层 Integration"
271
+ {{INT_COMPONENT_1}}[{{INT_LABEL_1}}]
272
+ {{INT_COMPONENT_2}}[{{INT_LABEL_2}}]
273
+ end
274
+
275
+ {{PRES_COMPONENT_1}} --> {{PRES_COMPONENT_2}}
276
+ {{PRES_COMPONENT_2}} --> {{BUS_COMPONENT_1}}
277
+ {{BUS_COMPONENT_1}} --> {{BUS_COMPONENT_2}}
278
+ {{BUS_COMPONENT_2}} --> {{DATA_COMPONENT_1}}
279
+ {{BUS_COMPONENT_2}} --> {{DATA_COMPONENT_2}}
280
+ {{BUS_COMPONENT_1}} --> {{INT_COMPONENT_1}}
281
+ {{BUS_COMPONENT_1}} --> {{INT_COMPONENT_2}}
282
+ ```
283
+
284
+ _填充规则:_
285
+ - 从技术栈部分提取组件(React, Express, SQLite, Claude API, etc.)
286
+ - Component ID: 技术简称无空格(例如: `UI`, `State`, `API`, `DB`)
287
+ - Label: 技术全称(例如: `React + TypeScript`, `SQLite`)
288
+ - 箭头表示调用关系或数据流向
289
+
290
+ _示例(完整图):_
291
+ ```mermaid
292
+ graph TB
293
+ subgraph "表现层 Presentation"
294
+ UI[React + TypeScript]
295
+ State[Redux Toolkit]
296
+ end
297
+
298
+ subgraph "业务层 Business"
299
+ API[Express.js API]
300
+ BL[Business Logic]
301
+ end
302
+
303
+ subgraph "数据层 Data"
304
+ DB[(SQLite)]
305
+ Cache[(Redis)]
306
+ end
307
+
308
+ subgraph "集成层 Integration"
309
+ MCP[MCP Server]
310
+ Claude[Claude API]
311
+ GitHub[GitHub API]
312
+ end
313
+
314
+ UI --> State
315
+ State --> API
316
+ API --> BL
317
+ BL --> DB
318
+ BL --> Cache
319
+ API --> MCP
320
+ API --> Claude
321
+ BL --> GitHub
322
+ ```
323
+
324
+ ---
325
+
326
+ ## 3. 模块划分图(Module Structure)
327
+
328
+ ### 代码组织
329
+
330
+ 本项目代码仓库按职责划分为以下主要模块:
331
+
332
+ {{MODULE_STRUCTURE_DESCRIPTION}}
333
+
334
+ ### 架构图
335
+
336
+ ```mermaid
337
+ graph LR
338
+ subgraph "{{PROJECT_NAME}}"
339
+ subgraph "{{DIR_GROUP_1}}"
340
+ {{DIR_1_1}}[{{DIR_LABEL_1_1}}]
341
+ {{DIR_1_2}}[{{DIR_LABEL_1_2}}]
342
+ {{DIR_1_3}}[{{DIR_LABEL_1_3}}]
343
+ end
344
+
345
+ subgraph "{{DIR_GROUP_2}}"
346
+ {{DIR_2_1}}[{{DIR_LABEL_2_1}}]
347
+ {{DIR_2_2}}[{{DIR_LABEL_2_2}}]
348
+ {{DIR_2_3}}[{{DIR_LABEL_2_3}}]
349
+ end
350
+
351
+ subgraph "{{DIR_GROUP_3}}"
352
+ {{DIR_3_1}}[{{DIR_LABEL_3_1}}]
353
+ {{DIR_3_2}}[{{DIR_LABEL_3_2}}]
354
+ end
355
+ end
356
+
357
+ {{DIR_2_2}} --> {{DIR_2_1}}
358
+ {{DIR_2_1}} --> {{DIR_2_3}}
359
+ ```
360
+
361
+ _填充规则:_
362
+ - 扫描实际目录结构: src/, .claude/, devflow/, etc.
363
+ - Dir Group: 主要目录(例如: "src/", ".claude/")
364
+ - Dir Label: 子目录名称(例如: "components/", "services/")
365
+ - 箭头表示依赖关系(可选)
366
+
367
+ _示例(完整图):_
368
+ ```mermaid
369
+ graph LR
370
+ subgraph "anna-agent"
371
+ subgraph "src/"
372
+ Comp[components/]
373
+ Serv[services/]
374
+ Utils[utils/]
375
+ Types[types/]
376
+ end
377
+
378
+ subgraph ".claude/"
379
+ Agents[agents/]
380
+ Cmds[commands/]
381
+ Scripts[scripts/]
382
+ Docs[docs/]
383
+ end
384
+
385
+ subgraph "devflow/"
386
+ Reqs[requirements/]
387
+ Roadmap[ROADMAP.md]
388
+ Arch[ARCHITECTURE.md]
389
+ end
390
+ end
391
+
392
+ Cmds --> Agents
393
+ Cmds --> Scripts
394
+ Agents --> Docs
395
+ Comp --> Serv
396
+ Serv --> Utils
397
+ ```
398
+
399
+ ---
400
+
401
+ ## 4. 需求依赖图(Requirement Dependency)
402
+
403
+ ### 依赖关系
404
+
405
+ 需求间依赖关系展示了功能演进的顺序和关系:
406
+
407
+ {{REQUIREMENT_DEPENDENCY_DESCRIPTION}}
408
+
409
+ ### 架构图
410
+
411
+ ```mermaid
412
+ graph TD
413
+ {{REQ_NODE_1}}[{{REQ_LABEL_1}}] --> {{REQ_NODE_2}}[{{REQ_LABEL_2}}]
414
+ {{REQ_NODE_2}} --> {{RM_NODE_1}}[{{RM_LABEL_1}}]
415
+ {{REQ_NODE_3}}[{{REQ_LABEL_3}}] --> {{RM_NODE_2}}[{{RM_LABEL_2}}]
416
+
417
+ style {{REQ_NODE_1}} fill:#90EE90
418
+ style {{REQ_NODE_2}} fill:#90EE90
419
+ style {{REQ_NODE_3}} fill:#FFD700
420
+ style {{RM_NODE_1}} fill:#D3D3D3
421
+ style {{RM_NODE_2}} fill:#D3D3D3
422
+ ```
423
+
424
+ _填充规则:_
425
+ - 从 ROADMAP.md 的 Dependency Graph 提取依赖关系
426
+ - Node ID: 去除破折号(REQ001, REQ010, RM001)
427
+ - Node Label: 带破折号和标题(`REQ-001: 用户认证`)
428
+ - 颜色编码:
429
+ - #90EE90 (浅绿): 已完成的 REQ
430
+ - #FFD700 (金色): 进行中的 REQ
431
+ - #D3D3D3 (浅灰): 计划中的 RM
432
+ - 箭头方向: 依赖项 → 被依赖项
433
+
434
+ _示例(完整图):_
435
+ ```mermaid
436
+ graph TD
437
+ REQ001[REQ-001: 用户认证] --> REQ002[REQ-002: 权限管理]
438
+ REQ008[REQ-008: 会话管理] --> REQ001
439
+ REQ009[REQ-009: 输入增强] --> REQ008
440
+
441
+ REQ002 --> RM003[RM-003: 多账号支持]
442
+ REQ009 --> RM001[RM-001: 输入框 v2.0]
443
+ REQ010[REQ-010: 数据分析] --> RM004[RM-004: 数据分析增强]
444
+
445
+ style REQ001 fill:#90EE90
446
+ style REQ002 fill:#90EE90
447
+ style REQ008 fill:#90EE90
448
+ style REQ009 fill:#90EE90
449
+ style REQ010 fill:#FFD700
450
+ style RM001 fill:#D3D3D3
451
+ style RM003 fill:#D3D3D3
452
+ style RM004 fill:#D3D3D3
453
+ ```
454
+
455
+ ---
456
+
457
+ ## 架构决策记录(Architecture Decision Records)
458
+
459
+ ### ADR-{{ADR_NUMBER}}: {{DECISION_TITLE}}
460
+
461
+ - **日期**: {{ADR_DATE}} 北京时间
462
+ - **状态**: {{ADR_STATUS}} (Proposed | Accepted | Deprecated | Superseded)
463
+ - **决策者**: {{DECISION_MAKER}}
464
+
465
+ **背景 (Context)**:
466
+ {{ADR_CONTEXT}}
467
+
468
+ **决策 (Decision)**:
469
+ {{ADR_DECISION}}
470
+
471
+ **理由 (Rationale)**:
472
+ {{ADR_RATIONALE}}
473
+
474
+ **影响 (Consequences)**:
475
+ - **正面影响**:
476
+ - {{POSITIVE_CONSEQUENCE_1}}
477
+ - {{POSITIVE_CONSEQUENCE_2}}
478
+
479
+ - **负面影响**:
480
+ - {{NEGATIVE_CONSEQUENCE_1}}
481
+ - {{NEGATIVE_CONSEQUENCE_2}}
482
+
483
+ - **中性影响**:
484
+ - {{NEUTRAL_CONSEQUENCE_1}}
485
+
486
+ **替代方案 (Alternatives Considered)**:
487
+ 1. {{ALTERNATIVE_1}}
488
+ - 优势: {{ALT_1_PROS}}
489
+ - 劣势: {{ALT_1_CONS}}
490
+ - 为何未选择: {{ALT_1_REASON}}
491
+
492
+ ---
493
+
494
+ _填充规则:_
495
+ - ADR Number: 序号 001, 002, 003...
496
+ - 从 TECH_DESIGN.md 提取架构决策
497
+ - Status: 标记决策的当前状态
498
+ - Context: 说明为什么需要做这个决策(问题或需求)
499
+ - Decision: 明确说明做了什么决策
500
+ - Rationale: 为什么选择这个决策(技术、业务、团队等因素)
501
+ - Consequences: 这个决策带来的影响(好的、坏的、中性的)
502
+ - Alternatives: 考虑过但未选择的其他方案
503
+
504
+ _示例:_
505
+
506
+ ### ADR-001: 选择 Electron 作为桌面应用框架
507
+
508
+ - **日期**: 2024-12-01 北京时间
509
+ - **状态**: Accepted
510
+ - **决策者**: Tech Team
511
+
512
+ **背景**: 需要开发跨平台桌面应用,支持 macOS、Windows、Linux。
513
+
514
+ **决策**: 使用 Electron 框架构建桌面应用。
515
+
516
+ **理由**:
517
+ - 团队熟悉 Web 技术栈(React + TypeScript)
518
+ - Electron 拥有成熟的生态系统和社区支持
519
+ - 可复用 Web 开发经验和组件库
520
+ - VS Code、Slack 等成功案例证明其可行性
521
+
522
+ **影响**:
523
+ - **正面影响**:
524
+ - 开发效率高,团队无需学习新技术栈
525
+ - 跨平台支持开箱即用
526
+ - 丰富的第三方库和工具
527
+
528
+ - **负面影响**:
529
+ - 内存占用较高(Chromium 内核)
530
+ - 应用包体积较大(100MB+)
531
+ - 启动速度相对原生应用较慢
532
+
533
+ - **中性影响**:
534
+ - 需要额外关注性能优化
535
+
536
+ **替代方案**:
537
+ 1. **Tauri (Rust + Web)**
538
+ - 优势: 更小的包体积、更低的内存占用
539
+ - 劣势: 团队不熟悉 Rust、生态系统相对不成熟
540
+ - 为何未选择: 学习成本高,时间紧迫
541
+
542
+ 2. **原生开发(Swift/Kotlin/C++)**
543
+ - 优势: 性能最优、用户体验最佳
544
+ - 劣势: 需要为每个平台单独开发,成本高
545
+ - 为何未选择: 资源有限,无法支撑多平台原生开发
546
+
547
+ ---
548
+
549
+ ## 架构演进路径
550
+
551
+ ### 当前状态(As-Is)
552
+
553
+ {{CURRENT_STATE}}
554
+
555
+ _描述当前架构的状态、已实现的功能模块、技术债务等_
556
+
557
+ ### 目标状态(To-Be)
558
+
559
+ {{TARGET_STATE}}
560
+
561
+ _根据 ROADMAP.md 描述未来 3 个月的目标架构状态_
562
+
563
+ ### 演进计划
564
+
565
+ | Phase | Timeline | Focus | Key Changes |
566
+ |-------|----------|-------|-------------|
567
+ | Phase 1 | {{PHASE_1_TIMELINE}} | {{PHASE_1_FOCUS}} | {{PHASE_1_CHANGES}} |
568
+ | Phase 2 | {{PHASE_2_TIMELINE}} | {{PHASE_2_FOCUS}} | {{PHASE_2_CHANGES}} |
569
+ | Phase 3 | {{PHASE_3_TIMELINE}} | {{PHASE_3_FOCUS}} | {{PHASE_3_CHANGES}} |
570
+
571
+ _填充规则:_
572
+ - 基于 ROADMAP.md 的季度规划
573
+ - 描述架构如何随路线图演进
574
+ - 标注关键变化点(新增模块、重构、技术升级)
575
+
576
+ ---
577
+
578
+ ## 非功能性需求(NFRs)
579
+
580
+ ### 性能要求
581
+
582
+ | Metric | Current | Target | Timeline |
583
+ |--------|---------|--------|----------|
584
+ | 应用启动时间 | {{CURRENT_STARTUP}} | {{TARGET_STARTUP}} | {{STARTUP_TIMELINE}} |
585
+ | 内存占用 | {{CURRENT_MEMORY}} | {{TARGET_MEMORY}} | {{MEMORY_TIMELINE}} |
586
+ | API 响应时间 | {{CURRENT_API_LATENCY}} | {{TARGET_API_LATENCY}} | {{API_TIMELINE}} |
587
+
588
+ ### 可扩展性要求
589
+
590
+ {{SCALABILITY_REQUIREMENTS}}
591
+
592
+ _描述如何支持用户增长、数据增长、功能扩展_
593
+
594
+ ### 安全要求
595
+
596
+ {{SECURITY_REQUIREMENTS}}
597
+
598
+ _描述认证、授权、加密、审计等安全机制_
599
+
600
+ ### 可维护性要求
601
+
602
+ {{MAINTAINABILITY_REQUIREMENTS}}
603
+
604
+ _描述代码质量、测试覆盖率、文档完整性等要求_
605
+
606
+ ---
607
+
608
+ ## Validation Checklist
609
+
610
+ 验证此架构文档是否完整:
611
+
612
+ - [ ] 所有 4 种架构图已生成
613
+ - [ ] 所有 Mermaid 代码语法正确
614
+ - [ ] 架构图反映 ROADMAP.md 内容
615
+ - [ ] 技术栈与 project.md 一致
616
+ - [ ] 至少有 1 条 ADR 记录
617
+ - [ ] 架构演进路径清晰
618
+ - [ ] NFRs 已定义
619
+
620
+ **Ready for Team Review**: {{READY_STATUS}}
621
+
622
+ _填充规则:_
623
+ - 每个 checkbox 应被标记为 `[x]` 或 `[ ]`
624
+ - Ready Status: YES | NO (with reasons)
625
+
626
+ ---
627
+
628
+ **生成说明**:
629
+ 1. 所有 `{{PLACEHOLDER}}` 必须被实际内容替换
630
+ 2. 所有 Mermaid 代码必须语法正确且能渲染
631
+ 3. 架构图应基于 ROADMAP.md 和实际代码结构生成
632
+ 4. ADR 应从 TECH_DESIGN.md 提取或新创建
633
+ 5. 所有日期使用北京时间 + ISO 8601 格式