@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
@@ -14,57 +14,51 @@ $ARGUMENTS
14
14
 
15
15
  ## 执行指令
16
16
 
17
- ### Step 0: 初始化环境目录(如不存在)
17
+ ### Step 0: 初始化目录结构
18
18
 
19
- 检查 `.autospec/environment/` 是否已存在:
20
- - 不存在 → 自动创建目录结构
21
- - 已存在 → 跳过初始化,直接进入扫描
22
-
23
- 创建目录结构:
19
+ **【强制】** 创建精简的目录结构,与 `knowledge/09-templates/` 模板一一对应:
24
20
 
25
21
  ```
26
22
  .autospec/environment/
27
- ├── env-knowledge/
28
- │ ├── middleware/ # 中间件知识(MD格式)
29
- │ ├── infrastructure/ # 基础设施知识
30
- │ └── env-variables/ # 环境变量模板
31
- ├── component-lib/
32
- ├── components/ # 组织组件库(MD格式)
33
- │ ├── best-practices/ # 最佳实践
34
- │ └── domain-models/ # 领域模型
35
- ├── design-knowledge/ # 设计知识库
36
- ├── product/ # 产品设计
37
- │ ├── architecture/ # 架构设计(含UML图)
38
- │ ├── api/ # 接口设计
39
- └── database/ # 数据库设计
40
- ├── test-knowledge/ # 测试知识库
41
- ├── test-designs/ # 测试设计
42
- │ └── evaluation/ # 评测设计(AI/模型)
43
- ├── business-knowledge/ # 业务知识库
44
- ├── glossary.md # 术语表
45
- ├── rules.md # 业务规则
46
- └── flows/ # 业务流程图
47
- ├── standards/ # 规范知识库
48
- ├── coding-style.md
49
- ├── data-consistency.md
50
- │ └── code-review.md
51
- ├── guides/ # 指南知识库
52
- ├── system-design.md
53
- │ ├── requirement-engineering.md
54
- │ └── stages/ # 各阶段指南
55
- ├── integration/
56
- │ ├── ci-cd/ # CI/CD配置
57
- │ ├── testing/ # 测试环境
58
- │ └── deployment/ # 部署配置
59
- ├── knowledge-source.json # 知识来源配置
60
- └── registry.json # 知识注册表
61
- ```
62
-
63
- 初始化 `registry.json`(如不存在):
23
+ ├── 01-env-knowledge/ # 环境知识
24
+ │ ├── middleware/ # 中间件知识(含外部服务)→ 10-middleware-knowledge.md
25
+ │ ├── infrastructure/ # 基础设施知识
26
+ │ └── env-variables/ # 环境变量
27
+
28
+ ├── 02-component-lib/ # 组件库
29
+ │ ├── components/ # 组织组件 → 08-component-knowledge.md
30
+ │ └── best-practices/ # 最佳实践 → 09-best-practices.md
31
+
32
+ ├── 03-design-knowledge/ # 设计知识
33
+ │ ├── product/ # 产品设计 → 00-requirement-proposal.md, 04-product-design.md
34
+ │ ├── architecture/ # 架构设计 → 01-architecture-design.md
35
+ ├── api/ # API 设计(含 RPC)→ 02-api-design.md
36
+ │ └── database/ # 数据库设计 → 03-database-design.md
37
+
38
+ ├── 04-business-knowledge/ # 业务知识
39
+ │ └── {domain-name}.md # 领域业务知识(含数据模型)→ 05-domain-business.md
40
+
41
+ ├── 05-test-knowledge/ # 测试知识
42
+ ├── test-designs/ # 测试设计 → 06-test-design.md
43
+ │ └── evaluation/ # 评测设计 → 07-evaluation-design.md
44
+
45
+ ├── 06-standards/ # 规范文档
46
+ ├── 07-guides/ # 指南
47
+ ├── 08-integration/ # 集成配置
48
+ ├── registry.json # 知识注册表
49
+ └── knowledge-source.json # 知识来源配置
50
+ ```
51
+
52
+ **设计原则**:
53
+ - **高内聚低耦合**:相关内容聚合,避免过度拆分
54
+ - **模板对应**:目录与 `knowledge/09-templates/` 一一对应
55
+ - **整合优化**:RPC 服务合并到 api/,数据模型合并到 business-knowledge/
56
+
57
+ **初始化 registry.json**(如不存在):
64
58
 
65
59
  ```json
66
60
  {
67
- "version": "2.0",
61
+ "version": "2.1",
68
62
  "activeProfiles": {
69
63
  "environment": "development",
70
64
  "components": []
@@ -76,8 +70,7 @@ $ARGUMENTS
76
70
  },
77
71
  "componentKnowledge": {
78
72
  "components": [],
79
- "bestPractices": [],
80
- "domainModels": []
73
+ "bestPractices": []
81
74
  },
82
75
  "designKnowledge": {
83
76
  "product": [],
@@ -85,556 +78,1204 @@ $ARGUMENTS
85
78
  "api": [],
86
79
  "database": []
87
80
  },
81
+ "businessKnowledge": [],
88
82
  "testKnowledge": {
89
83
  "testDesigns": [],
90
84
  "evaluation": []
91
85
  },
92
- "businessKnowledge": {
93
- "glossary": [],
94
- "rules": [],
95
- "flows": []
96
- },
97
86
  "standardsKnowledge": [],
98
87
  "guidesKnowledge": [],
99
- "integrationKnowledge": {
100
- "ci_cd": [],
101
- "testing": [],
102
- "deployment": []
103
- }
88
+ "integrationKnowledge": []
104
89
  }
