@chongyan/autospec 1.0.1 → 1.0.2

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 (283) hide show
  1. package/LICENSE +21 -21
  2. package/README.en.md +447 -321
  3. package/README.md +418 -286
  4. package/knowledge/01-principles/00-principles-hierarchy.md +247 -0
  5. package/knowledge/01-principles/01-first-principles.md +241 -0
  6. package/knowledge/01-principles/02-strategic-principles.md +286 -0
  7. package/knowledge/01-principles/03-tactical-principles.md +385 -0
  8. package/knowledge/01-principles/04-operational-principles.md +275 -0
  9. package/knowledge/01-principles/05-domain-principles.md +539 -0
  10. package/knowledge/01-principles/06-methodology-principles.md +281 -0
  11. package/knowledge/01-principles/07-cognitive-principles.md +277 -0
  12. package/knowledge/01-principles/08-auto-fix-principles.md +320 -0
  13. package/knowledge/01-principles/09-constitution.md +220 -0
  14. package/knowledge/{principles/evolution.md → 01-principles/10-evolution-mechanism.md} +160 -14
  15. package/knowledge/01-principles/README.en.md +385 -0
  16. package/knowledge/01-principles/README.md +385 -0
  17. package/knowledge/{process/overview.md → 02-process/00-overview.md} +90 -5
  18. package/knowledge/02-process/README.en.md +143 -0
  19. package/knowledge/02-process/README.md +186 -0
  20. package/knowledge/{guides/support/pipeline-protocol.md → 03-guides/00-pipeline-protocol.md} +10 -10
  21. package/knowledge/{guides/support/team-orchestrator.md → 03-guides/01-team-orchestrator.md} +53 -8
  22. package/knowledge/{guides/stages/requirement-analyzer.md → 03-guides/02-analyze-requirement.md} +3 -3
  23. package/knowledge/{guides/stages/ai-effect-evaluator.md → 03-guides/08-evaluate-ai-effect.md} +14 -7
  24. package/knowledge/{guides/support/skill-distiller.md → 03-guides/19-distill-skill.md} +3 -3
  25. package/knowledge/{guides/support/skill-updater.md → 03-guides/20-update-skill.md} +1 -1
  26. package/knowledge/{guides/support/methodology-extractor.md → 03-guides/22-extract-methodology.md} +2 -2
  27. package/knowledge/{guides/support/complexity-assessor.md → 03-guides/24-assess-complexity.md} +6 -4
  28. package/knowledge/{guides/support/tech-stack-analyzer.md → 03-guides/26-analyze-tech-stack.md} +1 -1
  29. package/knowledge/{guides/domain-driven-design.md → 03-guides/42-apply-ddd.md} +1 -1
  30. package/knowledge/{process/ai-sdlc.md → 03-guides/43-run-ai-sdlc.md} +1 -1
  31. package/knowledge/{guides/knowledge-management.md → 03-guides/44-manage-knowledge.md} +4 -4
  32. package/knowledge/03-guides/README.en.md +212 -0
  33. package/knowledge/03-guides/README.md +212 -0
  34. package/knowledge/{checklists/requirement.md → 04-checklists/00-requirement.md} +1 -1
  35. package/knowledge/{checklists/design.md → 04-checklists/01-design.md} +1 -1
  36. package/knowledge/{checklists/code.md → 04-checklists/02-code.md} +16 -1
  37. package/knowledge/{checklists/release.md → 04-checklists/04-release.md} +1 -1
  38. package/knowledge/04-checklists/README.en.md +119 -0
  39. package/knowledge/04-checklists/README.md +123 -0
  40. package/knowledge/{config/validation-patterns.yaml → 05-config/00-validation-patterns.yaml} +1 -1
  41. package/knowledge/{config/team-tasks.yaml → 05-config/02-team-tasks.yaml} +2 -2
  42. package/knowledge/05-config/03-role-composition.yaml +346 -0
  43. package/knowledge/{config/skill-compositions.yaml → 05-config/05-skill-compositions.yaml} +24 -24
  44. package/knowledge/05-config/README.en.md +54 -0
  45. package/knowledge/05-config/README.md +132 -0
  46. package/knowledge/06-environment/00-template-registry.md +310 -0
  47. package/knowledge/06-environment/01-detection-patterns.yaml +1692 -0
  48. package/knowledge/{environment → 06-environment}/README.en.md +4 -0
  49. package/knowledge/{environment → 06-environment}/README.md +66 -25
  50. package/knowledge/{standards/coding-style.md → 07-standards/00-coding-style.md} +123 -4
  51. package/knowledge/{standards/code-review.md → 07-standards/01-code-review.md} +3 -3
  52. package/knowledge/{standards/data-consistency.md → 07-standards/02-data-consistency.md} +1 -1
  53. package/knowledge/{standards/document-versioning.md → 07-standards/03-document-versioning.md} +1 -1
  54. package/knowledge/{standards/risk-detection.md → 07-standards/04-risk-detection.md} +5 -5
  55. package/knowledge/07-standards/README.en.md +119 -0
  56. package/knowledge/07-standards/README.md +123 -0
  57. package/knowledge/08-organization/00-vision-mission.md +113 -0
  58. package/knowledge/{organization/ai-native-team.md → 08-organization/01-ai-native-culture.md} +1 -1
  59. package/knowledge/{organization/team-metrics.md → 08-organization/02-team-metrics.md} +1 -1
  60. package/knowledge/08-organization/03-committee-structure.md +54 -0
  61. package/knowledge/08-organization/04-governance-metrics.md +55 -0
  62. package/knowledge/08-organization/05-improvement-process.md +71 -0
  63. package/knowledge/08-organization/README.en.md +165 -0
  64. package/knowledge/08-organization/README.md +165 -0
  65. package/knowledge/09-templates/00-requirement-proposal.md +344 -0
  66. package/knowledge/09-templates/01-architecture-design.md +494 -0
  67. package/knowledge/09-templates/02-api-design.md +408 -0
  68. package/knowledge/09-templates/03-database-design.md +313 -0
  69. package/knowledge/09-templates/04-product-design.md +237 -0
  70. package/knowledge/09-templates/05-domain-business.md +388 -0
  71. package/knowledge/09-templates/06-test-design.md +268 -0
  72. package/knowledge/09-templates/07-evaluation-design.md +372 -0
  73. package/knowledge/09-templates/08-component-knowledge.md +272 -0
  74. package/knowledge/09-templates/09-best-practices.md +218 -0
  75. package/knowledge/{environment/middleware-knowledge.md → 09-templates/10-middleware-knowledge.md} +106 -1
  76. package/knowledge/09-templates/README.en.md +222 -0
  77. package/knowledge/09-templates/README.md +216 -0
  78. package/knowledge/README.en.md +372 -0
  79. package/knowledge/README.md +354 -99
  80. package/package.json +1 -1
  81. package/plugins/.claude-plugin/plugin.json +460 -81
  82. package/plugins/agents/roles/ceo.md +1 -1
  83. package/plugins/agents/roles/product-owner.md +1 -1
  84. package/plugins/agents/roles/tech-lead.md +1 -1
  85. package/plugins/agents/support/consistency-checker.md +36 -3
  86. package/plugins/agents/support/monitoring-agent.md +215 -0
  87. package/plugins/agents/support/safety-auditor.md +2 -2
  88. package/plugins/agents/support/stage-gate-evaluator.md +95 -11
  89. package/plugins/agents/support/test-coverage-reviewer.md +1 -1
  90. package/plugins/benchmarks/templates/README.md +165 -13
  91. package/plugins/benchmarks/templates/commands/apply-template.yaml +108 -0
  92. package/plugins/benchmarks/templates/commands/archive-template.yaml +65 -0
  93. package/plugins/benchmarks/templates/commands/env-export-template.yaml +64 -0
  94. package/plugins/benchmarks/templates/commands/env-sync-template.yaml +104 -0
  95. package/plugins/benchmarks/templates/commands/env-template-template.yaml +96 -0
  96. package/plugins/benchmarks/templates/commands/env-template.yaml +58 -0
  97. package/plugins/benchmarks/templates/commands/env-update-template.yaml +110 -0
  98. package/plugins/benchmarks/templates/commands/env-validate-template.yaml +95 -0
  99. package/plugins/benchmarks/templates/commands/field-evolve-template.yaml +104 -0
  100. package/plugins/benchmarks/templates/commands/project-evolve-template.yaml +104 -0
  101. package/plugins/benchmarks/templates/commands/propose-template.yaml +88 -0
  102. package/plugins/benchmarks/templates/commands/review-template.yaml +124 -0
  103. package/plugins/benchmarks/templates/commands/run-template.yaml +127 -0
  104. package/plugins/benchmarks/templates/commands/test-template.yaml +149 -0
  105. package/plugins/benchmarks/templates/pipeline/experiment-template.yaml +92 -0
  106. package/plugins/benchmarks/templates/pipeline/hotfix-template.yaml +81 -0
  107. package/plugins/benchmarks/templates/skills/agile-iteration-template.yaml +78 -0
  108. package/plugins/benchmarks/templates/skills/benchmark-executor-template.yaml +114 -0
  109. package/plugins/benchmarks/templates/skills/benchmark-generator-template.yaml +52 -0
  110. package/plugins/benchmarks/templates/skills/delivery-stage-template.yaml +130 -0
  111. package/plugins/benchmarks/templates/skills/design-stage-template.yaml +131 -0
  112. package/plugins/benchmarks/templates/skills/experiment-iteration-template.yaml +60 -0
  113. package/plugins/benchmarks/templates/skills/exploration-phase-template.yaml +114 -0
  114. package/plugins/benchmarks/templates/skills/field-evolve-analyzer-template.yaml +51 -0
  115. package/plugins/benchmarks/templates/skills/field-evolve-distiller-template.yaml +34 -0
  116. package/plugins/benchmarks/templates/skills/field-evolve-executor-template.yaml +50 -0
  117. package/plugins/benchmarks/templates/skills/field-evolve-fixer-template.yaml +52 -0
  118. package/plugins/benchmarks/templates/skills/field-evolve-learner-template.yaml +33 -0
  119. package/plugins/benchmarks/templates/skills/field-evolve-scanner-template.yaml +74 -0
  120. package/plugins/benchmarks/templates/skills/field-evolve-template.yaml +71 -0
  121. package/plugins/benchmarks/templates/skills/field-evolve-verifier-template.yaml +51 -0
  122. package/plugins/benchmarks/templates/skills/hotfix-iteration-template.yaml +54 -0
  123. package/plugins/benchmarks/templates/skills/implementation-stage-template.yaml +127 -0
  124. package/plugins/benchmarks/templates/skills/layer1-validation-template.yaml +121 -0
  125. package/plugins/benchmarks/templates/skills/project-evolve-analyzer-template.yaml +51 -0
  126. package/plugins/benchmarks/templates/skills/project-evolve-fixer-template.yaml +52 -0
  127. package/plugins/benchmarks/templates/skills/project-evolve-generator-template.yaml +34 -0
  128. package/plugins/benchmarks/templates/skills/project-evolve-learner-template.yaml +50 -0
  129. package/plugins/benchmarks/templates/skills/project-evolve-reviewer-template.yaml +50 -0
  130. package/plugins/benchmarks/templates/skills/project-evolve-scanner-template.yaml +75 -0
  131. package/plugins/benchmarks/templates/skills/project-evolve-template.yaml +72 -0
  132. package/plugins/benchmarks/templates/skills/project-evolve-verifier-template.yaml +51 -0
  133. package/plugins/benchmarks/templates/skills/skill-forge-template.yaml +117 -0
  134. package/plugins/benchmarks/templates/skills/startup-guard-template.yaml +103 -0
  135. package/plugins/benchmarks/templates/skills/testing-stage-template.yaml +146 -0
  136. package/plugins/benchmarks/templates/skills/waterfall-iteration-template.yaml +55 -0
  137. package/plugins/commands/README.en.md +2 -2
  138. package/plugins/commands/README.md +2 -2
  139. package/plugins/commands/apply.md +102 -16
  140. package/plugins/commands/archive.md +60 -4
  141. package/plugins/commands/env-sync.md +1047 -406
  142. package/plugins/commands/env-template.md +11 -135
  143. package/plugins/commands/env-update.md +1 -1
  144. package/plugins/commands/env-validate.md +3 -3
  145. package/plugins/commands/explore.md +118 -1
  146. package/plugins/commands/field-evolve.md +51 -175
  147. package/plugins/commands/project-evolve.md +167 -68
  148. package/plugins/commands/propose.md +97 -6
  149. package/plugins/commands/review.md +5 -5
  150. package/plugins/commands/run.md +841 -13
  151. package/plugins/commands/status.md +138 -17
  152. package/plugins/commands/test.md +389 -0
  153. package/plugins/hooks/constitution-guard.js +1 -1
  154. package/plugins/hooks/environment-autocommit.js +366 -24
  155. package/plugins/hooks/environment-manager.js +3 -2
  156. package/plugins/hooks/execution-tracker.js +109 -4
  157. package/plugins/hooks/layer1-validator.js +117 -1
  158. package/plugins/hooks/lib/auto-fix-loop.js +605 -0
  159. package/plugins/hooks/lib/environment-config-loader.js +11 -7
  160. package/plugins/hooks/lib/hook-state-manager.js +98 -0
  161. package/plugins/hooks/lib/memory-extractor.js +27 -5
  162. package/plugins/hooks/lib/memory-manager.js +1 -1
  163. package/plugins/hooks/lib/test-auto-fix.test.js +194 -0
  164. package/plugins/hooks/monitoring-trigger.js +467 -0
  165. package/plugins/skills/README.en.md +15 -3
  166. package/plugins/skills/README.md +21 -11
  167. package/plugins/skills/agile-iteration/SKILL.md +187 -0
  168. package/plugins/skills/delivery-stage/SKILL.md +133 -12
  169. package/plugins/skills/design-stage/SKILL.md +103 -12
  170. package/plugins/skills/experiment-evaluator/SKILL.md +271 -0
  171. package/plugins/skills/experiment-iteration/SKILL.md +154 -0
  172. package/plugins/skills/exploration-phase/SKILL.md +93 -10
  173. package/plugins/skills/field-evolve-analyzer/SKILL.md +65 -0
  174. package/plugins/skills/field-evolve-distiller/SKILL.md +66 -0
  175. package/plugins/skills/field-evolve-executor/SKILL.md +94 -0
  176. package/plugins/skills/field-evolve-executor/executor.js +342 -0
  177. package/plugins/skills/field-evolve-fixer/SKILL.md +69 -0
  178. package/plugins/skills/field-evolve-learner/SKILL.md +65 -0
  179. package/plugins/skills/field-evolve-scanner/SKILL.md +87 -0
  180. package/plugins/skills/field-evolve-scanner/scripts/fallback-scanner.js +288 -0
  181. package/plugins/skills/field-evolve-verifier/SKILL.md +64 -0
  182. package/plugins/skills/hotfix-iteration/SKILL.md +279 -0
  183. package/plugins/skills/implementation-stage/SKILL.md +156 -15
  184. package/plugins/skills/layer1-validation/SKILL.md +1 -1
  185. package/plugins/skills/pending-dashboard/SKILL.md +9 -8
  186. package/plugins/skills/project-evolve-analyzer/SKILL.md +95 -0
  187. package/plugins/skills/project-evolve-fixer/SKILL.md +99 -0
  188. package/plugins/skills/project-evolve-generator/SKILL.md +149 -0
  189. package/plugins/skills/project-evolve-learner/SKILL.md +103 -0
  190. package/plugins/skills/project-evolve-reviewer/SKILL.md +104 -0
  191. package/plugins/skills/project-evolve-scanner/SKILL.md +95 -0
  192. package/plugins/skills/project-evolve-scanner/scripts/dependency-reuse-checker.js +395 -0
  193. package/plugins/skills/project-evolve-scanner/scripts/subsystem-coverage.js +315 -0
  194. package/plugins/skills/project-evolve-verifier/SKILL.md +105 -0
  195. package/plugins/skills/requirement-stage/SKILL.md +47 -13
  196. package/plugins/skills/skill-forge/SKILL.md +2 -2
  197. package/plugins/skills/testing-stage/SKILL.md +583 -8
  198. package/plugins/skills/waterfall-iteration/SKILL.md +115 -0
  199. package/scripts/cli/index.js +1 -1
  200. package/scripts/cli/init.js +30 -4
  201. package/scripts/cli/list.js +3 -2
  202. package/scripts/config/commands.config.js +8 -8
  203. package/scripts/config/hooks.config.js +1 -1
  204. package/scripts/install/constants.js +204 -165
  205. package/scripts/state.js +210 -1
  206. package/knowledge/config/README.en.md +0 -44
  207. package/knowledge/config/README.md +0 -44
  208. package/knowledge/config/role-composition.yaml +0 -98
  209. package/knowledge/config/team-triggers.yaml +0 -198
  210. package/knowledge/domain/README.md +0 -115
  211. package/knowledge/domain/flows/README.md +0 -194
  212. package/knowledge/domain/glossary.md +0 -143
  213. package/knowledge/domain/rules.md +0 -138
  214. package/knowledge/environment/component-knowledge.md +0 -316
  215. package/knowledge/environment/detection-patterns.yaml +0 -502
  216. package/knowledge/environment/template-registry.md +0 -321
  217. package/knowledge/guides/requirement-engineering.md +0 -329
  218. package/knowledge/guides/system-design.md +0 -352
  219. package/knowledge/principles/constitution.md +0 -134
  220. package/knowledge/principles/core-principles.md +0 -368
  221. package/knowledge/principles/design-philosophy.md +0 -877
  222. package/knowledge/process/README.en.md +0 -38
  223. package/knowledge/process/README.md +0 -48
  224. package/knowledge/templates/ai-evaluation.md +0 -150
  225. package/knowledge/templates/api-design.md +0 -117
  226. package/knowledge/templates/database-design.md +0 -132
  227. package/knowledge/templates/domain-driven-design.md +0 -321
  228. package/knowledge/templates/product-proposal.md +0 -201
  229. package/knowledge/templates/system-design.md +0 -227
  230. package/knowledge/templates/task-breakdown.md +0 -107
  231. package/knowledge/templates/test-case.md +0 -170
  232. package/plugins/commands/validate.md +0 -108
  233. package/plugins/skills/benchmark-executor/README.md +0 -93
  234. package/plugins/skills/evolution-process/SKILL.md +0 -291
  235. package/plugins/skills/project-evolution/SKILL.md +0 -847
  236. package/scripts/evolution/evolution-router.js +0 -273
  237. package/scripts/evolution/evolution-signal-collector.js +0 -307
  238. package/scripts/evolution/knowledge-loader.js +0 -346
  239. package/scripts/evolution/marketplace.js +0 -317
  240. package/scripts/evolution/version-manager.js +0 -371
  241. /package/knowledge/{process → 02-process}/01-requirement.md +0 -0
  242. /package/knowledge/{process → 02-process}/02-design.md +0 -0
  243. /package/knowledge/{process → 02-process}/03-implementation.md +0 -0
  244. /package/knowledge/{process → 02-process}/04-review.md +0 -0
  245. /package/knowledge/{process → 02-process}/05-testing.md +0 -0
  246. /package/knowledge/{process → 02-process}/06-delivery.md +0 -0
  247. /package/knowledge/{guides/stages/design-planner.md → 03-guides/03-design-solution.md} +0 -0
  248. /package/knowledge/{guides/stages/code-implementer.md → 03-guides/04-implement-code.md} +0 -0
  249. /package/knowledge/{guides/stages/test-planner.md → 03-guides/05-plan-testing.md} +0 -0
  250. /package/knowledge/{guides/stages/test-generator.md → 03-guides/06-generate-tests.md} +0 -0
  251. /package/knowledge/{guides/stages/release-checker.md → 03-guides/07-check-release.md} +0 -0
  252. /package/knowledge/{guides/stages/requirement-reviewer.md → 03-guides/09-review-requirement.md} +0 -0
  253. /package/knowledge/{guides/stages/design-reviewer.md → 03-guides/10-review-design.md} +0 -0
  254. /package/knowledge/{guides/stages/code-reviewer.md → 03-guides/11-review-code.md} +0 -0
  255. /package/knowledge/{guides/stages/test-reviewer.md → 03-guides/12-review-testing.md} +0 -0
  256. /package/knowledge/{guides/stages/security-reviewer.md → 03-guides/13-audit-security.md} +0 -0
  257. /package/knowledge/{guides/stages/consistency-checker.md → 03-guides/14-check-consistency.md} +0 -0
  258. /package/knowledge/{guides/stages/unit-test-runner.md → 03-guides/15-run-unit-tests.md} +0 -0
  259. /package/knowledge/{guides/stages/integration-test-runner.md → 03-guides/16-run-integration-tests.md} +0 -0
  260. /package/knowledge/{guides/stages/test-context-analyzer.md → 03-guides/17-analyze-test-context.md} +0 -0
  261. /package/knowledge/{guides/support/practice-logger.md → 03-guides/18-log-practice.md} +0 -0
  262. /package/knowledge/{guides/support/skill-validator.md → 03-guides/21-validate-skill.md} +0 -0
  263. /package/knowledge/{guides/support/scope-inference.md → 03-guides/23-infer-scope.md} +0 -0
  264. /package/knowledge/{guides/support/component-discovery.md → 03-guides/25-discover-component.md} +0 -0
  265. /package/knowledge/{guides/support/environment-scanner.md → 03-guides/27-scan-environment.md} +0 -0
  266. /package/knowledge/{guides/support/environment-validator.md → 03-guides/28-validate-environment.md} +0 -0
  267. /package/knowledge/{guides/support/knowledge-generator.md → 03-guides/29-generate-knowledge.md} +0 -0
  268. /package/knowledge/{guides/support/ai-capability-analyzer.md → 03-guides/30-analyze-ai-capability.md} +0 -0
  269. /package/knowledge/{guides/support/ai-component-analyzer.md → 03-guides/31-analyze-ai-component.md} +0 -0
  270. /package/knowledge/{guides/support/ai-agent-analyzer.md → 03-guides/32-analyze-ai-agent.md} +0 -0
  271. /package/knowledge/{guides/support/ai-rag-analyzer.md → 03-guides/33-analyze-ai-rag.md} +0 -0
  272. /package/knowledge/{guides/support/ai-task-assessor.md → 03-guides/34-assess-ai-task.md} +0 -0
  273. /package/knowledge/{guides/support/ai-pipeline-evaluator.md → 03-guides/35-evaluate-ai-pipeline.md} +0 -0
  274. /package/knowledge/{guides/support/ai-artifact-evaluator.md → 03-guides/36-evaluate-ai-artifact.md} +0 -0
  275. /package/knowledge/{guides/support/ai-evaluation-planner.md → 03-guides/37-plan-ai-evaluation.md} +0 -0
  276. /package/knowledge/{guides/support/ai-path-evaluator.md → 03-guides/38-evaluate-ai-path.md} +0 -0
  277. /package/knowledge/{guides/support/ai-data-validator.md → 03-guides/39-validate-ai-data.md} +0 -0
  278. /package/knowledge/{guides/support/ai-anomaly-analyzer.md → 03-guides/40-detect-ai-anomaly.md} +0 -0
  279. /package/knowledge/{guides/support/ai-test-diagnostics.md → 03-guides/41-diagnose-ai-test.md} +0 -0
  280. /package/knowledge/{guides/support/test-runner.md → 03-guides/45-test-runner.md} +0 -0
  281. /package/knowledge/{checklists/test.md → 04-checklists/03-test.md} +0 -0
  282. /package/knowledge/{config/team-stage.yaml → 05-config/01-team-stage.yaml} +0 -0
  283. /package/knowledge/{config/role-extensions.yaml → 05-config/04-role-extensions.yaml} +0 -0
