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