105
90
  ```
106
91
 
107
- ### Step 0.5: 加载模板定义
92
+ ### Step 0.5: 加载模板和检测规则
108
93
 
109
- **【强制】** 读取模板注册表和模板文件:
94
+ **【强制】** 读取模板文件和检测规则:
110
95
 
111
- 1. **读取模板注册表**
112
- - 优先读取框架模板:`knowledge/environment/template-registry.md`
113
- - 项目级自定义模板(如有):`.autospec/knowledge/environment/template-registry.md`
96
+ 1. **读取检测规则**
97
+ - `knowledge/06-environment/01-detection-patterns.yaml`
98
+ - 解析 buildFiles, frameworks, designDocs, businessDocs, testDocs, sourceAnalysis 规则
114
99
 
115
- 2. **加载模板文件**
116
- - 中间件模板:`knowledge/environment/middleware-knowledge.md`
117
- - 组件模板:`knowledge/environment/component-knowledge.md`
118
- - 设计/测试/业务模板:`knowledge/templates/*.md`
100
+ 2. **读取模板文件**
101
+ - 中间件模板:`knowledge/09-templates/10-middleware-knowledge.md`
102
+ - 组件模板:`knowledge/09-templates/08-component-knowledge.md`
103
+ - 设计模板:`knowledge/09-templates/01-architecture-design.md`, `02-api-design.md`, `03-database-design.md`, `00-requirement-proposal.md`
104
+ - 测试模板:`knowledge/09-templates/06-test-design.md`, `07-evaluation-design.md`
105
+ - 业务模板:`knowledge/09-templates/05-domain-business.md`
106
+ - 最佳实践模板:`knowledge/09-templates/09-best-practices.md`
119
107
 
120
108
  3. **缓存模板信息**
121
109
  - 必填章节列表
122
110
  - 类型枚举
123
111
  - 输出路径模板
124
112
 
125
- ### Step 1: 扫描代码(确定性)
113
+ ---
114
+
115
+ ## Step 1: 扫描代码和依赖(多语言支持)
116
+
117
+ **【强制】** 根据 `detection-patterns.yaml` 执行多语言扫描:
118
+
119
+ ### 1.0 多项目检测(规则 + 模型驱动)
120
+
121
+ **【强制】** 首先检测工作目录下的所有子项目:
122
+
123
+ **规则检测**:
124
+ ```bash
125
+ # 检测所有构建文件
126
+ find . -maxdepth 3 \( -name "pom.xml" -o -name "package.json" -o -name "go.mod" -o -name "Cargo.toml" -o -name "pyproject.toml" \) -not -path "*/node_modules/*" -not -path "*/target/*"
127
+ ```
128
+
129
+ **模型驱动检测**(使用 `modelDrivenDetection.stages.projectDiscovery`):
130
+
131
+ 当规则检测完成后,启用模型探索模式:
132
+
133
+ ```
134
+ 你是一个项目结构分析专家。请探索当前工作目录,发现所有子项目。
135
+
136
+ ## 探索工具
137
+
138
+ 使用以下工具进行探索:
139
+ - find: 查找构建文件和目录结构
140
+ - grep: 搜索特定内容
141
+ - read: 读取配置文件
142
+
143
+ ## 探索目标
126
144
 
127
- **【强制】** 根据 `knowledge/environment/detection-patterns.yaml` 中的检测规则执行扫描:
145
+ 1. 发现非标准目录结构的项目(如 app/, modules/, services/)
146
+ 2. 识别多模块项目的父子关系
147
+ 3. 发现隐藏的项目配置
148
+ 4. 分析项目间的依赖关系
128
149
 
129
- 1. **扫描依赖文件**(使用 buildFiles 规则)
130
- - package.json / requirements.txt / pom.xml / go.mod 等
131
- - 提取依赖列表并匹配框架识别规则
150
+ ## 输出
132
151
 
133
- 2. **扫描代码模式**(使用 sourceDirectories 规则)
134
- - 定位源码目录(backend/frontend/data/ai)
135
- - 匹配 import/require/实例化模式
152
+ 生成项目列表,包含:name, path, language, framework, type, buildTool, srcDirs, entryPoint
153
+ ```
136
154
 
137
- 3. **扫描环境变量**
138
- - process.env.XXX
139
- - os.environ.get('XXX')
140
- - System.getenv("XXX")
155
+ **输出**:
156
+ ```json
157
+ {
158
+ "projects": [
159
+ {
160
+ "name": "project-a",
161
+ "path": "project-a",
162
+ "language": "java",
163
+ "framework": "Spring Boot",
164
+ "type": "backend",
165
+ "buildTool": "maven",
166
+ "srcDirs": ["src/main/java"],
167
+ "entryPoint": "src/main/java/.../Application.java"
168
+ },
169
+ {
170
+ "name": "project-b",
171
+ "path": "project-b",
172
+ "language": "java",
173
+ "framework": "Spring Boot",
174
+ "type": "hybrid",
175
+ "types": ["backend", "ai-assistant"],
176
+ "buildTool": "maven",
177
+ "srcDirs": ["app/*/src/main/java"]
178
+ }
179
+ ]
180
+ }
181
+ ```
141
182
 
142
- 4. **检测 AI/数据组件**(使用 aiComponents 和 dataComponents 规则)
143
- - 识别 LLM 应用、RAG、向量存储
144
- - 识别数据仓库、ETL 管道
183
+ ### 1.1 识别项目语言
184
+
185
+ 扫描构建文件确定项目类型:
186
+
187
+ | 构建文件 | 语言 | 解析器 |
188
+ |---------|------|--------|
189
+ | package.json | JavaScript/TypeScript | packageJson |
190
+ | pom.xml | Java (Maven) | pomXml |
191
+ | build.gradle | Java/Kotlin (Gradle) | buildGradle |
192
+ | build.gradle.kts | Kotlin (Gradle) | buildGradleKts |
193
+ | go.mod | Go | goMod |
194
+ | Cargo.toml | Rust | cargoToml |
195
+ | pyproject.toml | Python (Poetry/PDM) | pyprojectToml |
196
+ | requirements.txt | Python (pip) | requirements |
197
+ | setup.py | Python (setuptools) | setupPy |
198
+ | dbt_project.yml | SQL (dbt) | dbtProject |
199
+ | pubspec.yaml | Dart/Flutter | pubspec |
200
+ | composer.json | PHP | composer |
201
+ | Gemfile | Ruby | gemfile |
202
+
203
+ **支持多模块项目路径**:
204
+ - `src/main/java` - 标准路径
205
+ - `app/*/src/main/java` - 多模块路径
206
+ - `*/src/main/java` - 通用多模块路径
207
+
208
+ ### 1.2 提取依赖和框架
209
+
210
+ **提取依赖列表**:
211
+ - 读取对应的构建文件
212
+ - 解析依赖声明
213
+
214
+ **匹配框架规则**(使用 frameworks 规则):
215
+ - JavaScript: react, vue, angular, express, nestjs, next, nuxt 等
216
+ - Python: django, fastapi, flask, torch, tensorflow, langchain, crewai 等
217
+ - Java: spring-boot, spring-cloud, dubbo, quarkus 等
218
+ - Go: gin, echo, fiber, chi 等
219
+ - Rust: actix, rocket, warp, axum 等
220
+
221
+ **识别 AI/数据组件**(使用 aiComponents 和 dataComponents 规则):
222
+ - LLM 应用:langchain, llamaindex, openai, anthropic
223
+ - Agent 框架:crewai, autogen, semantic-kernel
224
+ - 向量存储:faiss, chromadb, pinecone, weaviate
225
+ - 模型训练:torch, tensorflow, transformers
226
+ - 数据仓库:dbt
227
+ - ETL 管道:airflow, prefect, dagster
228
+
229
+ ### 1.3 模型驱动中间件检测
230
+
231
+ **【强制】** 使用 `modelDrivenDetection.stages.middlewareDiscovery` 进行深度检测:
145
232
 
146
- 输出扫描结果到 `.autospec/runtime/env-scan-result.json`
233
+ ```
234
+ 你是一个中间件和框架识别专家。请深入分析项目,发现所有使用的中间件和框架。
147
235
 
148
- ### Step 1: 判断同步模式
236
+ ## 探索工具
149
237
 
150
- 根据用户输入判断同步模式:
238
+ 使用以下工具进行探索:
239
+ - grep: 搜索依赖声明、配置项、import 语句
240
+ - read: 读取构建文件和配置文件
151
241
 
152
- **本地扫描模式**(无参数):
153
- - 扫描项目代码生成知识
154
- - 继续执行 Step 2-7
242
+ ## 探索步骤
155
243
 
156
- **导入模式**(有参数或 URL):
244
+ 1. 分析依赖:grep 构建文件中的依赖声明
245
+ 2. 扫描配置:查找 application*.properties/yml 中的配置项
246
+ 3. 扫描代码:grep import 语句识别引入的库
247
+ 4. 识别客户端:grep Client/Config/Manager 类
157
248
 
158
- 1. **解析输入**
159
- - `<url>` - 自动识别类型
160
- - `--git <url>` - 明确 Git 仓库
161
- - `--online <url>` - 明确在线文档
162
- - `--npm <package>` - npm 包
163
- - `--local <path>` - 本地目录
249
+ ## 识别标准
164
250
 
165
- 2. **URL 自动识别规则**
166
- | URL 模式 | 类型 | 处理方式 |
167
- |---------|------|---------|
168
- | `https://github.com/...` | Git | git clone |
169
- | `git@github.com:...` | Git | git clone |
170
- | Confluence/在线文档平台 | 在线文档 | 对应 API |
171
- | 其他 | Git | 尝试 git clone |
251
+ - 数据库: DataSource, Connection, Repository, Mapper, DAO
252
+ - 缓存: Cache, Redis, Memcached, CacheManager
253
+ - 消息队列: Producer, Consumer, Queue, Topic, Message
254
+ - RPC: RpcClient, RpcServer, Facade, Stub
255
+ - 存储: OssClient, S3Client, StorageService
256
+ - LLM: LLMClient, ChatService, Embedding, VectorStore
257
+ ```
172
258
 
173
- 跳转到 Step 1a 执行导入流程。
259
+ **输出**:
260
+ ```json
261
+ {
262
+ "middleware": [
263
+ {
264
+ "name": "distributed-db",
265
+ "type": "database",
266
+ "detectionSource": "config",
267
+ "configKeys": ["datasource.name", "datasource.version"],
268
+ "clientClasses": ["DataSourceConfig"],
269
+ "version": "1.0.0",
270
+ "confidence": 0.95
271
+ }
272
+ ],
273
+ "externalServices": [
274
+ {
275
+ "name": "llm-service",
276
+ "type": "llm",
277
+ "endpoint": "llm.service.url",
278
+ "clientClass": "LLMClient",
279
+ "confidence": 0.92
280
+ }
281
+ ]
282
+ }
283
+ ```
174
284
 
175
- ### Step 1a: 执行导入(导入模式)
285
+ ### 1.3.1 RPC 服务检测(新增)
176
286
 
177
- 根据来源类型执行导入:
287
+ **【强制】** 使用 `rpcServices` 规则检测 RPC 服务:
178
288
 
179
- **Git 来源**:
289
+ **服务提供者检测**:
180
290
  ```bash
181
- git clone --depth 1 {url} /tmp/autospec-import
291
+ # 检测 @RpcProvider 注解
292
+ grep -rn "@RpcProvider\|@DubboService\|@GrpcService" --include="*.java"
293
+
294
+ # 提取服务实现类
295
+ grep -rn "implements.*Facade\|implements.*Service" --include="*.java"
182
296
  ```
183
297
 
184
- **在线文档来源**:
185
- - 识别文档平台(Confluence、在线文档平台 等)
186
- - 使用对应 API 读取文档内容
187
- - 转换为本地知识文件格式
298
+ **Facade 接口检测**:
299
+ ```bash
300
+ # 检测 Facade 接口定义
301
+ grep -rn "interface.*Facade\|interface.*Service" --include="*.java"
302
+
303
+ # 扫描 facade 模块目录
304
+ find . -path "*/app/facade/*" -name "*.java"
305
+ find . -path "*/api/src/main/java/*" -name "*.java"
306
+ ```
188
307
 
189
- **npm 来源**:
308
+ **服务引用检测**:
190
309
  ```bash