@@ -0,0 +1,494 @@
1
+ # 架构设计:{项目/系统名}
2
+
3
+ > **版本**: v1.0
4
+ > **模板来源**: 软件工程架构设计最佳实践、ANSI/ISO/IEC/IEEE 42010 标准、C4 模型、结构化设计方法
5
+ > **适用范围**: 所有类型的软件系统架构设计
6
+ > **生成模式**: 两步生成法(大纲→详设)、架构愿景 → 逻辑架构 → 物理架构 → 技术决策
7
+
8
+ ---
9
+
10
+ ## 1. 架构愿景
11
+
12
+ ### 1.1 系统概述
13
+
14
+ | 字段 | 值 |
15
+ |------|-----|
16
+ | 系统名称 | |
17
+ | 系统类型 | 单体/微服务/分布式/Serverless |
18
+ | 主要功能 | |
19
+ | 目标用户 | |
20
+ | 预期规模 | 用户量/数据量/并发量 |
21
+
22
+ ### 1.2 架构目标
23
+
24
+ | 目标 | 说明 | 优先级 | 衡量指标 |
25
+ |------|------|--------|---------|
26
+ | 性能 | | P0/P1/P2 | 响应时间<ms, QPS |
27
+ | 可用性 | | P0/P1/P2 | 99.9%/99.99% |
28
+ | 可扩展性 | | P0/P1/P2 | 水平扩展能力 |
29
+ | 安全性 | | P0/P1/P2 | 安全合规等级 |
30
+ | 可维护性 | | P0/P1/P2 | 代码复杂度、文档完整度 |
31
+
32
+ ### 1.3 架构约束
33
+
34
+ | 约束类型 | 约束描述 | 来源 | 影响 |
35
+ |---------|---------|------|------|
36
+ | 技术约束 | 如:必须使用 Java 17 | 团队技术栈 | 技术选型 |
37
+ | 业务约束 | 如:必须支持多租户 | 业务需求 | 架构设计 |
38
+ | 合规约束 | 如:数据本地化存储 | 法规要求 | 部署架构 |
39
+
40
+ ---
41
+
42
+ ## 2. 系统上下文
43
+
44
+ ### 2.1 系统上下文图
45
+
46
+ ```mermaid
47
+ C4Context
48
+ Person(user, "用户", "系统使用者")
49
+ System_Boundary(system, "系统边界") {
50
+ System(system_name, "系统名称", "系统描述")
51
+ }
52
+ Ext_Boundary(ext, "外部系统") {
53
+ System_Ext(ext_system, "外部系统", "依赖的第三方系统")
54
+ }
55
+ Rel(user, system_name, "使用")
56
+ Rel(system_name, ext_system, "调用")
57
+ ```
58
+
59
+ ### 2.2 外部依赖
60
+
61
+ | 依赖名称 | 类型 | 用途 | 依赖方式 | SLA |
62
+ |---------|------|------|---------|-----|
63
+ | | 数据库/消息队列/缓存/API | | 同步/异步 | 99.9% |
64
+
65
+ ### 2.3 服务依赖关系
66
+
67
+ > 本节描述项目间的服务调用关系,适用于微服务架构或多系统项目。
68
+
69
+ #### 2.3.1 项目依赖图
70
+
71
+ ```mermaid
72
+ graph LR
73
+ project_a -->|RPC| project_b
74
+ project_a -->|HTTP| external_service
75
+ ```
76
+
77
+ #### 2.3.2 项目间依赖
78
+
79
+ | 调用方 | 被调用方 | 类型 | 服务 | 说明 |
80
+ |--------|----------|------|------|------|
81
+ | {from} | {to} | rpc/http/mq | {services} | {description} |
82
+
83
+ #### 2.3.3 外部服务依赖
84
+
85
+ | 项目 | 外部服务 | 类型 | 用途 | 配置项 |
86
+ |------|----------|------|------|--------|
87
+ | {project} | {service} | rpc/http | {purpose} | {config_key} |
88
+
89
+ #### 2.3.4 消息队列依赖
90
+
91
+ | Topic | 生产者 | 消费者 | 说明 |
92
+ |-------|--------|--------|------|
93
+ | {topic} | {producer} | {consumer} | {description} |
94
+
95
+ ---
96
+
97
+ ## 3. 逻辑架构
98
+
99
+ ### 3.1 逻辑分层
100
+
101
+ ```mermaid
102
+ graph TB
103
+ subgraph "展示层"
104
+ A1[Web 端]
105
+ A2[移动端]
106
+ A3[API 网关]
107
+ end
108
+
109
+ subgraph "业务层"
110
+ B1[业务服务 A]
111
+ B2[业务服务 B]
112
+ B3[业务服务 C]
113
+ end
114
+
115
+ subgraph "数据层"
116
+ C1[数据库]
117
+ C2[缓存]
118
+ C3[消息队列]
119
+ end
120
+
121
+ A1 --> A3
122
+ A2 --> A3
123
+ A3 --> B1
124
+ A3 --> B2
125
+ B1 --> C1
126
+ B1 --> C2
127
+ B2 --> C3
128
+ ```
129
+
130
+ ### 3.2 模块划分
131
+
132
+ | 模块名称 | 职责 | 包含组件 | 接口定义 |
133
+ |---------|------|---------|---------|
134
+ | | | | |
135
+
136
+ ### 3.3 核心流程
137
+
138
+ ```mermaid
139
+ sequenceDiagram
140
+ participant A as 组件 A
141
+ participant B as 组件 B
142
+ participant C as 组件 C
143
+
144
+ A->>B: 请求
145
+ B->>C: 处理
146
+ C-->>B: 结果
147
+ B-->>A: 响应
148
+ ```
149
+
150
+ ---
151
+
152
+ ## 4. 物理架构
153
+
154
+ ### 4.1 部署架构
155
+
156
+ ```mermaid
157
+ graph TB
158
+ subgraph "可用区 A"
159
+ A1[节点 A1]
160
+ A2[节点 A2]
161
+ end
162
+
163
+ subgraph "可用区 B"
164
+ B1[节点 B1]
165
+ B2[节点 B2]
166
+ end
167
+
168
+ LB[负载均衡] --> A1
169
+ LB --> A2
170
+ LB --> B1
171
+ LB --> B2
172
+ ```
173
+
174
+ ### 4.2 基础设施
175
+
176
+ | 资源类型 | 规格 | 数量 | 用途 |
177
+ |---------|------|------|------|
178
+ | 计算节点 | | | |
179
+ | 数据库 | | | |
180
+ | 缓存 | | | |
181
+ | 消息队列 | | | |
182
+
183
+ ---
184
+
185
+ ## 5. 技术选型
186
+
187
+ ### 5.1 技术栈
188
+
189
+ | 层级 | 技术 | 版本 | 选型理由 | 替代方案 |
190
+ |------|------|------|---------|---------|
191
+ | 前端 | | | | |
192
+ | 后端 | | | | |
193
+ | 数据库 | | | | |
194
+ | 中间件 | | | | |
195
+
196
+ ### 5.2 关键技术决策
197
+
198
+ | 决策项 | 选项 A | 选项 B | 选择 | 理由 |
199
+ |-------|-------|-------|------|------|
200
+ | | | | | |
201
+
202
+ ---
203
+
204
+ ## 6. 架构质量
205
+
206
+ ### 6.1 性能设计
207
+
208
+ | 场景 | 目标 | 策略 |
209
+ |------|------|------|
210
+ | 读操作 | | 缓存/索引/分页 |
211
+ | 写操作 | | 异步/批量/限流 |
212
+ | 查询 | | 搜索引擎/预计算 |
213
+
214
+ ### 6.2 可用性设计
215
+
216
+ | 风险 | 影响 | 缓解措施 |
217
+ |------|------|---------|
218
+ | 单点故障 | | 冗余部署/自动切换 |
219
+ | 数据丢失 | | 备份/复制 |
220
+ | 服务雪崩 | | 熔断/降级/限流 |
221
+
222
+ ### 6.3 安全设计
223
+
224
+ | 风险 | 防护措施 |
225
+ |------|---------|
226
+ | 认证 | JWT/OAuth2/SSO |
227
+ | 授权 | RBAC/ABAC |
228
+ | 数据安全 | 加密/脱敏 |
229
+
230
+ ---
231
+
232
+ ## 7. 架构演进
233
+
234
+ ### 7.1 版本规划
235
+
236
+ | 版本 | 时间 | 目标 | 关键特性 |
237
+ |------|------|------|---------|
238
+ | v1.0 | | MVP | |
239
+ | v2.0 | | 扩展 | |
240
+
241
+ ### 7.2 技术债务
242
+
243
+ | 债务项 | 原因 | 影响 | 偿还计划 |
244
+ |-------|------|------|---------|
245
+ | | | | |
246
+
247
+ ---
248
+
249
+ ## 8. 设计方法(两步生成法)
250
+
251
+ ### 8.1 概述
252
+
253
+ 采用两步生成法进行设计文档编写:
254
+
255
+ ```
256
+ Phase 1 (大纲) Phase 2 (详设)
257
+ ↓ ↓
258
+ 功能点列表 逐个功能点写详设
259
+ 全部标记 - [ ] 每完成一个打钩 - [x]
260
+ ↓ ↓
261
+ 用户确认方向 进度可视化
262
+ ```
263
+
264
+ ### 8.2 Phase 1: 大纲生成
265
+
266
+ **输出**:功能点列表(待确认)
267
+
268
+ ```markdown
269
+ ### 3.2 功能点列表
270
+ - [ ] **FP-01**: {功能点 1 名称} - {简要描述}
271
+ - [ ] **FP-02**: {功能点 2 名称} - {简要描述}
272
+ - [ ] **FP-03**: {功能点 3 名称} - {简要描述}
273
+ ```
274
+
275
+ **优势**:
276
+ - 用户先确认大纲方向,避免整体返工
277
+ - 可中断:完成部分可直接使用
278
+ - 进度可视化:用户随时知道完成度
279
+
280
+ ### 8.3 Phase 2: 逐个细化
281
+
282
+ **输出**:每个功能点的详细设计
283
+
284
+ ```markdown
285
+ #### 3.2.1 FP-01: {功能点 1 名称}
286
+ - [x] 完成
287
+
288
+ **概述**: {功能点的业务目标和实现思路}
289
+
290
+ **流程图**:
291
+ ```mermaid
292
+ sequenceDiagram
293
+ participant U as 用户/上游
294
+ participant S as 本系统
295
+ participant D as 下游系统
296
+
297
+ U->>S: 1. 请求描述
298
+ S->>D: 2. 调用下游
299
+ D-->>S: 3. 返回结果
300
+ S-->>U: 4. 响应
301
+ ```
302
+
303
+ **职责**:
304
+ - 输入:{入参}
305
+ - 处理:{处理逻辑}
306
+ - 输出:{输出结果}
307
+
308
+ **异常处理**:
309
+ - {异常 1}: {处理方式}
310
+ - {异常 2}: {处理方式}
311
+ ```
312
+
313
+ ---
314
+
315
+ ## 9. 领域模型设计
316
+
317
+ ### 9.1 领域模型图
318
+
319
+ 使用 Mermaid classDiagram 描述领域模型:
320
+
321
+ ```mermaid
322
+ classDiagram
323
+ class Order {
324
+ +Long orderId
325
+ +String userId
326
+ +OrderStatus status
327
+ +Money amount
328
+ +confirm()
329
+ +cancel()
330
+ }
331
+ class OrderStatus {
332
+ <<enumeration>>
333
+ INIT
334
+ PAYING
335
+ SUCCESS
336
+ CANCELLED
337
+ }
338
+ Order --> OrderStatus
339
+ ```
340
+
341
+ ### 9.2 状态机设计
342
+
343
+ 使用 Mermaid stateDiagram 描述状态流转:
344
+
345
+ ```mermaid
346
+ stateDiagram-v2
347
+ [*] --> INIT: 创建订单
348
+ INIT --> PAYING: 发起支付
349
+ PAYING --> SUCCESS: 支付成功
350
+ PAYING --> CANCELLED: 支付失败/超时
351
+ CANCELLED --> [*]
352
+ SUCCESS --> [*]
353
+ ```
354
+
355
+ ### 9.3 数据库设计
356
+
357
+ 使用 Mermaid erDiagram 描述数据模型:
358
+
359
+ ```mermaid
360
+ erDiagram
361
+ USER ||--o{ ORDER : places
362
+ ORDER ||--|{ ORDER_ITEM : contains
363
+ PRODUCT ||--o{ ORDER_ITEM : included_in
364
+ ```
365
+
366
+ ---
367
+
368
+ ## 10. 多系统架构设计
369
+
370
+ ### 10.1 设计文档组织
371
+
372
+ ```
373
+ requirements/{业务域}/{需求}/
374
+ ├── proposal.md # 整体需求提案
375
+ └── design/
376
+ ├── overview.md # 整体架构设计
377
+ ├── backend.md # 后端系统设计
378
+ ├── frontend.md # 前端系统设计
379
+ ├── ai.md # AI/模型设计(如需要)
380
+ └── data.md # 数据管道设计(如需要)
381
+ ```
382
+
383
+ ### 10.2 设计顺序
384
+
385
+ **有依赖关系的系统**:
386
+ 1. 先设计被依赖的系统(如后端 API)
387
+ 2. 再设计调用方系统(如前端、移动端)
388
+
389
+ **可并行的系统**:
390
+ 1. 先定义契约(API Schema、数据 Schema)
391
+ 2. 各系统基于契约并行设计
392
+
393
+ ### 10.3 跨系统设计检查
394
+
395
+ - [ ] 系统间接口定义清晰
396
+ - [ ] 数据一致性方案明确
397
+ - [ ] 超时/重试/降级策略一致
398
+ - [ ] 错误码定义统一
399
+ - [ ] 监控指标对齐
400
+
401
+ ---
402
+
403
+ ## 11. 设计原则
404
+
405
+ ### 11.1 描述方法职责,不平铺实现代码
406
+
407
+ **错误示例**:直接贴代码实现
408
+
409
+ **正确示例**:
410
+ ```markdown
411
+ **职责**: 接收订单创建请求,校验参数后创建订单记录
412
+
413
+ **输入**: OrderRequest (userId, productId, amount)
414
+
415
+ **处理**:
416
+ 1. 参数校验(非空、格式、业务规则)
417
+ 2. 用户存在性校验
418
+ 3. 库存预占
419
+ 4. 创建订单记录,状态为"待支付"
420
+ 5. 发送订单创建事件
421
+
422
+ **输出**: Order (orderId, status, createTime)
423
+
424
+ **异常**:
425
+ - IllegalArgumentException: 参数校验失败
426
+ - UserNotFoundException: 用户不存在
427
+ - StockNotEnoughException: 库存不足
428
+ ```
429
+
430
+ ### 11.2 功能点职责不重叠
431
+
432
+ 确保每个功能点职责单一,不重复描述同一逻辑。
433
+
434
+ ### 11.3 开关/配置只加必要的
435
+
436
+ - 能由调用方控制的不在本系统加开关
437
+ - 新增配置必须有明确的业务场景
438
+ - 避免过度配置导致维护成本
439
+
440
+ ### 11.4 共享组件/依赖库变更说明
441
+
442
+ 涉及共享组件(SPI/Facade/依赖库)模型变更时,必须说明:
443
+
444
+ | 字段 | 说明 |
445
+ |------|------|
446
+ | Maven 坐标 | groupId:artifactId |
447
+ | 当前版本 | 当前使用的版本 |
448
+ | 升级版本 | 计划升级的版本 |
449
+ | 变更内容 | 具体变更了什么 |
450
+ | 需升级的系统 | 哪些系统需要同步升级 |
451
+
452
+ ---
453
+
454
+ ## 12. 附录
455
+
456
+ ### 12.1 术语表
457
+
458
+ | 术语 | 定义 |
459
+ |------|------|
460
+ | | |
461
+
462
+ ### 12.2 设计质量检查清单
463
+
464
+ **Phase 1 检查点**:
465
+ - [ ] 项目背景填写完整
466
+ - [ ] 业务用例图从 proposal 正确提取
467
+ - [ ] 功能点列表完整,覆盖 proposal 所有功能
468
+ - [ ] 功能点命名清晰,职责单一
469
+ - [ ] 详细设计章节占位符正确
470
+
471
+ **Phase 2 检查点**:
472
+ - [ ] 所有功能点已标记为 `[x]` 完成
473
+ - [ ] 每个功能点都有详细设计内容
474
+ - [ ] 流程图可正常渲染
475
+ - [ ] 与 proposal.md 业务流程一致
476
+ - [ ] 遵循系统架构规范
477
+
478
+ **设计原则检查**:
479
+ - [ ] 无实现代码平铺(方法设计只描述职责、入参、输出)
480
+ - [ ] 功能点职责不重叠(无多个功能点重复描述同一逻辑)
481
+ - [ ] 开关/配置无过度设计
482
+ - [ ] 新增配置与项目已有配置声明方式一致
483
+ - [ ] 共享组件/依赖库模型变更已说明版本升级方案
484
+
485
+ ### 12.3 参考资料
486
+
487
+ - [API 设计模板](./02-api-design.md)
488
+ - [数据库设计模板](./03-database-design.md)
489
+
490
+ ---
491
+
492
+ **维护者**: 项目团队
493
+ **进化分区**: 受控区
494
+ **关联文档**: `knowledge/09-templates/02-api-design.md`, `knowledge/09-templates/03-database-design.md`