@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,408 @@
1
+ # 接口设计:{项目/系统名}
2
+
3
+ > **版本**: v1.0
4
+ > **模板来源**: OpenAPI Specification (Swagger) v3.0、RESTful API 最佳实践、Google API Design Guide
5
+ > **适用范围**: RESTful API、GraphQL、gRPC 接口设计
6
+ > **生成模式**: API 概览 → 资源定义 → 端点设计 → 错误处理
7
+
8
+ ---
9
+
10
+ ## 1. API 概览
11
+
12
+ ### 1.1 基本信息
13
+
14
+ | 字段 | 值 |
15
+ |------|-----|
16
+ | API 名称 | |
17
+ | 版本 | v1.0 |
18
+ | 基础 URL | |
19
+ | 认证方式 | JWT/OAuth2/API Key |
20
+ | 数据格式 | JSON/Protobuf |
21
+
22
+ ### 1.2 设计原则
23
+
24
+ - [ ] RESTful 风格
25
+ - [ ] 资源导向设计
26
+ - [ ] 统一的错误处理
27
+ - [ ] 版本控制
28
+ - [ ] 幂等性保证
29
+ - [ ] 速率限制
30
+
31
+ ### 1.3 认证授权
32
+
33
+ | 认证方式 | 说明 | 适用场景 |
34
+ |---------|------|---------|
35
+ | API Key | 通过 Header 传递 | 服务端调用 |
36
+ | JWT | Bearer Token | 用户认证 |
37
+ | OAuth2 | 授权码模式 | 第三方授权 |
38
+
39
+ **请求头示例**:
40
+ ```http
41
+ Authorization: Bearer {access_token}
42
+ Content-Type: application/json
43
+ ```
44
+
45
+ ---
46
+
47
+ ## 2. 资源定义
48
+
49
+ ### 2.1 资源列表
50
+
51
+ | 资源名称 | 资源路径 | 描述 | 主要操作 |
52
+ |---------|---------|------|---------|
53
+ | | `/api/v1/{resource}` | | GET/POST/PUT/DELETE |
54
+
55
+ ### 2.2 资源模型
56
+
57
+ #### {资源名称}
58
+
59
+ ```json
60
+ {
61
+ "id": "string,资源唯一标识",
62
+ "name": "string,资源名称",
63
+ "description": "string,资源描述",
64
+ "status": "enum,资源状态",
65
+ "createdAt": "string,创建时间 (ISO8601)",
66
+ "updatedAt": "string,更新时间 (ISO8601)",
67
+ "metadata": "object,扩展元数据"
68
+ }
69
+ ```
70
+
71
+ | 字段 | 类型 | 必填 | 说明 | 示例 |
72
+ |------|------|------|------|------|
73
+ | id | string | 是 | 资源唯一标识 | uuid |
74
+ | name | string | 是 | 资源名称 | |
75
+ | status | enum | 是 | 状态:ACTIVE/INACTIVE/DELETED | |
76
+
77
+ ---
78
+
79
+ ## 3. 端点设计
80
+
81
+ ### 3.1 端点列表
82
+
83
+ | 方法 | 端点 | 描述 | 认证 | 幂等 |
84
+ |------|------|------|------|------|
85
+ | GET | `/api/v1/{resource}` | 获取资源列表 | 是 | 是 |
86
+ | GET | `/api/v1/{resource}/{id}` | 获取单个资源 | 是 | 是 |
87
+ | POST | `/api/v1/{resource}` | 创建资源 | 是 | 否 |
88
+ | PUT | `/api/v1/{resource}/{id}` | 更新资源 | 是 | 是 |
89
+ | DELETE | `/api/v1/{resource}/{id}` | 删除资源 | 是 | 是 |
90
+
91
+ ### 3.2 端点详情
92
+
93
+ #### GET /api/v1/{resource}
94
+
95
+ **请求参数**:
96
+
97
+ | 参数 | 位置 | 类型 | 必填 | 说明 |
98
+ |------|------|------|------|------|
99
+ | page | query | integer | 否 | 页码,默认 1 |
100
+ | pageSize | query | integer | 否 | 每页数量,默认 20 |
101
+ | sortBy | query | string | 否 | 排序字段 |
102
+ | order | query | string | 否 | 排序方向:asc/desc |
103
+
104
+ **响应示例**:
105
+ ```json
106
+ {
107
+ "data": [
108
+ {
109
+ "id": "uuid",
110
+ "name": "资源名称"
111
+ }
112
+ ],
113
+ "pagination": {
114
+ "total": 100,
115
+ "page": 1,
116
+ "pageSize": 20,
117
+ "totalPages": 5
118
+ }
119
+ }
120
+ ```
121
+
122
+ #### POST /api/v1/{resource}
123
+
124
+ **请求体**:
125
+ ```json
126
+ {
127
+ "name": "string,资源名称",
128
+ "description": "string,资源描述",
129
+ "metadata": {}
130
+ }
131
+ ```
132
+
133
+ **响应示例**:
134
+ ```json
135
+ {
136
+ "id": "uuid",
137
+ "name": "资源名称",
138
+ "createdAt": "2026-03-27T10:00:00Z"
139
+ }
140
+ ```
141
+
142
+ ---
143
+
144
+ ## 4. 错误处理
145
+
146
+ ### 4.1 错误响应格式
147
+
148
+ ```json
149
+ {
150
+ "error": {
151
+ "code": "ERROR_CODE",
152
+ "message": "错误描述",
153
+ "details": [],
154
+ "timestamp": "2026-03-27T10:00:00Z",
155
+ "path": "/api/v1/resource"
156
+ }
157
+ }
158
+ ```
159
+
160
+ ### 4.2 错误码定义
161
+
162
+ | 错误码 | HTTP 状态码 | 说明 |
163
+ |-------|-----------|------|
164
+ | VALIDATION_ERROR | 400 | 请求参数验证失败 |
165
+ | UNAUTHORIZED | 401 | 未认证 |
166
+ | FORBIDDEN | 403 | 无权限 |
167
+ | NOT_FOUND | 404 | 资源不存在 |
168
+ | CONFLICT | 409 | 资源冲突 |
169
+ | RATE_LIMITED | 429 | 请求频率超限 |
170
+ | INTERNAL_ERROR | 500 | 服务器内部错误 |
171
+
172
+ ---
173
+
174
+ ## 5. 速率限制
175
+
176
+ | 用户类型 | 限制 | 时间窗口 |
177
+ |---------|------|---------|
178
+ | 匿名用户 | 100 请求 | 1 分钟 |
179
+ | 认证用户 | 1000 请求 | 1 分钟 |
180
+ | VIP 用户 | 10000 请求 | 1 分钟 |
181
+
182
+ **响应头**:
183
+ ```http
184
+ X-RateLimit-Limit: 1000
185
+ X-RateLimit-Remaining: 999
186
+ X-RateLimit-Reset: 1680000000
187
+ ```
188
+
189
+ ---
190
+
191
+ ## 6. 版本控制
192
+
193
+ ### 6.1 版本策略
194
+
195
+ - URL 路径版本化:`/api/v1/`, `/api/v2/`
196
+ - 向后兼容至少 2 个版本
197
+ - 废弃通知周期:3 个月
198
+
199
+ ### 6.2 版本历史
200
+
201
+ | 版本 | 日期 | 变更说明 |
202
+ |------|------|---------|
203
+ | v1.0 | | 初始版本 |
204
+
205
+ ---
206
+
207
+ ## 7. RPC 接口设计
208
+
209
+ > 适用于 Dubbo、gRPC、Thrift 等 RPC 框架的接口设计
210
+
211
+ ### 7.1 RPC 接口概览
212
+
213
+ | 字段 | 值 |
214
+ |------|-----|
215
+ | 服务名称 | |
216
+ | 接口类型 | Facade/Service/Repository/Client |
217
+ | 协议类型 | Dubbo/gRPC/Thrift/自定义 |
218
+ | 服务分组 | |
219
+ | 服务版本 | |
220
+
221
+ ### 7.2 接口定义
222
+
223
+ #### 接口声明(语言无关)
224
+
225
+ ```
226
+ interface XxxFacade {
227
+ Result method(Request request);
228
+ void notify(Event event);
229
+ }
230
+ ```
231
+
232
+ #### 接口方法列表
233
+
234
+ | 方法名 | 参数 | 返回值 | 说明 |
235
+ |--------|------|--------|------|
236
+ | {method} | {params} | {return} | {description} |
237
+
238
+ ### 7.3 请求/响应模型
239
+
240
+ #### 请求模型
241
+
242
+ | 字段 | 类型 | 必填 | 说明 |
243
+ |------|------|------|------|
244
+ | {field} | {type} | 是/否 | {description} |
245
+
246
+ #### 响应模型
247
+
248
+ | 字段 | 类型 | 说明 |
249
+ |------|------|------|
250
+ | {field} | {type} | {description} |
251
+
252
+ ### 7.4 服务提供者
253
+
254
+ | 实现类 | 路径 | 说明 |
255
+ |--------|------|------|
256
+ | {ServiceImpl} | {path} | 服务实现 |
257
+
258
+ ### 7.5 服务引用
259
+
260
+ | 引用方 | 引用方式 | 用途 |
261
+ |--------|----------|------|
262
+ | {project} | 依赖注入/客户端 | {purpose} |
263
+
264
+ ### 7.6 配置项
265
+
266
+ | 配置项 | 类型 | 必填 | 默认值 | 说明 |
267
+ |--------|------|------|--------|------|
268
+ | {service}.endpoint | String | 是 | - | 服务地址 |
269
+ | {service}.timeout | Integer | 否 | 5000 | 超时时间(ms) |
270
+ | {service}.retries | Integer | 否 | 2 | 重试次数 |
271
+
272
+ ### 7.7 多语言示例
273
+
274
+ #### Java (Dubbo)
275
+
276
+ ```java
277
+ @DubboReference(interfaceClass = XxxFacade.class)
278
+ private XxxFacade xxxFacade;
279
+
280
+ public Result call(Request request) {
281
+ return xxxFacade.method(request);
282
+ }
283
+ ```
284
+
285
+ #### Go (gRPC)
286
+
287
+ ```go
288
+ client := pb.NewXxxFacadeClient(conn)
289
+ resp, err := client.Method(ctx, &pb.Request{...})
290
+ ```
291
+
292
+ #### Python (gRPC)
293
+
294
+ ```python
295
+ stub = xxx_facade_pb2_grpc.XxxFacadeStub(channel)
296
+ response = stub.Method(xxx_facade_pb2.Request(...))
297
+ ```
298
+
299
+ ### 7.8 RPC 最佳实践
300
+
301
+ 1. 设置合理的超时时间,避免长时间等待
302
+ 2. 实现重试机制,处理临时故障
303
+ 3. 使用服务分组和版本进行灰度发布
304
+ 4. 记录调用日志,便于问题排查
305
+ 5. 敏感信息使用环境变量,不要硬编码
306
+
307
+ ---
308
+
309
+ ## 8. 附录
310
+
311
+ ### 7.1 OpenAPI 规范
312
+
313
+ ```yaml
314
+ openapi: 3.0.0
315
+ info:
316
+ title: API 名称
317
+ version: 1.0.0
318
+ description: API 描述
319
+ contact:
320
+ name: API 支持团队
321
+ email: support@example.com
322
+ servers:
323
+ - url: https://api.example.com/v1
324
+ description: 生产环境
325
+ - url: https://staging-api.example.com/v1
326
+ description: 预发环境
327
+ paths:
328
+ /api/v1/resource:
329
+ get:
330
+ summary: 获取资源列表
331
+ tags:
332
+ - Resource
333
+ parameters:
334
+ - name: page
335
+ in: query
336
+ schema:
337
+ type: integer
338
+ default: 1
339
+ - name: pageSize
340
+ in: query
341
+ schema:
342
+ type: integer
343
+ default: 20
344
+ responses:
345
+ '200':
346
+ description: 成功
347
+ content:
348
+ application/json:
349
+ schema:
350
+ type: object
351
+ properties:
352
+ data:
353
+ type: array
354
+ items:
355
+ $ref: '#/components/schemas/Resource'
356
+ pagination:
357
+ $ref: '#/components/schemas/Pagination'
358
+ '401':
359
+ description: 未认证
360
+ '403':
361
+ description: 无权限
362
+ '500':
363
+ description: 服务器错误
364
+ components:
365
+ schemas:
366
+ Resource:
367
+ type: object
368
+ properties:
369
+ id:
370
+ type: string
371
+ format: uuid
372
+ name:
373
+ type: string
374
+ createdAt:
375
+ type: string
376
+ format: date-time
377
+ Pagination:
378
+ type: object
379
+ properties:
380
+ total:
381
+ type: integer
382
+ page:
383
+ type: integer
384
+ pageSize:
385
+ type: integer
386
+ totalPages:
387
+ type: integer
388
+ securitySchemes:
389
+ bearerAuth:
390
+ type: http
391
+ scheme: bearer
392
+ bearerFormat: JWT
393
+ security:
394
+ - bearerAuth: []
395
+ ```
396
+
397
+ ### 7.2 SDK 生成
398
+
399
+ - [ ] JavaScript/TypeScript SDK
400
+ - [ ] Python SDK
401
+ - [ ] Java SDK
402
+ - [ ] Go SDK
403
+
404
+ ---
405
+
406
+ **维护者**: 项目团队
407
+ **进化分区**: 受控区
408
+ **关联文档**: `knowledge/09-templates/01-architecture-design.md`, `knowledge/09-templates/03-database-design.md`
@@ -0,0 +1,313 @@
1
+ # 数据库设计:{项目/系统名}
2
+
3
+ > **版本**: v1.0
4
+ > **模板来源**: 数据库设计最佳实践、SQL 标准、数据建模方法论
5
+ > **适用范围**: 关系型数据库、NoSQL 数据库、数据仓库设计
6
+ > **生成模式**: 概念模型 → 逻辑模型 → 物理模型 → 优化策略
7
+
8
+ ---
9
+
10
+ ## 1. 设计概述
11
+
12
+ ### 1.1 基本信息
13
+
14
+ | 字段 | 值 |
15
+ |------|-----|
16
+ | 数据库类型 | MySQL/PostgreSQL/Oracle/MongoDB |
17
+ | 版本 | |
18
+ | 字符集 | UTF-8/UTF8MB4 |
19
+ | 排序规则 | |
20
+ | 存储引擎 | InnoDB/MyISAM |
21
+
22
+ ### 1.2 设计原则
23
+
24
+ - [ ] 第三范式 (3NF)
25
+ - [ ] 适当的反范式优化
26
+ - [ ] 主键设计合理
27
+ - [ ] 索引覆盖充分
28
+ - [ ] 分区策略明确
29
+
30
+ ### 1.3 数据量预估
31
+
32
+ | 表名 | 初始数据量 | 日增长量 | 年增长率 | 保留策略 |
33
+ |------|-----------|---------|---------|---------|
34
+ | | | | | |
35
+
36
+ ---
37
+
38
+ ## 2. 概念模型
39
+
40
+ ### 2.1 ER 图
41
+
42
+ ```mermaid
43
+ erDiagram
44
+ ENTITY_A {
45
+ string id PK
46
+ string name
47
+ datetime created_at
48
+ }
49
+
50
+ ENTITY_B {
51
+ string id PK
52
+ string id_a FK
53
+ string description
54
+ }
55
+
56
+ ENTITY_A ||--o{ ENTITY_B : "has"
57
+ ```
58
+
59
+ ### 2.2 实体列表
60
+
61
+ | 实体名称 | 说明 | 主键 | 外键 | 索引 |
62
+ |---------|------|------|------|------|
63
+ | | | | | |
64
+
65
+ ---
66
+
67
+ ## 3. 逻辑模型
68
+
69
+ ### 3.1 表结构
70
+
71
+ #### {表名}
72
+
73
+ **表说明**:
74
+
75
+ | 属性 | 值 |
76
+ |------|-----|
77
+ | 表名 | |
78
+ | 说明 | |
79
+ | 数据量 | |
80
+ | 更新频率 | |
81
+
82
+ **字段定义**:
83
+
84
+ | 字段名 | 类型 | 长度 | 必填 | 默认值 | 说明 |
85
+ |-------|------|------|------|--------|------|
86
+ | id | BIGINT | | YES | AUTO_INCREMENT | 主键 |
87
+ | name | VARCHAR | 100 | YES | | 名称 |
88
+ | status | TINYINT | | YES | 1 | 状态 |
89
+ | created_at | DATETIME | | YES | CURRENT_TIMESTAMP | 创建时间 |
90
+ | updated_at | DATETIME | | YES | ON UPDATE | 更新时间 |
91
+
92
+ **索引设计**:
93
+
94
+ | 索引名 | 字段 | 类型 | 说明 |
95
+ |-------|------|------|------|
96
+ | idx_name | name | NORMAL | 名称查询 |
97
+ | uk_email | email | UNIQUE | 邮箱唯一 |
98
+
99
+ ### 3.2 表关系
100
+
101
+ | 主表 | 从表 | 关系类型 | 外键字段 | 级联规则 |
102
+ |------|------|---------|---------|---------|
103
+ | | | 1:N / N:M | | CASCADE/SET NULL |
104
+
105
+ ---
106
+
107
+ ## 4. 物理模型
108
+
109
+ ### 4.1 DDL 脚本
110
+
111
+ ```sql
112
+ CREATE TABLE `table_name` (
113
+ `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键 ID',
114
+ `name` VARCHAR(100) NOT NULL COMMENT '名称',
115
+ `status` TINYINT DEFAULT 1 COMMENT '状态:1-正常,0-禁用',
116
+ `created_at` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
117
+ `updated_at` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
118
+ PRIMARY KEY (`id`),
119
+ UNIQUE KEY `uk_name` (`name`),
120
+ KEY `idx_status` (`status`)
121
+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='表说明';
122
+ ```
123
+
124
+ ### 4.2 分区策略
125
+
126
+ | 表名 | 分区类型 | 分区键 | 分区数 | 说明 |
127
+ |------|---------|--------|-------|------|
128
+ | | RANGE/LIST/HASH | | | |
129
+
130
+ ### 4.3 分库分表策略
131
+
132
+ | 表名 | 分片键 | 分片算法 | 分片数 | 扩容策略 |
133
+ |------|-------|---------|-------|---------|
134
+ | | user_id | HASH | 16 | 翻倍扩容 |
135
+
136
+ ---
137
+
138
+ ## 5. 索引优化
139
+
140
+ ### 5.1 索引策略
141
+
142
+ | 场景 | 索引类型 | 字段选择 |
143
+ |------|---------|---------|
144
+ | 主键查询 | PRIMARY KEY | id |
145
+ | 等值查询 | BTREE | 高选择性字段 |
146
+ | 范围查询 | BTREE | 有序字段 |
147
+ | 全文搜索 | FULLTEXT | 文本字段 |
148
+ | 地理查询 | SPATIAL | 坐标字段 |
149
+
150
+ ### 5.2 索引维护
151
+
152
+ | 表名 | 索引名 | 大小 | 更新频率 | 维护策略 |
153
+ |------|-------|------|---------|---------|
154
+ | | | | 高频/低频 | 定期重建 |
155
+
156
+ ---
157
+
158
+ ## 6. 数据迁移
159
+
160
+ ### 6.1 迁移脚本
161
+
162
+ ```sql
163
+ -- 升级脚本
164
+ ALTER TABLE table_name ADD COLUMN new_column VARCHAR(100) COMMENT '新字段';
165
+
166
+ -- 回滚脚本
167
+ ALTER TABLE table_name DROP COLUMN new_column;
168
+ ```
169
+
170
+ ### 6.2 数据同步
171
+
172
+ | 源表 | 目标表 | 同步方式 | 频率 | 说明 |
173
+ |------|-------|---------|------|------|
174
+ | | | 实时/定时 | | |
175
+
176
+ ---
177
+
178
+ ## 7. 备份与恢复
179
+
180
+ ### 7.1 备份策略
181
+
182
+ | 备份类型 | 频率 | 保留时间 | 存储位置 |
183
+ |---------|------|---------|---------|
184
+ | 全量备份 | 每日 | 7 天 | |
185
+ | 增量备份 | 每小时 | 24 小时 | |
186
+ | 日志备份 | 实时 | 3 天 | |
187
+
188
+ ### 7.2 恢复策略
189
+
190
+ | 场景 | RTO | RPO | 恢复步骤 |
191
+ |------|-----|-----|---------|
192
+ | 单表误删 | 15 分钟 | 5 分钟 | |
193
+ | 数据库故障 | 1 小时 | 1 分钟 | |
194
+
195
+ ---
196
+
197
+ ## 8. 性能优化
198
+
199
+ ### 8.1 查询优化
200
+
201
+ | 问题 SQL | 优化方案 | 预期提升 |
202
+ |---------|---------|---------|
203
+ | | 添加索引/改写 SQL | 10x |
204
+
205
+ ### 8.2 配置优化
206
+
207
+ | 参数 | 当前值 | 建议值 | 说明 |
208
+ |------|-------|-------|------|
209
+ | innodb_buffer_pool_size | | | 缓冲池大小 |
210
+ | max_connections | | | 最大连接数 |
211
+
212
+ ---
213
+
214
+ ## 9. 附录
215
+
216
+ ### 9.1 命名规范
217
+
218
+ | 对象类型 | 命名规则 | 示例 |
219
+ |---------|---------|------|
220
+ | 表名 | 小写蛇形,复数 | `user_orders` |
221
+ | 字段名 | 小写蛇形 | `created_at` |
222
+ | 索引名 | `idx_{字段}` / `uk_{字段}` | `idx_name` |
223
+
224
+ ### 9.2 参考资料
225
+
226
+ - [MySQL 官方文档](https://dev.mysql.com/doc/)
227
+ - [SQL 性能优化指南](url)
228
+
229
+ ---
230
+
231
+ ## 10. 数据模型知识(环境知识)
232
+
233
+ > 本章节用于记录项目中已有的数据模型,供 env-sync 生成知识文件时参考。
234
+
235
+ ### 10.1 模型基本信息
236
+
237
+ | 字段 | 必填 | 说明 |
238
+ |------|------|------|
239
+ | 名称 | 是 | 模型名称 |
240
+ | 类型 | 是 | DO/Entity/PO/DTO |
241
+ | 表名 | 是 | 数据库表名 |
242
+ | 数据库 | 否 | 数据库名称 |
243
+
244
+ ### 10.2 类型枚举
245
+
246
+ | 类型 | 说明 |
247
+ |------|------|
248
+ | DO | 数据对象,与数据库表对应 |
249
+ | Entity | 实体类,领域模型 |
250
+ | PO | 持久化对象 |
251
+ | DTO | 数据传输对象 |
252
+ | TDO | 大数据表数据对象 |
253
+
254
+ ### 10.3 表结构定义
255
+
256
+ | 字段 | 类型 | 可空 | 默认值 | 说明 |
257
+ |------|------|------|--------|------|
258
+ | {column} | {type} | 是/否 | {default} | {description} |
259
+
260
+ ### 10.4 数据模型类(语言无关)
261
+
262
+ ```
263
+ class XxxModel {
264
+ id: Long
265
+ name: String
266
+ status: Integer
267
+ createdAt: DateTime
268
+ }
269
+ ```
270
+
271
+ ### 10.5 字段映射
272
+
273
+ | 模型字段 | 数据库字段 | 类型 | 说明 |
274
+ |----------|------------|------|------|
275
+ | {field} | {column} | {type} | {description} |
276
+
277
+ ### 10.6 数据访问接口
278
+
279
+ | 方法名 | 参数 | 返回值 | 说明 |
280
+ |--------|------|--------|------|
281
+ | findById | id | Model | 按 ID 查询 |
282
+ | findByCondition | query | List | 条件查询 |
283
+ | insert | model | int | 插入 |
284
+ | update | model | int | 更新 |
285
+ | delete | id | int | 删除 |
286
+
287
+ ### 10.7 业务含义
288
+
289
+ | 字段 | 业务含义 | 取值范围 | 说明 |
290
+ |------|----------|----------|------|
291
+ | {field} | {meaning} | {range} | {description} |
292
+
293
+ ### 10.8 状态流转
294
+
295
+ 如果包含状态字段,描述状态流转:
296
+
297
+ | 状态值 | 状态名 | 可流转到 | 说明 |
298
+ |--------|--------|----------|------|
299
+ | {value} | {name} | {next_states} | {description} |
300
+
301
+ ### 10.9 数据量级
302
+
303
+ | 指标 | 值 | 说明 |
304
+ |------|-----|------|
305
+ | 预估数据量 | {count} | 数据规模 |
306
+ | 增长速度 | {rate} | 日增量 |
307
+ | 保留周期 | {period} | 数据保留时间 |
308
+
309
+ ---
310
+
311
+ **维护者**: 项目团队
312
+ **进化分区**: 受控区
313
+ **关联文档**: `knowledge/09-templates/01-architecture-design.md`, `knowledge/09-templates/02-api-design.md`, `knowledge/09-templates/05-domain-business.md`