191
- npm pack {package}
192
- tar -xzf {package}-*.tgz
310
+ # 检测 RPC 服务引用
311
+ grep -rn "@RpcReference\|@DubboReference\|@FeignClient" --include="*.java"
312
+ ```
313
+
314
+ **输出**:
315
+ ```json
316
+ {
317
+ "rpcServices": [
318
+ {
319
+ "interface": "AssistantChatFacade",
320
+ "implementation": "AssistantChatFacadeImpl",
321
+ "methods": ["chat", "streamChat"],
322
+ "sourceFile": "app/facade/src/main/java/.../AssistantChatFacade.java",
323
+ "references": [
324
+ {"project": "backend", "file": "ChatController.java"}
325
+ ]
326
+ }
327
+ ]
328
+ }
193
329
  ```
194
330
 
195
- **本地来源**:
331
+ ### 1.3.2 外部服务客户端检测(新增)
332
+
333
+ **【强制】** 使用 `externalServiceClients` 规则检测外部服务:
334
+
335
+ **客户端类检测**:
196
336
  ```bash
197
- cp -r {path}/* .autospec/environment/
337
+ # 检测客户端类
338
+ grep -rn "class.*Client\|class.*FacadeClient\|class.*Adapter\|class.*Gateway" --include="*.java" -l
339
+
340
+ # 提取客户端方法
341
+ grep -rn "public.*call\|public.*invoke\|public.*request\|public.*query" --include="*Client.java"
198
342
  ```
199
343
 
200
- ### Step 1b: 验证知识库结构(导入模式)
344
+ **配置项提取**:
345
+ ```bash
346
+ # 提取服务端点配置
347
+ grep -rn "\.service-url\|\.endpoint\|\.tr-service-url" --include="*.properties" --include="*.yml"
201
348
 
202
- 检查导入的知识库是否包含:
203
- - `manifest.json` `package.json`
204
- - `env-knowledge/` 目录
205
- - `component-lib/` 目录
349
+ # 提取超时和重试配置
350
+ grep -rn "\.timeout\|\.retry\|\.retries" --include="*.properties" --include="*.yml"
351
+ ```
206
352
 
207
- ### Step 1c: 模板合规检查(导入模式)
353
+ **服务类型分类**:
354
+ - LLM 服务:LLMClient, ChatClient, ModelClient
355
+ - 向量服务:VectorClient, EmbeddingClient
356
+ - 存储服务:OssClient, StorageClient
357
+ - 消息服务:MqClient, MessageClient
358
+ - 认证服务:AuthClient, SecurityClient
208
359
 
209
- 加载模板注册表 `knowledge/environment/template-registry.md`,对每个知识文件:
360
+ **输出**:
361
+ ```json
362
+ {
363
+ "externalServiceClients": [
364
+ {
365
+ "name": "LLMServiceClient",
366
+ "type": "llm",
367
+ "endpoint": "llm.service.url",
368
+ "methods": ["chat", "embed"],
369
+ "configKeys": ["llm.service.url", "llm.timeout"],
370
+ "sourceFile": "app/client/src/main/java/.../LLMServiceClient.java"
371
+ }
372
+ ]
373
+ }
374
+ ```
210
375
 
211
- **中间件文件** (`env-knowledge/middleware/*.md`):
212
- - 校验是否包含必填章节:基本信息、环境变量、连接代码模板
213
- - 检查基本信息表格是否包含:名称、类型
214
- - 检查类型是否在预定义枚举中
376
+ ### 1.3.3 数据模型检测(新增)
215
377
 
216
- **组件文件** (`component-lib/components/*/component.md`):
217
- - 校验是否包含必填章节:基本信息、接口定义、使用示例
218
- - 检查基本信息表格是否包含:名称、类型、版本
219
- - 检查类型是否在预定义枚举中
378
+ **【强制】** 使用 `dataModels` 规则检测数据模型:
220
379
 
221
- **设计/测试/业务知识文件**:
222
- - 校验是否包含对应模板的必填章节
380
+ **DO/Entity 类检测**:
381
+ ```bash
382
+ # 检测 DO 类
383
+ grep -rn "class.*DO\|class.*Entity\|class.*PO\|class.*DTO" --include="*.java" -l
223
384
 
224
- 生成校验报告:
385
+ # 检测 @Entity @Table 注解
386
+ grep -rn "@Entity\|@Table\|@TableName" --include="*.java" -l
225
387
  ```
226
- 🔍 模板合规检查
227
388
 
228
- 中间件: 5 文件
229
- ✅ mysql.md - 符合模板规范
230
- redis.md - 符合模板规范
231
- ⚠️ kafka.md - 缺少「连接代码模板」章节
232
- ❌ es.md - 缺少必填章节「基本信息」
389
+ **表映射检测**:
390
+ ```bash
391
+ # 提取表名
392
+ grep -rn "@Table(name\|@TableName(" --include="*.java"
233
393
 
234
- 组件: 2 文件
235
- auth/component.md - 符合模板规范
236
- ❌ payment/component.md - 缺少必填章节「接口定义」
394
+ # 提取字段映射
395
+ grep -rn "@Column\|@Field" --include="*.java"
396
+ ```
237
397
 
238
- 总计: 7 文件, 4 完全合规, 1 有警告, 2 不合规
398
+ **大数据存储模型检测**:
399
+ ```bash
400
+ # 检测大数据存储目录
401
+ find . -path "*/app/dal/**/bigdata/*" -name "*.java"
402
+ find . -path "*/app/dal/**/lindorm/*" -name "*.java"
403
+ find . -path "*/app/dal/**/hbase/*" -name "*.java"
404
+
405
+ # 检测 TDO 类
406
+ grep -rn "class.*TDO" --include="*.java" -l
239
407
  ```
240
408
 
241
- ### Step 1d: AI 补全缺失章节(导入模式)
409
+ **输出**:
410
+ ```json
411
+ {
412
+ "dataModels": [
413
+ {
414
+ "name": "SessionDO",
415
+ "type": "DO",
416
+ "table": "t_session",
417
+ "fields": [
418
+ {"name": "id", "type": "Long", "column": "id", "primaryKey": true},
419
+ {"name": "userId", "type": "String", "column": "user_id"}
420
+ ],
421
+ "sourceFile": "app/dal/src/main/java/.../SessionDO.java"
422
+ }
423
+ ]
424
+ }
425
+ ```
242
426
 
243
- 对校验通过但缺少可选章节的知识文件:
427
+ ### 1.3.4 消息消费者检测(新增)
244
428
 
245
- 1. **分析项目上下文**
246
- - 当前项目技术栈
247
- - 已有的环境配置
248
- - 检测到的依赖包
429
+ **【强制】** 使用 `messageConsumers` 规则检测消息消费者:
249
430
 
250
- 2. **AI 补全缺失章节**
251
- - 根据模板规范补全缺失的可选章节
252
- - 例如:连接代码模板、最佳实践、反模式清单
431
+ **消费者检测**:
432
+ ```bash
433
+ # 检测消息消费者注解
434
+ grep -rn "@MessageConsumer\|@KafkaListener\|@RabbitListener\|@RocketMQMessageListener" --include="*.java"
253
435
 
254
- 3. **提供补全预览**
255
- ```
256
- 📝 将补全以下章节:
436
+ # 提取 Topic 配置
437
+ grep -rn "topic\s*=\|queues\s*=" --include="*.java"
438
+ ```
439
+
440
+ **生产者检测**:
441
+ ```bash
442
+ # 检测生产者类
443
+ grep -rn "class.*Producer\|class.*Publisher" --include="*.java" -l
444
+ ```
445
+
446
+ **输出**:
447
+ ```json
448
+ {
449
+ "messageConsumers": [
450
+ {
451
+ "class": "ChatEventConsumer",
452
+ "topic": "TP_CHAT_EVENT",
453
+ "method": "onMessage",
454
+ "sourceFile": "app/consumer/src/main/java/.../ChatEventConsumer.java"
455
+ }
456
+ ]
457
+ }
458
+ ```
459
+
460
+ ### 1.4 扫描环境变量模式
257
461
 
258
- kafka.md:
259
- + 连接代码模板(Node.js、Python)
260
- + 最佳实践
261
- + 健康检查
462
+ 使用 grep 扫描多语言环境变量:
463
+
464
+ ```bash
465
+ # JavaScript/TypeScript
466
+ grep -r "process\.env\." --include="*.js" --include="*.ts"
262
467
 
263
- 是否执行补全?[Y/n]
264
- ```
468
+ # Python
469
+ grep -r "os\.environ" --include="*.py"
470
+ grep -r "getenv(" --include="*.py"
265
471
 
266
- 4. **执行补全**
267
- 用户确认后,AI 补全并保存文件
472
+ # Java
473
+ grep -r "System\.getenv" --include="*.java"
474
+ grep -r "@Value" --include="*.java"
268
475
 
269
- ### Step 1e: 分析相关性(导入模式)
476
+ # Go
477
+ grep -r "os\.Getenv" --include="*.go"
270
478
 
