@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.
- package/LICENSE +21 -21
- package/README.en.md +447 -321
- package/README.md +418 -286
- package/knowledge/01-principles/00-principles-hierarchy.md +247 -0
- package/knowledge/01-principles/01-first-principles.md +241 -0
- package/knowledge/01-principles/02-strategic-principles.md +286 -0
- package/knowledge/01-principles/03-tactical-principles.md +385 -0
- package/knowledge/01-principles/04-operational-principles.md +275 -0
- package/knowledge/01-principles/05-domain-principles.md +539 -0
- package/knowledge/01-principles/06-methodology-principles.md +281 -0
- package/knowledge/01-principles/07-cognitive-principles.md +277 -0
- package/knowledge/01-principles/08-auto-fix-principles.md +320 -0
- package/knowledge/01-principles/09-constitution.md +220 -0
- package/knowledge/{principles/evolution.md → 01-principles/10-evolution-mechanism.md} +160 -14
- package/knowledge/01-principles/README.en.md +385 -0
- package/knowledge/01-principles/README.md +385 -0
- package/knowledge/{process/overview.md → 02-process/00-overview.md} +90 -5
- package/knowledge/02-process/README.en.md +143 -0
- package/knowledge/02-process/README.md +186 -0
- package/knowledge/{guides/support/pipeline-protocol.md → 03-guides/00-pipeline-protocol.md} +10 -10
- package/knowledge/{guides/support/team-orchestrator.md → 03-guides/01-team-orchestrator.md} +53 -8
- package/knowledge/{guides/stages/requirement-analyzer.md → 03-guides/02-analyze-requirement.md} +3 -3
- package/knowledge/{guides/stages/ai-effect-evaluator.md → 03-guides/08-evaluate-ai-effect.md} +14 -7
- package/knowledge/{guides/support/skill-distiller.md → 03-guides/19-distill-skill.md} +3 -3
- package/knowledge/{guides/support/skill-updater.md → 03-guides/20-update-skill.md} +1 -1
- package/knowledge/{guides/support/methodology-extractor.md → 03-guides/22-extract-methodology.md} +2 -2
- package/knowledge/{guides/support/complexity-assessor.md → 03-guides/24-assess-complexity.md} +6 -4
- package/knowledge/{guides/support/tech-stack-analyzer.md → 03-guides/26-analyze-tech-stack.md} +1 -1
- package/knowledge/{guides/domain-driven-design.md → 03-guides/42-apply-ddd.md} +1 -1
- package/knowledge/{process/ai-sdlc.md → 03-guides/43-run-ai-sdlc.md} +1 -1
- package/knowledge/{guides/knowledge-management.md → 03-guides/44-manage-knowledge.md} +4 -4
- package/knowledge/03-guides/README.en.md +212 -0
- package/knowledge/03-guides/README.md +212 -0
- package/knowledge/{checklists/requirement.md → 04-checklists/00-requirement.md} +1 -1
- package/knowledge/{checklists/design.md → 04-checklists/01-design.md} +1 -1
- package/knowledge/{checklists/code.md → 04-checklists/02-code.md} +16 -1
- package/knowledge/{checklists/release.md → 04-checklists/04-release.md} +1 -1
- package/knowledge/04-checklists/README.en.md +119 -0
- package/knowledge/04-checklists/README.md +123 -0
- package/knowledge/{config/validation-patterns.yaml → 05-config/00-validation-patterns.yaml} +1 -1
- package/knowledge/{config/team-tasks.yaml → 05-config/02-team-tasks.yaml} +2 -2
- package/knowledge/05-config/03-role-composition.yaml +346 -0
- package/knowledge/{config/skill-compositions.yaml → 05-config/05-skill-compositions.yaml} +24 -24
- package/knowledge/05-config/README.en.md +54 -0
- package/knowledge/05-config/README.md +132 -0
- package/knowledge/06-environment/00-template-registry.md +310 -0
- package/knowledge/06-environment/01-detection-patterns.yaml +1692 -0
- package/knowledge/{environment → 06-environment}/README.en.md +4 -0
- package/knowledge/{environment → 06-environment}/README.md +66 -25
- package/knowledge/{standards/coding-style.md → 07-standards/00-coding-style.md} +123 -4
- package/knowledge/{standards/code-review.md → 07-standards/01-code-review.md} +3 -3
- package/knowledge/{standards/data-consistency.md → 07-standards/02-data-consistency.md} +1 -1
- package/knowledge/{standards/document-versioning.md → 07-standards/03-document-versioning.md} +1 -1
- package/knowledge/{standards/risk-detection.md → 07-standards/04-risk-detection.md} +5 -5
- package/knowledge/07-standards/README.en.md +119 -0
- package/knowledge/07-standards/README.md +123 -0
- package/knowledge/08-organization/00-vision-mission.md +113 -0
- package/knowledge/{organization/ai-native-team.md → 08-organization/01-ai-native-culture.md} +1 -1
- package/knowledge/{organization/team-metrics.md → 08-organization/02-team-metrics.md} +1 -1
- package/knowledge/08-organization/03-committee-structure.md +54 -0
- package/knowledge/08-organization/04-governance-metrics.md +55 -0
- package/knowledge/08-organization/05-improvement-process.md +71 -0
- package/knowledge/08-organization/README.en.md +165 -0
- package/knowledge/08-organization/README.md +165 -0
- package/knowledge/09-templates/00-requirement-proposal.md +344 -0
- package/knowledge/09-templates/01-architecture-design.md +494 -0
- package/knowledge/09-templates/02-api-design.md +408 -0
- package/knowledge/09-templates/03-database-design.md +313 -0
- package/knowledge/09-templates/04-product-design.md +237 -0
- package/knowledge/09-templates/05-domain-business.md +388 -0
- package/knowledge/09-templates/06-test-design.md +268 -0
- package/knowledge/09-templates/07-evaluation-design.md +372 -0
- package/knowledge/09-templates/08-component-knowledge.md +272 -0
- package/knowledge/09-templates/09-best-practices.md +218 -0
- package/knowledge/{environment/middleware-knowledge.md → 09-templates/10-middleware-knowledge.md} +106 -1
- package/knowledge/09-templates/README.en.md +222 -0
- package/knowledge/09-templates/README.md +216 -0
- package/knowledge/README.en.md +372 -0
- package/knowledge/README.md +354 -99
- package/package.json +1 -1
- package/plugins/.claude-plugin/plugin.json +460 -81
- package/plugins/agents/roles/ceo.md +1 -1
- package/plugins/agents/roles/product-owner.md +1 -1
- package/plugins/agents/roles/tech-lead.md +1 -1
- package/plugins/agents/support/consistency-checker.md +36 -3
- package/plugins/agents/support/monitoring-agent.md +215 -0
- package/plugins/agents/support/safety-auditor.md +2 -2
- package/plugins/agents/support/stage-gate-evaluator.md +95 -11
- package/plugins/agents/support/test-coverage-reviewer.md +1 -1
- package/plugins/benchmarks/templates/README.md +165 -13
- package/plugins/benchmarks/templates/commands/apply-template.yaml +108 -0
- package/plugins/benchmarks/templates/commands/archive-template.yaml +65 -0
- package/plugins/benchmarks/templates/commands/env-export-template.yaml +64 -0
- package/plugins/benchmarks/templates/commands/env-sync-template.yaml +104 -0
- package/plugins/benchmarks/templates/commands/env-template-template.yaml +96 -0
- package/plugins/benchmarks/templates/commands/env-template.yaml +58 -0
- package/plugins/benchmarks/templates/commands/env-update-template.yaml +110 -0
- package/plugins/benchmarks/templates/commands/env-validate-template.yaml +95 -0
- package/plugins/benchmarks/templates/commands/field-evolve-template.yaml +104 -0
- package/plugins/benchmarks/templates/commands/project-evolve-template.yaml +104 -0
- package/plugins/benchmarks/templates/commands/propose-template.yaml +88 -0
- package/plugins/benchmarks/templates/commands/review-template.yaml +124 -0
- package/plugins/benchmarks/templates/commands/run-template.yaml +127 -0
- package/plugins/benchmarks/templates/commands/test-template.yaml +149 -0
- package/plugins/benchmarks/templates/pipeline/experiment-template.yaml +92 -0
- package/plugins/benchmarks/templates/pipeline/hotfix-template.yaml +81 -0
- package/plugins/benchmarks/templates/skills/agile-iteration-template.yaml +78 -0
- package/plugins/benchmarks/templates/skills/benchmark-executor-template.yaml +114 -0
- package/plugins/benchmarks/templates/skills/benchmark-generator-template.yaml +52 -0
- package/plugins/benchmarks/templates/skills/delivery-stage-template.yaml +130 -0
- package/plugins/benchmarks/templates/skills/design-stage-template.yaml +131 -0
- package/plugins/benchmarks/templates/skills/experiment-iteration-template.yaml +60 -0
- package/plugins/benchmarks/templates/skills/exploration-phase-template.yaml +114 -0
- package/plugins/benchmarks/templates/skills/field-evolve-analyzer-template.yaml +51 -0
- package/plugins/benchmarks/templates/skills/field-evolve-distiller-template.yaml +34 -0
- package/plugins/benchmarks/templates/skills/field-evolve-executor-template.yaml +50 -0
- package/plugins/benchmarks/templates/skills/field-evolve-fixer-template.yaml +52 -0
- package/plugins/benchmarks/templates/skills/field-evolve-learner-template.yaml +33 -0
- package/plugins/benchmarks/templates/skills/field-evolve-scanner-template.yaml +74 -0
- package/plugins/benchmarks/templates/skills/field-evolve-template.yaml +71 -0
- package/plugins/benchmarks/templates/skills/field-evolve-verifier-template.yaml +51 -0
- package/plugins/benchmarks/templates/skills/hotfix-iteration-template.yaml +54 -0
- package/plugins/benchmarks/templates/skills/implementation-stage-template.yaml +127 -0
- package/plugins/benchmarks/templates/skills/layer1-validation-template.yaml +121 -0
- package/plugins/benchmarks/templates/skills/project-evolve-analyzer-template.yaml +51 -0
- package/plugins/benchmarks/templates/skills/project-evolve-fixer-template.yaml +52 -0
- package/plugins/benchmarks/templates/skills/project-evolve-generator-template.yaml +34 -0
- package/plugins/benchmarks/templates/skills/project-evolve-learner-template.yaml +50 -0
- package/plugins/benchmarks/templates/skills/project-evolve-reviewer-template.yaml +50 -0
- package/plugins/benchmarks/templates/skills/project-evolve-scanner-template.yaml +75 -0
- package/plugins/benchmarks/templates/skills/project-evolve-template.yaml +72 -0
- package/plugins/benchmarks/templates/skills/project-evolve-verifier-template.yaml +51 -0
- package/plugins/benchmarks/templates/skills/skill-forge-template.yaml +117 -0
- package/plugins/benchmarks/templates/skills/startup-guard-template.yaml +103 -0
- package/plugins/benchmarks/templates/skills/testing-stage-template.yaml +146 -0
- package/plugins/benchmarks/templates/skills/waterfall-iteration-template.yaml +55 -0
- package/plugins/commands/README.en.md +2 -2
- package/plugins/commands/README.md +2 -2
- package/plugins/commands/apply.md +102 -16
- package/plugins/commands/archive.md +60 -4
- package/plugins/commands/env-sync.md +1047 -406
- package/plugins/commands/env-template.md +11 -135
- package/plugins/commands/env-update.md +1 -1
- package/plugins/commands/env-validate.md +3 -3
- package/plugins/commands/explore.md +118 -1
- package/plugins/commands/field-evolve.md +51 -175
- package/plugins/commands/project-evolve.md +167 -68
- package/plugins/commands/propose.md +97 -6
- package/plugins/commands/review.md +5 -5
- package/plugins/commands/run.md +841 -13
- package/plugins/commands/status.md +138 -17
- package/plugins/commands/test.md +389 -0
- package/plugins/hooks/constitution-guard.js +1 -1
- package/plugins/hooks/environment-autocommit.js +366 -24
- package/plugins/hooks/environment-manager.js +3 -2
- package/plugins/hooks/execution-tracker.js +109 -4
- package/plugins/hooks/layer1-validator.js +117 -1
- package/plugins/hooks/lib/auto-fix-loop.js +605 -0
- package/plugins/hooks/lib/environment-config-loader.js +11 -7
- package/plugins/hooks/lib/hook-state-manager.js +98 -0
- package/plugins/hooks/lib/memory-extractor.js +27 -5
- package/plugins/hooks/lib/memory-manager.js +1 -1
- package/plugins/hooks/lib/test-auto-fix.test.js +194 -0
- package/plugins/hooks/monitoring-trigger.js +467 -0
- package/plugins/skills/README.en.md +15 -3
- package/plugins/skills/README.md +21 -11
- package/plugins/skills/agile-iteration/SKILL.md +187 -0
- package/plugins/skills/delivery-stage/SKILL.md +133 -12
- package/plugins/skills/design-stage/SKILL.md +103 -12
- package/plugins/skills/experiment-evaluator/SKILL.md +271 -0
- package/plugins/skills/experiment-iteration/SKILL.md +154 -0
- package/plugins/skills/exploration-phase/SKILL.md +93 -10
- package/plugins/skills/field-evolve-analyzer/SKILL.md +65 -0
- package/plugins/skills/field-evolve-distiller/SKILL.md +66 -0
- package/plugins/skills/field-evolve-executor/SKILL.md +94 -0
- package/plugins/skills/field-evolve-executor/executor.js +342 -0
- package/plugins/skills/field-evolve-fixer/SKILL.md +69 -0
- package/plugins/skills/field-evolve-learner/SKILL.md +65 -0
- package/plugins/skills/field-evolve-scanner/SKILL.md +87 -0
- package/plugins/skills/field-evolve-scanner/scripts/fallback-scanner.js +288 -0
- package/plugins/skills/field-evolve-verifier/SKILL.md +64 -0
- package/plugins/skills/hotfix-iteration/SKILL.md +279 -0
- package/plugins/skills/implementation-stage/SKILL.md +156 -15
- package/plugins/skills/layer1-validation/SKILL.md +1 -1
- package/plugins/skills/pending-dashboard/SKILL.md +9 -8
- package/plugins/skills/project-evolve-analyzer/SKILL.md +95 -0
- package/plugins/skills/project-evolve-fixer/SKILL.md +99 -0
- package/plugins/skills/project-evolve-generator/SKILL.md +149 -0
- package/plugins/skills/project-evolve-learner/SKILL.md +103 -0
- package/plugins/skills/project-evolve-reviewer/SKILL.md +104 -0
- package/plugins/skills/project-evolve-scanner/SKILL.md +95 -0
- package/plugins/skills/project-evolve-scanner/scripts/dependency-reuse-checker.js +395 -0
- package/plugins/skills/project-evolve-scanner/scripts/subsystem-coverage.js +315 -0
- package/plugins/skills/project-evolve-verifier/SKILL.md +105 -0
- package/plugins/skills/requirement-stage/SKILL.md +47 -13
- package/plugins/skills/skill-forge/SKILL.md +2 -2
- package/plugins/skills/testing-stage/SKILL.md +583 -8
- package/plugins/skills/waterfall-iteration/SKILL.md +115 -0
- package/scripts/cli/index.js +1 -1
- package/scripts/cli/init.js +30 -4
- package/scripts/cli/list.js +3 -2
- package/scripts/config/commands.config.js +8 -8
- package/scripts/config/hooks.config.js +1 -1
- package/scripts/install/constants.js +204 -165
- package/scripts/state.js +210 -1
- package/knowledge/config/README.en.md +0 -44
- package/knowledge/config/README.md +0 -44
- package/knowledge/config/role-composition.yaml +0 -98
- package/knowledge/config/team-triggers.yaml +0 -198
- package/knowledge/domain/README.md +0 -115
- package/knowledge/domain/flows/README.md +0 -194
- package/knowledge/domain/glossary.md +0 -143
- package/knowledge/domain/rules.md +0 -138
- package/knowledge/environment/component-knowledge.md +0 -316
- package/knowledge/environment/detection-patterns.yaml +0 -502
- package/knowledge/environment/template-registry.md +0 -321
- package/knowledge/guides/requirement-engineering.md +0 -329
- package/knowledge/guides/system-design.md +0 -352
- package/knowledge/principles/constitution.md +0 -134
- package/knowledge/principles/core-principles.md +0 -368
- package/knowledge/principles/design-philosophy.md +0 -877
- package/knowledge/process/README.en.md +0 -38
- package/knowledge/process/README.md +0 -48
- package/knowledge/templates/ai-evaluation.md +0 -150
- package/knowledge/templates/api-design.md +0 -117
- package/knowledge/templates/database-design.md +0 -132
- package/knowledge/templates/domain-driven-design.md +0 -321
- package/knowledge/templates/product-proposal.md +0 -201
- package/knowledge/templates/system-design.md +0 -227
- package/knowledge/templates/task-breakdown.md +0 -107
- package/knowledge/templates/test-case.md +0 -170
- package/plugins/commands/validate.md +0 -108
- package/plugins/skills/benchmark-executor/README.md +0 -93
- package/plugins/skills/evolution-process/SKILL.md +0 -291
- package/plugins/skills/project-evolution/SKILL.md +0 -847
- package/scripts/evolution/evolution-router.js +0 -273
- package/scripts/evolution/evolution-signal-collector.js +0 -307
- package/scripts/evolution/knowledge-loader.js +0 -346
- package/scripts/evolution/marketplace.js +0 -317
- package/scripts/evolution/version-manager.js +0 -371
- /package/knowledge/{process → 02-process}/01-requirement.md +0 -0
- /package/knowledge/{process → 02-process}/02-design.md +0 -0
- /package/knowledge/{process → 02-process}/03-implementation.md +0 -0
- /package/knowledge/{process → 02-process}/04-review.md +0 -0
- /package/knowledge/{process → 02-process}/05-testing.md +0 -0
- /package/knowledge/{process → 02-process}/06-delivery.md +0 -0
- /package/knowledge/{guides/stages/design-planner.md → 03-guides/03-design-solution.md} +0 -0
- /package/knowledge/{guides/stages/code-implementer.md → 03-guides/04-implement-code.md} +0 -0
- /package/knowledge/{guides/stages/test-planner.md → 03-guides/05-plan-testing.md} +0 -0
- /package/knowledge/{guides/stages/test-generator.md → 03-guides/06-generate-tests.md} +0 -0
- /package/knowledge/{guides/stages/release-checker.md → 03-guides/07-check-release.md} +0 -0
- /package/knowledge/{guides/stages/requirement-reviewer.md → 03-guides/09-review-requirement.md} +0 -0
- /package/knowledge/{guides/stages/design-reviewer.md → 03-guides/10-review-design.md} +0 -0
- /package/knowledge/{guides/stages/code-reviewer.md → 03-guides/11-review-code.md} +0 -0
- /package/knowledge/{guides/stages/test-reviewer.md → 03-guides/12-review-testing.md} +0 -0
- /package/knowledge/{guides/stages/security-reviewer.md → 03-guides/13-audit-security.md} +0 -0
- /package/knowledge/{guides/stages/consistency-checker.md → 03-guides/14-check-consistency.md} +0 -0
- /package/knowledge/{guides/stages/unit-test-runner.md → 03-guides/15-run-unit-tests.md} +0 -0
- /package/knowledge/{guides/stages/integration-test-runner.md → 03-guides/16-run-integration-tests.md} +0 -0
- /package/knowledge/{guides/stages/test-context-analyzer.md → 03-guides/17-analyze-test-context.md} +0 -0
- /package/knowledge/{guides/support/practice-logger.md → 03-guides/18-log-practice.md} +0 -0
- /package/knowledge/{guides/support/skill-validator.md → 03-guides/21-validate-skill.md} +0 -0
- /package/knowledge/{guides/support/scope-inference.md → 03-guides/23-infer-scope.md} +0 -0
- /package/knowledge/{guides/support/component-discovery.md → 03-guides/25-discover-component.md} +0 -0
- /package/knowledge/{guides/support/environment-scanner.md → 03-guides/27-scan-environment.md} +0 -0
- /package/knowledge/{guides/support/environment-validator.md → 03-guides/28-validate-environment.md} +0 -0
- /package/knowledge/{guides/support/knowledge-generator.md → 03-guides/29-generate-knowledge.md} +0 -0
- /package/knowledge/{guides/support/ai-capability-analyzer.md → 03-guides/30-analyze-ai-capability.md} +0 -0
- /package/knowledge/{guides/support/ai-component-analyzer.md → 03-guides/31-analyze-ai-component.md} +0 -0
- /package/knowledge/{guides/support/ai-agent-analyzer.md → 03-guides/32-analyze-ai-agent.md} +0 -0
- /package/knowledge/{guides/support/ai-rag-analyzer.md → 03-guides/33-analyze-ai-rag.md} +0 -0
- /package/knowledge/{guides/support/ai-task-assessor.md → 03-guides/34-assess-ai-task.md} +0 -0
- /package/knowledge/{guides/support/ai-pipeline-evaluator.md → 03-guides/35-evaluate-ai-pipeline.md} +0 -0
- /package/knowledge/{guides/support/ai-artifact-evaluator.md → 03-guides/36-evaluate-ai-artifact.md} +0 -0
- /package/knowledge/{guides/support/ai-evaluation-planner.md → 03-guides/37-plan-ai-evaluation.md} +0 -0
- /package/knowledge/{guides/support/ai-path-evaluator.md → 03-guides/38-evaluate-ai-path.md} +0 -0
- /package/knowledge/{guides/support/ai-data-validator.md → 03-guides/39-validate-ai-data.md} +0 -0
- /package/knowledge/{guides/support/ai-anomaly-analyzer.md → 03-guides/40-detect-ai-anomaly.md} +0 -0
- /package/knowledge/{guides/support/ai-test-diagnostics.md → 03-guides/41-diagnose-ai-test.md} +0 -0
- /package/knowledge/{guides/support/test-runner.md → 03-guides/45-test-runner.md} +0 -0
- /package/knowledge/{checklists/test.md → 04-checklists/03-test.md} +0 -0
- /package/knowledge/{config/team-stage.yaml → 05-config/01-team-stage.yaml} +0 -0
- /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
|
-
|
|
20
|
-
- 不存在 → 自动创建目录结构
|
|
21
|
-
- 已存在 → 跳过初始化,直接进入扫描
|
|
22
|
-
|
|
23
|
-
创建目录结构:
|
|
19
|
+
**【强制】** 创建精简的目录结构,与 `knowledge/09-templates/` 模板一一对应:
|
|
24
20
|
|
|
25
21
|
```
|
|
26
22
|
.autospec/environment/
|
|
27
|
-
├── env-knowledge/
|
|
28
|
-
│ ├── middleware/
|
|
29
|
-
│ ├── infrastructure/
|
|
30
|
-
│ └── env-variables/
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
│ ├──
|
|
34
|
-
│ └──
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
│ ├──
|
|
38
|
-
│ ├──
|
|
39
|
-
│
|
|
40
|
-
|
|
41
|
-
│
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
│
|
|
45
|
-
|
|
46
|
-
│
|
|
47
|
-
|
|
48
|
-
│
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
├──
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
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.
|
|
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
|
-
-
|
|
113
|
-
-
|
|
96
|
+
1. **读取检测规则**
|
|
97
|
+
- `knowledge/06-environment/01-detection-patterns.yaml`
|
|
98
|
+
- 解析 buildFiles, frameworks, designDocs, businessDocs, testDocs, sourceAnalysis 规则
|
|
114
99
|
|
|
115
|
-
2.
|
|
116
|
-
- 中间件模板:`knowledge/
|
|
117
|
-
- 组件模板:`knowledge/
|
|
118
|
-
-
|
|
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
|
-
|
|
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
|
-
|
|
145
|
+
1. 发现非标准目录结构的项目(如 app/, modules/, services/)
|
|
146
|
+
2. 识别多模块项目的父子关系
|
|
147
|
+
3. 发现隐藏的项目配置
|
|
148
|
+
4. 分析项目间的依赖关系
|
|
128
149
|
|
|
129
|
-
|
|
130
|
-
- package.json / requirements.txt / pom.xml / go.mod 等
|
|
131
|
-
- 提取依赖列表并匹配框架识别规则
|
|
150
|
+
## 输出
|
|
132
151
|
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
- 匹配 import/require/实例化模式
|
|
152
|
+
生成项目列表,包含:name, path, language, framework, type, buildTool, srcDirs, entryPoint
|
|
153
|
+
```
|
|
136
154
|
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
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
|
-
|
|
143
|
-
|
|
144
|
-
|
|
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
|
-
|
|
233
|
+
```
|
|
234
|
+
你是一个中间件和框架识别专家。请深入分析项目,发现所有使用的中间件和框架。
|
|
147
235
|
|
|
148
|
-
|
|
236
|
+
## 探索工具
|
|
149
237
|
|
|
150
|
-
|
|
238
|
+
使用以下工具进行探索:
|
|
239
|
+
- grep: 搜索依赖声明、配置项、import 语句
|
|
240
|
+
- read: 读取构建文件和配置文件
|
|
151
241
|
|
|
152
|
-
|
|
153
|
-
- 扫描项目代码生成知识
|
|
154
|
-
- 继续执行 Step 2-7
|
|
242
|
+
## 探索步骤
|
|
155
243
|
|
|
156
|
-
|
|
244
|
+
1. 分析依赖:grep 构建文件中的依赖声明
|
|
245
|
+
2. 扫描配置:查找 application*.properties/yml 中的配置项
|
|
246
|
+
3. 扫描代码:grep import 语句识别引入的库
|
|
247
|
+
4. 识别客户端:grep Client/Config/Manager 类
|
|
157
248
|
|
|
158
|
-
|
|
159
|
-
- `<url>` - 自动识别类型
|
|
160
|
-
- `--git <url>` - 明确 Git 仓库
|
|
161
|
-
- `--online <url>` - 明确在线文档
|
|
162
|
-
- `--npm <package>` - npm 包
|
|
163
|
-
- `--local <path>` - 本地目录
|
|
249
|
+
## 识别标准
|
|
164
250
|
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
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
|
-
|
|
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
|
-
###
|
|
285
|
+
### 1.3.1 RPC 服务检测(新增)
|
|
176
286
|
|
|
177
|
-
|
|
287
|
+
**【强制】** 使用 `rpcServices` 规则检测 RPC 服务:
|
|
178
288
|
|
|
179
|
-
|
|
289
|
+
**服务提供者检测**:
|
|
180
290
|
```bash
|
|
181
|
-
|
|
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
|
-
|
|
186
|
-
|
|
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
|
-
|
|
308
|
+
**服务引用检测**:
|
|
190
309
|
```bash
|
|
191
|
-
|
|
192
|
-
|
|
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
|
-
|
|
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
|
-
|
|
344
|
+
**配置项提取**:
|
|
345
|
+
```bash
|
|
346
|
+
# 提取服务端点配置
|
|
347
|
+
grep -rn "\.service-url\|\.endpoint\|\.tr-service-url" --include="*.properties" --include="*.yml"
|
|
201
348
|
|
|
202
|
-
|
|
203
|
-
-
|
|
204
|
-
|
|
205
|
-
- `component-lib/` 目录
|
|
349
|
+
# 提取超时和重试配置
|
|
350
|
+
grep -rn "\.timeout\|\.retry\|\.retries" --include="*.properties" --include="*.yml"
|
|
351
|
+
```
|
|
206
352
|
|
|
207
|
-
|
|
353
|
+
**服务类型分类**:
|
|
354
|
+
- LLM 服务:LLMClient, ChatClient, ModelClient
|
|
355
|
+
- 向量服务:VectorClient, EmbeddingClient
|
|
356
|
+
- 存储服务:OssClient, StorageClient
|
|
357
|
+
- 消息服务:MqClient, MessageClient
|
|
358
|
+
- 认证服务:AuthClient, SecurityClient
|
|
208
359
|
|
|
209
|
-
|
|
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
|
-
|
|
212
|
-
- 校验是否包含必填章节:基本信息、环境变量、连接代码模板
|
|
213
|
-
- 检查基本信息表格是否包含:名称、类型
|
|
214
|
-
- 检查类型是否在预定义枚举中
|
|
376
|
+
### 1.3.3 数据模型检测(新增)
|
|
215
377
|
|
|
216
|
-
|
|
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
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
❌ es.md - 缺少必填章节「基本信息」
|
|
389
|
+
**表映射检测**:
|
|
390
|
+
```bash
|
|
391
|
+
# 提取表名
|
|
392
|
+
grep -rn "@Table(name\|@TableName(" --include="*.java"
|
|
233
393
|
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
394
|
+
# 提取字段映射
|
|
395
|
+
grep -rn "@Column\|@Field" --include="*.java"
|
|
396
|
+
```
|
|
237
397
|
|
|
238
|
-
|
|
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
|
-
|
|
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
|
-
|
|
246
|
-
- 当前项目技术栈
|
|
247
|
-
- 已有的环境配置
|
|
248
|
-
- 检测到的依赖包
|
|
429
|
+
**【强制】** 使用 `messageConsumers` 规则检测消息消费者:
|
|
249
430
|
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
431
|
+
**消费者检测**:
|
|
432
|
+
```bash
|
|
433
|
+
# 检测消息消费者注解
|
|
434
|
+
grep -rn "@MessageConsumer\|@KafkaListener\|@RabbitListener\|@RocketMQMessageListener" --include="*.java"
|
|
253
435
|
|
|
254
|
-
|
|
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
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
462
|
+
使用 grep 扫描多语言环境变量:
|
|
463
|
+
|
|
464
|
+
```bash
|
|
465
|
+
# JavaScript/TypeScript
|
|
466
|
+
grep -r "process\.env\." --include="*.js" --include="*.ts"
|
|
262
467
|
|
|
263
|
-
|
|
264
|
-
|
|
468
|
+
# Python
|
|
469
|
+
grep -r "os\.environ" --include="*.py"
|
|
470
|
+
grep -r "getenv(" --include="*.py"
|
|
265
471
|
|
|
266
|
-
|
|
267
|
-
|
|
472
|
+
# Java
|
|
473
|
+
grep -r "System\.getenv" --include="*.java"
|
|
474
|
+
grep -r "@Value" --include="*.java"
|
|
268
475
|
|
|
269
|
-
|
|
476
|
+
# Go
|
|
477
|
+
grep -r "os\.Getenv" --include="*.go"
|
|
270
478
|
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
- 包含的最佳实践
|
|
479
|
+
# Rust
|
|
480
|
+
grep -r "std::env::" --include="*.rs"
|
|
481
|
+
```
|
|
275
482
|
|
|
276
|
-
|
|
277
|
-
- 与当前项目技术栈的匹配度
|
|
278
|
-
- 推荐激活的知识项
|
|
483
|
+
### 1.5 输出扫描结果
|
|
279
484
|
|
|
280
|
-
|
|
281
|
-
```
|
|
282
|
-
相关性分析:
|
|
283
|
-
技术栈匹配度: 85%
|
|
284
|
-
推荐激活: mysql, redis, auth
|
|
285
|
-
```
|
|
485
|
+
生成 `.autospec/runtime/env-scan-result.json`:
|
|
286
486
|
|
|
287
|
-
|
|
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
|
-
|
|
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
|
-
|
|
298
|
-
|
|
299
|
-
|
|
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
|
-
|
|
308
|
-
|
|
309
|
-
|
|
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
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
579
|
+
**评测设计**:
|
|
580
|
+
- 扫描位置:`evaluation/`, `eval/`, `benchmarks/`, `tests/evaluation/`
|
|
581
|
+
- 文件模式:`*eval*.md`, `*benchmark*.md`, `*metrics*.md`
|
|
582
|
+
- 输出目录:`05-test-knowledge/02-evaluation/`
|
|
316
583
|
|
|
317
|
-
###
|
|
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
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
592
|
+
**整合内容**:
|
|
593
|
+
- 业务术语表(统一语言)
|
|
594
|
+
- 业务规则
|
|
595
|
+
- 业务流程
|
|
596
|
+
- 领域模型(含数据模型)
|
|
597
|
+
- 实体详情
|
|
325
598
|
|
|
326
|
-
2.
|
|
327
|
-
- 扫描 `evaluation/` 目录
|
|
328
|
-
- 扫描 `benchmarks/` 目录
|
|
329
|
-
- 提取评测目标、数据集、指标定义
|
|
599
|
+
### 2.4 扫描规范指南
|
|
330
600
|
|
|
331
|
-
|
|
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
|
-
|
|
336
|
-
- 扫描 `docs/standards/` 目录
|
|
337
|
-
- 扫描 `.editorconfig` / `.eslintrc` / `checkstyle.xml`
|
|
338
|
-
- 提取编码规范、数据一致性规范
|
|
609
|
+
### 2.5 模型兜底扫描(Fallback)
|
|
339
610
|
|
|
340
|
-
|
|
341
|
-
- 扫描 `docs/guides/` 目录
|
|
342
|
-
- 扫描 `knowledge/guides/` 目录
|
|
343
|
-
- 提取系统设计指南、需求工程指南
|
|
611
|
+
**【强制】** 当规则匹配完成后,执行模型兜底扫描,捕获规则之外的潜在文档:
|
|
344
612
|
|
|
345
|
-
|
|
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
|
-
|
|
350
|
-
|
|
351
|
-
|
|
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
|
-
|
|
360
|
-
- 扫描 `docs/business/flows/` 目录
|
|
361
|
-
- 扫描 `knowledge/domain/flows/` 目录
|
|
362
|
-
- 提取 Mermaid 流程图
|
|
633
|
+
**调用模型**,传入 `detection-patterns.yaml` 中定义的 `fallback.aiPrompt`:
|
|
363
634
|
|
|
364
|
-
|
|
635
|
+
```
|
|
636
|
+
输入:候选文件列表 + 文件内容摘要
|
|
637
|
+
处理:使用对应的 aiPrompt 进行分类识别
|
|
638
|
+
输出:JSON 格式的分类结果
|
|
639
|
+
```
|
|
365
640
|
|
|
366
|
-
|
|
641
|
+
**设计文档兜底**:
|
|
642
|
+
- 使用 `designDocs.fallback.aiPrompt`
|
|
643
|
+
- 识别架构/API/数据库/产品设计文档
|
|
644
|
+
- 输出到对应子目录
|
|
367
645
|
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
646
|
+
**业务文档兜底**:
|
|
647
|
+
- 使用 `businessDocs.fallback.aiPrompt`
|
|
648
|
+
- 识别术语表/业务规则/业务流程文档
|
|
649
|
+
- 输出到对应子目录
|
|
371
650
|
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
651
|
+
**测试文档兜底**:
|
|
652
|
+
- 使用 `testDocs.fallback.aiPrompt`
|
|
653
|
+
- 识别测试设计/评测设计文档
|
|
654
|
+
- 输出到对应子目录
|
|
376
655
|
|
|
377
|
-
|
|
378
|
-
- 连接池配置
|
|
379
|
-
- 重试机制
|
|
380
|
-
- 超时设置
|
|
381
|
-
- 认证方式
|
|
656
|
+
#### 2.5.4 置信度过滤
|
|
382
657
|
|
|
383
|
-
|
|
658
|
+
```yaml
|
|
659
|
+
# 只保留置信度 >= 0.7 的分类结果
|
|
660
|
+
confidenceThreshold: 0.7
|
|
384
661
|
|
|
385
|
-
|
|
662
|
+
# 置信度 0.5-0.7 的标记为"待确认"
|
|
663
|
+
reviewThreshold: 0.5
|
|
386
664
|
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
###
|
|
751
|
+
### 3.3 Python 项目分析
|
|
423
752
|
|
|
424
|
-
```
|
|
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
|
-
|
|
765
|
+
**分析输出**:
|
|
766
|
+
- 模块依赖关系
|
|
767
|
+
- 类定义列表
|
|
768
|
+
- API 路由位置
|
|
769
|
+
|
|
770
|
+
### 3.4 Go 项目分析
|
|
429
771
|
|
|
430
|
-
```
|
|
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
|
-
|
|
437
|
-
|
|
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
|
-
|
|
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
|
-
|
|
849
|
+
**输入**:
|
|
850
|
+
- Step 1 的框架识别结果
|
|
851
|
+
- Step 3 的源码分析结果(包结构、类列表、注解位置)
|
|
474
852
|
|
|
475
|
-
|
|
853
|
+
**使用模板**:`knowledge/09-templates/01-architecture-design.md`
|
|
476
854
|
|
|
477
|
-
|
|
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
|
-
|
|
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
|
-
|
|
504
|
-
- [ ] 检查项2
|
|
930
|
+
生成 HTTP 和 RPC 接口列表,包含:controller, basePath, endpoints, methods
|
|
505
931
|
```
|
|
506
932
|
|
|
507
|
-
|
|
933
|
+
**使用模板**:`knowledge/09-templates/02-api-design.md`
|
|
508
934
|
|
|
509
|
-
|
|
935
|
+
**输出文件**:`03-design-knowledge/03-api/{api-name}.md`
|
|
510
936
|
|
|
511
|
-
|
|
512
|
-
- 中间件:基本信息、环境变量、连接代码模板
|
|
513
|
-
- 组件:基本信息、接口定义、使用示例
|
|
937
|
+
---
|
|
514
938
|
|
|
515
|
-
|
|
516
|
-
- 表格必须有表头行
|
|
517
|
-
- 表格列数必须一致
|
|
518
|
-
- 必填表格不能为空
|
|
939
|
+
## Step 6: 提取数据模型(AI 驱动)
|
|
519
940
|
|
|
520
|
-
|
|
521
|
-
- 中间件类型必须在预定义枚举中
|
|
522
|
-
- 组件类型必须在预定义枚举中
|
|
941
|
+
**【强制】** 提取数据库/数据模型设计:
|
|
523
942
|
|
|
524
|
-
|
|
943
|
+
### 6.1 识别 Schema 文件
|
|
525
944
|
|
|
526
|
-
|
|
945
|
+
- 扫描 `*.sql`, `*.ddl`, `schema.sql`
|
|
946
|
+
- 扫描 ORM 模型文件(`*model*.py`, `*entity*.java`, `*model*.ts`)
|
|
527
947
|
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
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
|
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
-
|
|
544
|
-
-
|
|
545
|
-
- `.
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
-
|
|
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
|
-
.
|
|
1072
|
+
中间件:5 文件
|
|
1073
|
+
✅ mysql.md - 符合模板规范
|
|
1074
|
+
✅ redis.md - 符合模板规范
|
|
1075
|
+
⚠️ kafka.md - 缺少「连接代码模板」章节
|
|
561
1076
|
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
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
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
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
|
-
|
|
582
|
-
|
|
583
|
-
|
|
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
|
-
✅
|
|
602
|
-
|
|
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
|
-
|
|
618
|
-
|
|
1205
|
+
### 10.4 强制全量同步
|
|
1206
|
+
|
|
1207
|
+
用户可指定 `--full` 参数强制全量同步:
|
|
619
1208
|
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
|
|
1209
|
+
```bash
|
|
1210
|
+
/autospec:env-sync --full
|
|
1211
|
+
```
|
|
1212
|
+
|
|
1213
|
+
---
|
|
624
1214
|
|
|
625
|
-
|
|
626
|
-
中间件: 5 文件, 4 合规
|
|
627
|
-
组件: 2 文件, 1 合规
|
|
1215
|
+
## 产出物
|
|
628
1216
|
|
|
629
|
-
|
|
630
|
-
|
|
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
|
-
|
|
634
|
-
|
|
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
|
```
|