271
- 1. **识别内容**
272
- - 包含的中间件列表
273
- - 包含的组件列表
274
- - 包含的最佳实践
479
+ # Rust
480
+ grep -r "std::env::" --include="*.rs"
481
+ ```
275
482
 
276
- 2. **分析相关性**
277
- - 与当前项目技术栈的匹配度
278
- - 推荐激活的知识项
483
+ ### 1.5 输出扫描结果
279
484
 
280
- 3. **提供激活建议**
281
- ```
282
- 相关性分析:
283
- 技术栈匹配度: 85%
284
- 推荐激活: mysql, redis, auth
285
- ```
485
+ 生成 `.autospec/runtime/env-scan-result.json`:
286
486
 
287
- 跳转到 Step 8 继续执行。
487
+ ```json
488
+ {
489
+ "projects": [
490
+ {"name": "project-a", "path": "project-a", "language": "java", "framework": "Spring Boot"}
491
+ ],
492
+ "language": "java",
493
+ "buildTool": "maven",
494
+ "frameworks": ["Spring Boot", "Dubbo"],
495
+ "middleware": [
496
+ {"name": "distributed-db", "type": "database", "confidence": 0.95}
497
+ ],
498
+ "externalServices": [
499
+ {"name": "llm-service", "type": "llm", "confidence": 0.92}
500
+ ],
501
+ "aiComponents": [],
502
+ "dataComponents": ["dbt"],
503
+ "envVariables": ["DB_HOST", "REDIS_ENDPOINT"],
504
+ "sourceDirectories": {
505
+ "backend": ["backend/src/main/java"],
506
+ "data": ["data/warehouse"]
507
+ },
508
+ "projectDependencies": [
509
+ {"from": "project-a", "to": "project-b", "type": "rpc", "services": ["XxxFacade"]}
510
+ ]
511
+ }
512
+ ```
513
+
514
+ ### 1.6 置信度过滤
515
+
516
+ **【强制】** 对检测结果按置信度分级处理:
517
+
518
+ | 置信度范围 | 级别 | 处理方式 |
519
+ |-----------|------|---------|
520
+ | ≥ 0.85 | 高 | 直接采用,自动生成知识文件 |
521
+ | 0.65 - 0.85 | 中 | 标记「待确认」,生成文件但添加 review 标记 |
522
+ | 0.45 - 0.65 | 低 | 仅记录到扫描结果,不生成知识文件 |
523
+ | < 0.45 | 忽略 | 不记录 |
524
+
525
+ **输出格式**:
526
+
527
+ ```json
528
+ {
529
+ "high": [...], // 直接采用
530
+ "medium": [...], // 待确认
531
+ "low": [...], // 仅记录
532
+ "ignored": [...] // 忽略
533
+ }
534
+ ```
535
+
536
+ **待确认文件标记**:
537
+
538
+ 在生成的 `.md` 文件头部添加:
539
+
540
+ ```markdown
541
+ > ⚠️ **待确认**: 此文件由模型检测生成(置信度: 0.72),请人工确认后移除此标记。
542
+ ```
288
543
 
289
544
  ---
290
545
 
291
- ## 本地扫描模式流程
546
+ ## Step 2: 扫描项目文档(设计/测试/业务)
547
+
548
+ **【强制】** 按优先级扫描三类文档:
549
+
550
+ ### 2.1 扫描设计文档(使用 designDocs 规则)
551
+
552
+ **产品设计**:
553
+ - 扫描位置:`specs/proposal.md`, `docs/product/`, `product/`, `docs/requirements/`, `knowledge/02-process/`
554
+ - 文件模式:`*proposal*.md`, `*product*.md`, `*requirement*.md`
555
+ - 输出目录:`03-design-knowledge/01-product/`
292
556
 
293
- ### Step 2: 扫描设计文档
557
+ **架构设计**:
558
+ - 扫描位置:`specs/design.md`, `docs/architecture/`, `architecture/`, `docs/design/`, `knowledge/03-guides/`
559
+ - 文件模式:`*design*.md`, `*architecture*.md`, `*.uml`, `*.plantuml`, `*.md`
560
+ - 输出目录:`03-design-knowledge/02-architecture/`
294
561
 
295
- **【强制】** 扫描项目中的设计文档:
562
+ **接口设计**:
563
+ - 扫描位置:`docs/api/`, `openapi/`, `api/`, `specs/contracts/`, `app/facade/`, `app/web/`
564
+ - 文件模式:`openapi.yaml`, `openapi.json`, `swagger.yaml`, `swagger.json`, `*api*.md`
565
+ - 输出目录:`03-design-knowledge/03-api/`
296
566
 
297
- 1. **扫描产品设计文档**
298
- - 扫描 `specs/` 目录下的 `proposal.md`
299
- - 扫描 `docs/product/` 目录
300
- - 提取业务架构设计、用例业务流程
567
+ **数据库设计**:
568
+ - 扫描位置:`docs/database/`, `db/`, `schema/`, `migrations/`, `app/dal/`, `app/model/`
569
+ - 文件模式:`*schema*.sql`, `*database*.md`, `*.sql`, `*.ddl`, `*.proto`
570
+ - 输出目录:`03-design-knowledge/04-database/`
301
571
 
302
- 2. **扫描架构设计文档**
303
- - 扫描 `specs/` 目录下的 `design.md`
304
- - 扫描 `docs/architecture/` 目录
305
- - 提取 UML 图(用例图、时序图、类图、框图、状态图等)
572
+ ### 2.2 扫描测试文档(使用 testDocs 规则)
306
573
 
307
- 3. **扫描接口设计文档**
308
- - 扫描 `docs/api/` 目录
309
- - 扫描 `openapi.yaml` / `swagger.json`
310
- - 提取接口概述、参数定义、错误码
574
+ **测试设计**:
575
+ - 扫描位置:`specs/testcase.md`, `tests/design/`, `test/`, `specs/`
576
+ - 文件模式:`*testcase*.md`, `*test-design*.md`
577
+ - 输出目录:`05-test-knowledge/01-test-designs/`
311
578
 
312
- 4. **扫描数据库设计文档**
313
- - 扫描 `docs/database/` 目录
314
- - 扫描 `*.sql` 文件中的表结构
315
- - 提取 ER 图、表结构、索引设计
579
+ **评测设计**:
580
+ - 扫描位置:`evaluation/`, `eval/`, `benchmarks/`, `tests/evaluation/`
581
+ - 文件模式:`*eval*.md`, `*benchmark*.md`, `*metrics*.md`
582
+ - 输出目录:`05-test-knowledge/02-evaluation/`
316
583
 
317
- ### Step 3: 扫描测试文档
584
+ ### 2.3 扫描业务知识(使用 domain-business 模板)
318
585
 
319
- **【强制】** 扫描项目中的测试相关文档:
586
+ **领域业务知识**:
587
+ - 扫描位置:`docs/business/`, `knowledge/`, `docs/domain/`, `business/`
588
+ - 文件模式:`*glossary*.md`, `*terminology*.md`, `*rules*.md`, `*policy*.md`, `*flow*.md`, `*process*.md`, `*domain*.md`
589
+ - 输出目录:`04-business-knowledge/{domain-name}.md`
590
+ - 使用模板:`knowledge/09-templates/05-domain-business.md`
320
591
 
321
- 1. **扫描测试设计文档**
322
- - 扫描 `specs/` 目录下的 `testcase.md`
323
- - 扫描 `tests/` 目录下的测试设计
324
- - 提取测试概要、测试用例、覆盖矩阵
592
+ **整合内容**:
593
+ - 业务术语表(统一语言)
594
+ - 业务规则
595
+ - 业务流程
596
+ - 领域模型(含数据模型)
597
+ - 实体详情
325
598
 
326
- 2. **扫描AI评测文档**
327
- - 扫描 `evaluation/` 目录
328
- - 扫描 `benchmarks/` 目录
329
- - 提取评测目标、数据集、指标定义
599
+ ### 2.4 扫描规范指南
330
600
 
331
- ### Step 4: 扫描规范指南
601
+ **规范文档**:
602
+ - 扫描位置:`docs/standards/`, `.editorconfig`, `checkstyle.xml`
603
+ - 输出目录:`06-standards/`
332
604
 
333
- **【强制】** 扫描项目中的规范和指南文档:
605
+ **指南文档**:
606
+ - 扫描位置:`docs/guides/`, `knowledge/03-guides/`
607
+ - 输出目录:`07-guides/`
334
608
 
335
- 1. **扫描规范文档**
336
- - 扫描 `docs/standards/` 目录
337
- - 扫描 `.editorconfig` / `.eslintrc` / `checkstyle.xml`
338
- - 提取编码规范、数据一致性规范
609
+ ### 2.5 模型兜底扫描(Fallback)
339
610
 
340
- 2. **扫描指南文档**
341
- - 扫描 `docs/guides/` 目录
342
- - 扫描 `knowledge/guides/` 目录
343
- - 提取系统设计指南、需求工程指南
611
+ **【强制】** 当规则匹配完成后,执行模型兜底扫描,捕获规则之外的潜在文档:
344
612
 
345
- ### Step 5: 扫描业务知识
613
+ #### 2.5.1 收集未匹配文件
346
614
 
347
- **【强制】** 扫描项目中的业务知识文档:
615
+ ```bash
616
+ # 收集所有未被规则匹配的 Markdown 文件
617
+ find docs/ specs/ knowledge/ business/ tests/ -name "*.md" \
618
+ ! -path "*/node_modules/*" \
619
+ ! -path "*/.git/*" \
620
+ ! -path "*/.autospec/*" \
621
+ | sort > /tmp/unmatched-files.txt
622
+ ```
348
623
 
349
- 1. **扫描术语表**
350
- - 扫描 `docs/business/glossary.md`
351
- - 扫描 `knowledge/domain/glossary.md`
352
- - 提取术语定义
624
+ #### 2.5.2 排除已匹配文件
625
+
626
+ ```bash
627
+ # 从全部文件中减去已规则匹配的文件
628
+ comm -23 /tmp/all-md-files.txt /tmp/matched-files.txt > /tmp/candidate-files.txt
629
+ ```
353
630
 
354
- 2. **扫描业务规则**
355
- - 扫描 `docs/business/rules.md`
356
- - 扫描 `knowledge/domain/rules.md`
357
- - 提取规则ID、规则描述
631
+ #### 2.5.3 AI 模型分类
358
632
 
359
- 3. **扫描业务流程**
360
- - 扫描 `docs/business/flows/` 目录
361
- - 扫描 `knowledge/domain/flows/` 目录
362
- - 提取 Mermaid 流程图
633
+ **调用模型**,传入 `detection-patterns.yaml` 中定义的 `fallback.aiPrompt`:
363
634
 
364
- ### Step 6: 分析每个检测项(AI)
635
+ ```
636
+ 输入:候选文件列表 + 文件内容摘要
637
+ 处理:使用对应的 aiPrompt 进行分类识别
638
+ 输出:JSON 格式的分类结果
639
+ ```
365
640
 
366
- 对每个检测到的中间件/组件:
641
+ **设计文档兜底**:
642
+ - 使用 `designDocs.fallback.aiPrompt`
643
+ - 识别架构/API/数据库/产品设计文档
644
+ - 输出到对应子目录
367
645
 
368
- 1. **阅读相关代码文件**
369
- - 找到使用该中间件的代码文件
370
- - 理解使用上下文
646
+ **业务文档兜底**:
647
+ - 使用 `businessDocs.fallback.aiPrompt`
648
+ - 识别术语表/业务规则/业务流程文档
649
+ - 输出到对应子目录
371
650
 
372
- 2. **提取配置模式**
373
- - 连接配置方式
374
- - 初始化参数
375
- - 错误处理模式
651
+ **测试文档兜底**:
652
+ - 使用 `testDocs.fallback.aiPrompt`
653
+ - 识别测试设计/评测设计文档
654
+ - 输出到对应子目录
376
655
 
377
- 3. **识别使用特征**
378
- - 连接池配置
379
- - 重试机制
380
- - 超时设置
381
- - 认证方式
656
+ #### 2.5.4 置信度过滤
382
657
 
383
- ### Step 7: 生成知识文件(AI)
658
+ ```yaml
659
+ # 只保留置信度 >= 0.7 的分类结果
660
+ confidenceThreshold: 0.7
384
661
 
385
- **【强制】** 按模板规范生成 Markdown 格式的知识文件:
662
+ # 置信度 0.5-0.7 的标记为"待确认"
663
+ reviewThreshold: 0.5
386
664
 
387
- 加载模板:
388
- - 中间件模板:`knowledge/environment/middleware-knowledge.md`
389
- - 组件模板:`knowledge/environment/component-knowledge.md`
665
+ # 置信度 < 0.5 的忽略
666
+ ignoreThreshold: 0.5
667
+ ```
390
668
 
391
- **中间件知识格式**:
669
+ #### 2.5.5 生成兜底报告
392
670
 
393
671
  ```markdown
394
- # {名称} 中间件知识
672
+ ## 模型兜底扫描结果
395
673
 
396
- ## 基本信息
674
+ ### 设计文档
675
+ - ✅ `docs/random-design.md` → architecture (confidence: 0.92)
676
+ - ✅ `docs/api-intro.md` → api (confidence: 0.85)
677
+ - ⚠️ `docs/overview.md` → product (confidence: 0.68, 待确认)
397
678
 
398
- | 字段 | 值 |
399
- |------|-----|
400
- | 名称 | {name} |
401
- | 类型 | {type} |
402
- | 默认端口 | {port} |
403
- | 知识版本 | v1.0 |
679
+ ### 业务文档
680
+ - ✅ `docs/terms.md` → glossary (confidence: 0.88)
681
+ - `docs/rules.md` rules (confidence: 0.91)
404
682
 
405
- ## 环境变量
683
+ ### 测试文档
684
+ - ✅ `tests/manual-cases.md` → test-designs (confidence: 0.79)
406
685
 
407
- ### 必需变量
686
+ 总计:发现 7 个规则外文档,6 个高置信度,1 个待确认
687
+ ```
408
688
 
409
- | 变量名 | 说明 | 示例 |
410
- |--------|------|------|
411
- | {NAME}_HOST | 主机地址 | db.example.com |
412
- | {NAME}_PASSWORD | 密码 | - |
689
+ ---
413
690
 
414
- ### 可选变量
691
+ ## Step 3: 分析项目结构(多语言源码分析)
692
+
693
+ **【强制】** 使用 model+grep 方式分析源码结构:
694
+
695
+ ### 3.1 Java 项目分析
696
+
697
+ ```yaml
698
+ # 使用 sourceAnalysis.java 规则
699
+ buildFiles: [pom.xml, build.gradle]
700
+ srcDirs:
701
+ - src/main/java
702
+ - src/main/kotlin
703
+ - "app/*/src/main/java" # 多模块项目
704
+ - "*/src/main/java" # 通用多模块
705
+
706
+ # Grep 模式提取架构信息
707
+ grepPatterns:
708
+ package: "^package\\s+([\\w.]+);"
709
+ import: "^import\\s+([\\w.]+);"
710
+ class: "public\\s+class\\s+(\\w+)"
711
+ interface: "public\\s+interface\\s+(\\w+)"
712
+ facade: "interface.*Facade"
713
+
714
+ # 注解识别
715
+ annotations:
716
+ restController: "@RestController"
717
+ service: "@Service"
718
+ repository: "@Repository"
719
+ entity: "@Entity"
720
+ controller: "@Controller"
721
+ rpcProvider: "@RpcProvider"
722
+ rpcReference: "@RpcReference"
723
+ ```
415
724
 
416
- | 变量名 | 默认值 | 说明 |
417
- |--------|--------|------|
418
- | {NAME}_PORT | {默认端口} | 端口号 |
725
+ **分析输出**:
726
+ - 包结构列表
727
+ - 核心类列表
728
+ - Controller/Service/Repository 分布
729
+ - RPC 服务分布(@RpcProvider)
730
+ - 实体类列表
731
+
732
+ ### 3.2 Node.js 项目分析
733
+
734
+ ```yaml
735
+ # 使用 sourceAnalysis.nodejs 规则
736
+ buildFiles: [package.json]
737
+ srcDirs: [src/, app/, lib/]
738
+
739
+ # Grep 模式
740
+ grepPatterns:
741
+ import: "import.*from|require\\("
742
+ export: "module.exports|exports\\.|export (default|const|function|class)"
743
+ route: "@Controller|@Get|@Post|router\\.(get|post|put|delete)"
744
+ ```
419
745
 
420
- ## 连接代码模板
746
+ **分析输出**:
747
+ - 模块导入/导出列表
748
+ - 路由定义位置
749
+ - Controller 位置
421
750
 
422
- ### Node.js
751
+ ### 3.3 Python 项目分析
423
752
 
424
- ```javascript
425
- // 连接代码
753
+ ```yaml
754
+ # 使用 sourceAnalysis.python 规则
755
+ buildFiles: [requirements.txt, pyproject.toml]
756
+ srcDirs: [src/, app/, backend/]
757
+
758
+ # Grep 模式
759
+ grepPatterns:
760
+ import: "^import|^from.*import"
761
+ class: "^class\\s+(\\w+)"
762
+ route: "@app\\.route|@router\\.route|@api\\.route"
426
763
  ```
427
764
 
428
- ### Python
765
+ **分析输出**:
766
+ - 模块依赖关系
767
+ - 类定义列表
768
+ - API 路由位置
769
+
770
+ ### 3.4 Go 项目分析
429
771
 
430
- ```python
431
- # 连接代码
772
+ ```yaml
773
+ # 使用 sourceAnalysis.go 规则
774
+ buildFiles: [go.mod]
775
+ srcDirs: [cmd/, internal/, pkg/]
776
+
777
+ # Grep 模式
778
+ grepPatterns:
779
+ package: "^package\\s+(\\w+)"
780
+ func: "^func\\s+(\\w+)"
781
+ struct: "type\\s+(\\w+)\\s+struct"
432
782
  ```
433
783
 
434
- ## 最佳实践
784
+ **分析输出**:
785
+ - 包结构
786
+ - 函数列表
787
+ - 结构体定义
788
+
789
+ ### 3.5 Rust 项目分析
435
790
 
436
- 1. 实践1
437
- 2. 实践2
791
+ ```yaml
792
+ # 使用 sourceAnalysis.rust 规则
793
+ buildFiles: [Cargo.toml]
794
+ srcDirs: [src/]
438
795
 
439
- ## 反模式清单
796
+ # Grep 模式
797
+ grepPatterns:
798
+ module: "^mod\\s+(\\w+)"
799
+ fn: "^pub\\s+fn\\s+(\\w+)"
800
+ struct: "^pub\\s+struct\\s+(\\w+)"
801
+ ```
440
802
 
441
- | 反模式 | 风险 | 替代方案 |
442
- |--------|------|----------|
443
- | 反模式描述 | 风险说明 | 替代方案 |
803
+ **分析输出**:
804
+ - 模块结构
805
+ - 公共函数列表
806
+ - 结构体定义
444
807
 
445
- ## 健康检查
808
+ ### 3.6 项目间依赖分析
809
+
810
+ **【强制】** 使用 `modelDrivenDetection.stages.dependencyAnalysis` 分析项目间依赖:
446
811
 
447
- ```bash
448
- # 健康检查命令
449
812
  ```
813
+ 你是一个依赖关系分析专家。请分析项目间的调用和依赖关系。
814
+
815
+ ## 探索工具
816
+
817
+ 使用以下工具进行探索:
818
+ - grep: 搜索构建依赖、RPC 引用、HTTP 客户端调用
819
+ - read: 读取构建文件和配置
820
+
821
+ ## 探索步骤
822
+
823
+ 1. 构建依赖分析:grep <dependency>, workspaces
824
+ 2. RPC 服务引用:grep @RpcReference, XxxFacade
825
+ 3. HTTP 客户端调用:grep RestTemplate, HttpClient, fetch, axios
826
+ 4. 共享代码分析:find common, shared, core
827
+
828
+ ## 输出
829
+
830
+ 生成依赖关系图,包含:projectDependencies, sharedModules, externalDependencies
450
831
  ```
451
832
 
452
- **组件知识格式**:
833
+ **输出文件**:`03-design-knowledge/02-architecture/service-dependency-graph.md`
453
834
 
454
- ```markdown
455
- # {名称} 组件知识
835
+ ---
456
836
 
457
- ## 基本信息
837
+ ## Step 4: 提取架构设计(AI 驱动)
458
838
 
459
- | 字段 | |
460
- |------|-----|
461
- | 名称 | {name} |
462
- | 类型 | {type} |
463
- | 版本 | {version} |
839
+ **【强制】** 基于 Step 2 扫描结果和 Step 3 源码分析,提取架构信息:
464
840
 
465
- ## 功能描述
841
+ ### 4.1 识别架构文档
466
842
 
467
- 组件功能描述
843
+ - 检查是否已有架构设计文档(`*architecture*.md`, `*design*.md`)
844
+ - 有文档 → 直接复制到 `03-design-knowledge/02-architecture/`
845
+ - 无文档 → 进入 4.2 AI 提取
468
846
 
469
- ## 接口定义
847
+ ### 4.2 AI 提取架构信息
470
848
 
471
- | 方法名 | 说明 |
472
- |--------|------|
473
- | method1 | 方法说明 |
849
+ **输入**:
850
+ - Step 1 的框架识别结果
851
+ - Step 3 的源码分析结果(包结构、类列表、注解位置)
474
852
 
475
- ## 使用示例
853
+ **使用模板**:`knowledge/09-templates/01-architecture-design.md`
476
854
 
477
- ### Node.js
855
+ **生成内容**:
856
+ 1. 架构愿景(从项目 README、package.json description 提取)
857
+ 2. 逻辑架构(从包结构、模块依赖推断)
858
+ 3. 技术选型(从 frameworks 识别结果)
859
+ 4. 质量属性(从配置推断)
478
860
 
479
- **安装**
861
+ **输出文件**:`03-design-knowledge/02-architecture/{project-name}-architecture.md`
480
862
 
863
+ ---
864
+
865
+ ## Step 5: 提取接口定义(AI 驱动)
866
+
867
+ **【强制】** 提取接口定义:
868
+
869
+ ### 5.1 识别 OpenAPI/Swagger 文件
870
+
871
+ - 扫描 `openapi.yaml`, `openapi.json`, `swagger.yaml`, `swagger.json`
872
+ - 找到 → 复制到 `03-design-knowledge/03-api/`
873
+ - 无 → 进入 5.2 代码提取
874
+
875
+ ### 5.2 从代码提取接口
876
+
877
+ **【强制】** 使用 `modelDrivenDetection.stages.apiDiscovery` 进行深度检测:
878
+
879
+ **Java (Spring + RPC)**:
481
880
  ```bash
482
- npm install @org/component
881
+ # 提取 HTTP @RestController 和 @Controller
882
+ grep -r "@RestController\|@Controller" --include="*.java"
883
+ # 提取 @RequestMapping 等
884
+ grep -r "@GetMapping\|@PostMapping\|@PutMapping\|@DeleteMapping" --include="*.java"
885
+
886
+ # 提取 RPC @RpcProvider 服务
887
+ grep -r "@RpcProvider" --include="*.java" -A 5
888
+ # 提取 Facade 接口定义
889
+ grep -r "interface.*Facade" --include="*.java"
890
+ # 提取 RPC 引用
891
+ grep -r "@RpcReference" --include="*.java"
483
892
  ```
484
893
 
485
- **使用**
894
+ **Node.js (Express/NestJS)**:
895
+ ```bash
896
+ # 提取路由定义
897
+ grep -r "router\.\(get\|post\|put\|delete\)" --include="*.js" --include="*.ts"
898
+ # 提取 NestJS Controller
899
+ grep -r "@Controller\|@Get\|@Post" --include="*.ts"
900
+ ```
901
+
902
+ **Python (FastAPI/Flask)**:
903
+ ```bash
904
+ # 提取路由
905
+ grep -r "@app\.route\|@router\.route" --include="*.py"
906
+ # 提取 FastAPI 端点
907
+ grep -r "@app\.get\|@app\.post" --include="*.py"
908
+ ```
909
+
910
+ **模型驱动深度检测**:
486
911
 
487
- ```javascript
488
- // 使用代码
489
912
  ```
913
+ 你是一个 API 接口分析专家。请发现项目中所有的 HTTP 和 RPC 接口。
490
914
 
491
- ## 配置项
915
+ ## 探索工具
492
916
 
493
- ### 必需配置
917
+ 使用以下工具进行探索:
918
+ - grep: 搜索注解和路由定义
919
+ - read: 读取 Controller/Facade 类
494
920
 
495
- | 配置项 | 说明 |
496
- |--------|------|
497
- | CONFIG_ENDPOINT | 服务地址 |
921
+ ## 探索步骤
498
922
 
499
- ## 使用检查清单
923
+ 1. HTTP 接口检测:grep @RestController, @GetMapping 等
924
+ 2. RPC 接口检测:grep @RpcProvider, interface.*Facade
925
+ 3. OpenAPI 检测:find openapi*.yaml, swagger*.yaml
926
+ 4. 读取接口定义:读取类文件提取方法签名
500
927
 
501
- ### 使用前检查
928
+ ## 输出
502
929
 
503
- - [ ] 检查项1
504
- - [ ] 检查项2
930
+ 生成 HTTP RPC 接口列表,包含:controller, basePath, endpoints, methods
505
931
  ```
506
932
 
507
- ### Step 8: 模板合规校验
933
+ **使用模板**:`knowledge/09-templates/02-api-design.md`
508
934
 
509
- **【强制】** 对生成的每个知识文件,执行模板校验:
935
+ **输出文件**:`03-design-knowledge/03-api/{api-name}.md`
510
936
 
511
- 1. **章节完整性检查**
512
- - 中间件:基本信息、环境变量、连接代码模板
513
- - 组件:基本信息、接口定义、使用示例
937
+ ---
514
938
 
515
- 2. **表格格式校验**
516
- - 表格必须有表头行
517
- - 表格列数必须一致
518
- - 必填表格不能为空
939
+ ## Step 6: 提取数据模型(AI 驱动)
519
940
 
520
- 3. **类型枚举校验**
521
- - 中间件类型必须在预定义枚举中
522
- - 组件类型必须在预定义枚举中
941
+ **【强制】** 提取数据库/数据模型设计:
523
942
 
524
- 校验通过后进入 Step 9 注册。
943
+ ### 6.1 识别 Schema 文件
525
944
 
526
- ### Step 9: 注册激活
945
+ - 扫描 `*.sql`, `*.ddl`, `schema.sql`
946
+ - 扫描 ORM 模型文件(`*model*.py`, `*entity*.java`, `*model*.ts`)
527
947
 
528
- 1. 将知识文件写入对应目录:
529
- - 中间件:`.autospec/environment/env-knowledge/middleware/{name}.md`
530
- - 组件:`.autospec/environment/component-lib/components/{name}/component.md`
531
- 2. 更新 `registry.json`
532
- 3. 标记为自动检测
948
+ ### 6.2 提取表结构
949
+
950
+ **SQL 文件**:
951
+ ```bash
952
+ # 提取 CREATE TABLE
953
+ grep -A 20 "CREATE TABLE" --include="*.sql"
954
+ ```
955
+
956
+ **ORM 模型**:
957
+ - Java: `@Entity` 注解的类
958
+ - Python: `class *(db.Model)` 或 `class *(Model)`
959
+ - Node.js: `mongoose.model` 或 `sequelize.model`
960
+
961
+ ### 6.3 AI 生成数据模型文档
962
+
963
+ **使用模板**:`knowledge/09-templates/03-database-design.md`
964
+
965
+ **生成内容**:
966
+ 1. 概念模型(ER 图)
967
+ 2. 逻辑模型(表结构)
968
+ 3. 物理模型(索引、分区)
969
+
970
+ **输出文件**:`03-design-knowledge/04-database/schema-design.md`
533
971
 
534
972
  ---
535
973
 
536
- ## 产出物
974
+ ## Step 7: 生成知识文件(按模板)
537
975
 
538
- - `.autospec/environment/` 目录结构(如不存在则创建)
539
- - `.autospec/runtime/env-scan-result.json` 扫描结果
540
- - `.autospec/environment/env-knowledge/middleware/*.md` 中间件知识(Markdown格式)
541
- - `.autospec/environment/component-lib/components/*/component.md` 组件知识(Markdown格式)
542
- - `.autospec/environment/design-knowledge/` 设计知识(Markdown格式)
543
- - `.autospec/environment/test-knowledge/` 测试知识(Markdown格式)
544
- - `.autospec/environment/business-knowledge/` 业务知识(Markdown格式)
545
- - `.autospec/environment/standards/` 规范文档(Markdown格式)
546
- - `.autospec/environment/guides/` 指南文档(Markdown格式)
547
- - 更新的 `registry.json`
548
- - `knowledge-source.json` 知识来源配置(如需要)
976
+ **【强制】** 使用对应模板生成知识文件:
977
+
978
+ ### 7.1 环境知识
979
+
980
+ **中间件知识**:
981
+ - 模板:`knowledge/09-templates/10-middleware-knowledge.md`
982
+ - 输出目录:`01-env-knowledge/middleware/`
983
+ - 生成文件:每个检测到的中间件生成一个 `.md` 文件
984
+
985
+ **基础设施知识**:
986
+ - 输出目录:`01-env-knowledge/infrastructure/`
987
+
988
+ **环境变量**:
989
+ - 输出目录:`01-env-knowledge/env-variables/`
990
+
991
+ ### 7.2 组件库知识
992
+
993
+ **组件知识**:
994
+ - 模板:`knowledge/09-templates/08-component-knowledge.md`
995
+ - 输出目录:`02-component-lib/components/`
996
+ - 生成文件:每个组织组件生成 `{component-name}/component.md`
997
+
998
+ **最佳实践**:
999
+ - 模板:`knowledge/09-templates/09-best-practices.md`
1000
+ - 输出目录:`02-component-lib/best-practices/`
1001
+
1002
+ ### 7.3 设计知识
1003
+
1004
+ **产品设计**:
1005
+ - 模板:`knowledge/09-templates/00-requirement-proposal.md`, `knowledge/09-templates/04-product-design.md`
1006
+ - 输出目录:`03-design-knowledge/product/`
1007
+
1008
+ **架构设计**:
1009
+ - 模板:`knowledge/09-templates/01-architecture-design.md`
1010
+ - 输出目录:`03-design-knowledge/architecture/`
1011
+
1012
+ **API 设计(含 RPC)**:
1013
+ - 模板:`knowledge/09-templates/02-api-design.md`
1014
+ - 输出目录:`03-design-knowledge/api/`
1015
+ - 说明:HTTP API 和 RPC 服务统一输出到此目录
1016
+
1017
+ **数据库设计**:
1018
+ - 模板:`knowledge/09-templates/03-database-design.md`
1019
+ - 输出目录:`03-design-knowledge/database/`
1020
+
1021
+ ### 7.4 业务知识(含数据模型)
1022
+
1023
+ **领域业务知识**:
1024
+ - 模板:`knowledge/09-templates/05-domain-business.md`
1025
+ - 输出目录:`04-business-knowledge/`
1026
+ - 生成文件:`{domain-name}.md`
1027
+ - 整合内容:业务术语表、业务规则、业务流程、领域模型(含数据模型)、实体详情
1028
+
1029
+ ### 7.5 测试知识
1030
+
1031
+ **测试设计**:
1032
+ - 模板:`knowledge/09-templates/06-test-design.md`
1033
+ - 输出目录:`05-test-knowledge/test-designs/`
1034
+
1035
+ **评测设计**:
1036
+ - 模板:`knowledge/09-templates/07-evaluation-design.md`
1037
+ - 输出目录:`05-test-knowledge/evaluation/`
549
1038
 
550
1039
  ---
551
1040
 
552
- ## 输出结果
1041
+ ## Step 8: 模板合规校验
1042
+
1043
+ **【强制】** 对生成的每个知识文件执行模板校验:
1044
+
1045
+ ### 8.1 章节完整性检查
1046
+
1047
+ | 知识类型 | 必填章节 |
1048
+ |---------|---------|
1049
+ | 中间件 | 基本信息、环境变量、连接代码模板、依赖信息、配置项详解、实际使用代码 |
1050
+ | 组件 | 基本信息、接口定义、使用示例 |
1051
+ | 架构设计 | 架构愿景、逻辑架构、技术选型、服务依赖关系 |
1052
+ | API 设计 | 接口概述、端点设计、RPC 接口设计、错误处理 |
1053
+ | 数据库设计 | 概念模型、逻辑模型、物理模型、数据模型知识 |
1054
+ | 领域业务 | 业务术语表、业务规则、业务流程、领域模型、实体详情 |
1055
+
1056
+ ### 8.2 表格格式校验
553
1057
 
554
- ### 本地扫描模式
1058
+ - 表格必须有表头行
1059
+ - 表格列数必须一致
1060
+ - 必填表格不能为空
1061
+
1062
+ ### 8.3 类型枚举校验
1063
+
1064
+ - 中间件类型必须在预定义枚举中
1065
+ - 组件类型必须在预定义枚举中
1066
+
1067
+ ### 8.4 生成校验报告
555
1068
 
556
1069
  ```
557
- 环境知识同步完成
1070
+ 🔍 模板合规检查
558
1071
 
559
- 初始化:
560
- .autospec/environment/ 目录结构
1072
+ 中间件:5 文件
1073
+ ✅ mysql.md - 符合模板规范
1074
+ ✅ redis.md - 符合模板规范
1075
+ ⚠️ kafka.md - 缺少「连接代码模板」章节
561
1076
 
562
- 模板加载:
563
- template-registry.md
564
- middleware-knowledge.md
565
- component-knowledge.md
566
- api-design.md
567
- database-design.md
568
- ai-evaluation.md
1077
+ 设计知识:3 文件
1078
+ ✅ architecture.md - 符合模板规范
1079
+ ✅ api.md - 符合模板规范
1080
+
1081
+ 总计:8 文件,7 完全合规,1 有警告
1082
+ ```
1083
+
1084
+ ---
1085
+
1086
+ ## Step 9: 注册激活
1087
+
1088
+ **【强制】** 将知识注册到 registry.json:
1089
+
1090
+ ### 9.1 更新注册表
1091
+
1092
+ ```json
1093
+ {
1094
+ "environmentKnowledge": {
1095
+ "middleware": [
1096
+ {"file": "01-env-knowledge/middleware/mysql.md", "auto": true}
1097
+ ]
1098
+ },
1099
+ "designKnowledge": {
1100
+ "architecture": [
1101
+ {"file": "03-design-knowledge/architecture/project-architecture.md", "auto": true}
1102
+ ],
1103
+ "api": [
1104
+ {"file": "03-design-knowledge/api/chat-api.md", "auto": true}
1105
+ ]
1106
+ },
1107
+ "businessKnowledge": [
1108
+ {"file": "04-business-knowledge/chat-domain.md", "auto": true}
1109
+ ]
1110
+ }
1111
+ ```
1112
+
1113
+ ### 9.2 生成同步报告
1114
+
1115
+ ```
1116
+ ✅ 环境知识同步完成
1117
+
1118
+ 目录结构:
1119
+ ✅ 01-env-knowledge/
1120
+ ✅ 02-component-lib/
1121
+ ✅ 03-design-knowledge/
1122
+ ✅ 04-business-knowledge/
1123
+ ✅ 05-test-knowledge/
1124
+ ✅ 06-standards/
1125
+ ✅ 07-guides/
1126
+ ✅ 08-integration/
569
1127
 
570
1128
  扫描结果:
571
- 依赖: X 项
572
- 中间件: X
573
- 环境变量: X
574
- 设计文档: X 项
575
- 测试文档: X 项
576
- 规范文档: X 项
577
- 业务知识: X 项
1129
+ 语言:Java (Maven)
1130
+ 框架:Spring Boot, Dubbo
1131
+ 中间件:MySQL, Redis, Kafka
1132
+ 设计文档:3
1133
+ 测试文档:1
1134
+ 业务知识:2
578
1135
 
579
1136
  生成知识:
580
- 环境知识:
581
- middleware/mysql.md
582
- middleware/redis.md
583
- components/auth/component.md
584
- 设计知识:
585
- design-knowledge/product/order-system.md
586
- design-knowledge/architecture/order-service.md
587
- design-knowledge/api/order-api.md
588
- design-knowledge/database/order-db.md
589
- 测试知识:
590
- test-knowledge/test-designs/order-test.md
591
- test-knowledge/evaluation/chat-bot-eval.md
592
- 业务知识:
593
- business-knowledge/glossary.md
594
- business-knowledge/rules.md
595
- business-knowledge/flows/order-flow.md
596
- 规范指南:
597
- standards/coding-style.md
598
- guides/system-design.md
1137
+ 环境知识:5 文件
1138
+ 组件库:2 文件
1139
+ 设计知识:4 文件
1140
+ 业务知识:2 文件
1141
+ 测试知识:2 文件
599
1142
 
600
1143
  校验结果:
601
- mysql.md - 符合模板规范
602
- redis.md - 符合模板规范
603
- ✅ auth/component.md - 符合模板规范
1144
+ 15 文件完全合规
1145
+ ⚠️ 1 文件有警告
604
1146
 
605
1147
  下一步:
606
1148
  1. 检查生成的知识文件
607
1149
  2. 执行 /autospec:env-validate 验证配置
608
1150
  3. 执行 /autospec:env-update --dry-run 预览变更
609
- 4. 手动调整配置细节
610
1151
  ```
611
1152
 
612
- ### 导入模式
1153
+ ---
1154
+
1155
+ ## Step 10: 增量同步检测
1156
+
1157
+ **【强制】** 检测是否需要增量同步:
1158
+
1159
+ ### 10.1 检测变更
1160
+
1161
+ **依赖变更检测**:
1162
+ ```bash
1163
+ # 检测 pom.xml/package.json 变更
1164
+ git diff --name-only HEAD~1 HEAD -- "**/pom.xml" "**/package.json" "**/go.mod" "**/requirements.txt"
1165
+ ```
1166
+
1167
+ **代码变更检测**:
1168
+ ```bash
1169
+ # 检测关键代码变更
1170
+ git diff --name-only HEAD~1 HEAD -- "**/*.java" "**/*.py" "**/*.ts" "**/*.go"
1171
+ ```
1172
+
1173
+ **配置变更检测**:
1174
+ ```bash
1175
+ # 检测配置文件变更
1176
+ git diff --name-only HEAD~1 HEAD -- "**/application*.properties" "**/application*.yml" "**/*.env"
1177
+ ```
1178
+
1179
+ ### 10.2 增量同步策略
1180
+
1181
+ | 变更类型 | 同步范围 | 说明 |
1182
+ |---------|---------|------|
1183
+ | 依赖变更 | 仅更新受影响的中间件知识 | 解析新增/删除的依赖 |
1184
+ | 代码变更 | 仅更新受影响的 RPC 服务/数据模型知识 | 重新扫描变更文件 |
1185
+ | 配置变更 | 仅更新受影响的配置项 | 提取新的配置项 |
1186
+ | 无变更 | 跳过同步 | 输出「无变更」提示 |
613
1187
 
1188
+ ### 10.3 增量同步输出
1189
+
1190
+ ```json
1191
+ {
1192
+ "mode": "incremental",
1193
+ "changes": {
1194
+ "dependencies": ["新增: redis-client"],
1195
+ "code": ["修改: ChatController.java"],
1196
+ "config": ["新增: cache.ttl"]
1197
+ },
1198
+ "affectedKnowledge": [
1199
+ "01-env-knowledge/middleware/redis.md"
1200
+ ],
1201
+ "skipped": ["mysql.md", "kafka.md"]
1202
+ }
614
1203
  ```
615
- ✅ 知识库导入完成
616
1204
 
617
- 来源: https://github.com/org/design-templates
618
- 类型: Git
1205
+ ### 10.4 强制全量同步
1206
+
1207
+ 用户可指定 `--full` 参数强制全量同步:
619
1208
 
620
- 结构验证:
621
- manifest.json 存在
622
- ✅ env-knowledge/ 目录存在
623
- ✅ component-lib/ 目录存在
1209
+ ```bash
1210
+ /autospec:env-sync --full
1211
+ ```
1212
+
1213
+ ---
624
1214
 
625
- 模板合规检查:
626
- 中间件: 5 文件, 4 合规
627
- 组件: 2 文件, 1 合规
1215
+ ## 产出物
628
1216
 
629
- 自动补全:
630
- kafka.md - 已补全「连接代码模板」「最佳实践」
1217
+ - `.autospec/environment/` 精简目录结构
1218
+ - `.autospec/runtime/env-scan-result.json` 扫描结果
1219
+ - `.autospec/environment/01-env-knowledge/`
1220
+ - `middleware/*.md` # 中间件知识(含外部服务)
1221
+ - `infrastructure/*.md` # 基础设施知识
1222
+ - `env-variables/` # 环境变量
1223
+ - `.autospec/environment/02-component-lib/`
1224
+ - `components/*/component.md` # 组件知识
1225
+ - `best-practices/*.md` # 最佳实践
1226
+ - `.autospec/environment/03-design-knowledge/`
1227
+ - `product/*.md` # 产品设计
1228
+ - `architecture/*.md` # 架构设计(含服务依赖)
1229
+ - `api/*.md` # API 设计(含 RPC)
1230
+ - `database/*.md` # 数据库设计
1231
+ - `.autospec/environment/04-business-knowledge/`
1232
+ - `{domain-name}.md` # 领域业务知识(含数据模型)
1233
+ - `.autospec/environment/05-test-knowledge/`
1234
+ - `test-designs/*.md` # 测试设计
1235
+ - `evaluation/*.md` # 评测设计
1236
+ - `.autospec/environment/registry.json` 知识注册表
1237
+ - `.autospec/environment/knowledge-source.json` 知识来源配置
631
1238
 
632
- 相关性分析:
633
- 技术栈匹配度: 85%
634
- 推荐激活: mysql, redis, auth
1239
+ ---
1240
+
1241
+ ## 输出结果
1242
+
1243
+ ```
1244
+ ✅ 环境知识同步完成
1245
+
1246
+ 初始化:
1247
+ .autospec/environment/ 精简目录结构
1248
+
1249
+ 模板加载:
1250
+ 检测规则:01-detection-patterns.yaml
1251
+ 中间件模板:10-middleware-knowledge.md(含外部服务)
1252
+ 组件模板:08-component-knowledge.md
1253
+ 最佳实践模板:09-best-practices.md
1254
+ 设计模板:01-architecture-design.md(含服务依赖), 02-api-design.md(含RPC), 03-database-design.md(含数据模型)
1255
+ 业务模板:05-domain-business.md(整合术语/规则/流程/领域模型/数据模型)
1256
+ 测试模板:06-test-design.md, 07-evaluation-design.md
1257
+
1258
+ 扫描结果:
1259
+ 语言:{language}
1260
+ 框架:{frameworks}
1261
+ 中间件:{middleware_count} 项
1262
+ 设计文档:{design_docs_count} 项
1263
+ 测试文档:{test_docs_count} 项
1264
+ 业务知识:{business_docs_count} 项
1265
+
1266
+ 生成知识:
1267
+ 环境知识:{env_files} 文件
1268
+ 组件库:{component_files} 文件
1269
+ 设计知识:{design_files} 文件
1270
+ 业务知识:{business_files} 文件
1271
+ 测试知识:{test_files} 文件
1272
+
1273
+ 校验结果:
1274
+ ✅ {compliant_count} 文件完全合规
1275
+ ⚠️ {warning_count} 文件有警告
635
1276
 
636
1277
  下一步:
637
- 1. 检查导入的知识文件
1278
+ 1. 检查生成的知识文件
638
1279
  2. 执行 /autospec:env-validate 验证配置
639
1280
  3. 执行 /autospec:env 查看环境状态
640
1281
  ```