aodw-skill 0.7.3
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/.aodw/01-core/ai-interaction-rules.md +218 -0
- package/.aodw/01-core/ai-knowledge-rules.md +302 -0
- package/.aodw/01-core/ai-project-overview-rules.md +284 -0
- package/.aodw/01-core/aodw-constitution-summary.md +20 -0
- package/.aodw/01-core/aodw-constitution.md +419 -0
- package/.aodw/01-core/csf-thinking-framework.md +373 -0
- package/.aodw/01-core/git-discipline.md +226 -0
- package/.aodw/01-core/module-doc-rules.md +90 -0
- package/.aodw/02-workflow/aodw-development-stages.md +235 -0
- package/.aodw/02-workflow/rt-id-generation-rules.md +267 -0
- package/.aodw/02-workflow/rt-manager-summary.md +15 -0
- package/.aodw/02-workflow/rt-manager.md +399 -0
- package/.aodw/02-workflow/spec-full-profile-summary.md +13 -0
- package/.aodw/02-workflow/spec-full-profile.md +391 -0
- package/.aodw/02-workflow/spec-lite-profile.md +313 -0
- package/.aodw/02-workflow/ui-workflow-rules.md +334 -0
- package/.aodw/03-standards/ai-coding-rules-common.md +89 -0
- package/.aodw/03-standards/ai-coding-rules.md +370 -0
- package/.aodw/03-standards/stacks/java-springboot/ai-coding-rules-backend.md +100 -0
- package/.aodw/03-standards/stacks/python-fastapi/ai-coding-rules-backend.md +612 -0
- package/.aodw/03-standards/stacks/react-typescript/ai-coding-rules-frontend.md +291 -0
- package/.aodw/03-standards/stacks/vue2/ai-coding-rules-frontend.md +97 -0
- package/.aodw/03-standards/ui-kit/ui-kit.md +163 -0
- package/.aodw/04-auditors/aodw-development-auditor-rules.md +470 -0
- package/.aodw/04-auditors/aodw-full-auditor-rules.md +365 -0
- package/.aodw/04-auditors/aodw-requirement-auditor-rules.md +408 -0
- package/.aodw/05-tooling/ai-tools-init-rules.md +465 -0
- package/.aodw/06-project/ai-overview.md +116 -0
- package/.aodw/06-project/modules-index.yaml +11 -0
- package/.aodw/07-optimization/token-usage-analysis.md +253 -0
- package/.aodw/README.md +26 -0
- package/.aodw/RELEASE-CHECKLIST.md +144 -0
- package/.aodw/config.yaml +2 -0
- package/.aodw/manifest.yaml +98 -0
- package/.aodw/templates/SOURCE-TO-DISTRIBUTION-GUIDE.md +276 -0
- package/.aodw/templates/TEMPLATE-APPLICATION-GUIDE.md +246 -0
- package/.aodw/templates/aodw-kernel-loader-template.md +70 -0
- package/.aodw/templates/audit-report-template.md +232 -0
- package/.aodw/templates/changelog-template.md +16 -0
- package/.aodw/templates/checklists/coding-standards-template.md +110 -0
- package/.aodw/templates/csf-review-template.md +201 -0
- package/.aodw/templates/impact-template.md +17 -0
- package/.aodw/templates/invariants-template.md +12 -0
- package/.aodw/templates/module-readme-template.md +39 -0
- package/.aodw/templates/plan-lite-template.md +11 -0
- package/.aodw/templates/rt-decision-template.md +13 -0
- package/.aodw/templates/rt-intake-template.md +33 -0
- package/.aodw/templates/rt-meta-template.yaml +43 -0
- package/.aodw/templates/spec-lite-template.md +17 -0
- package/.aodw/templates/tests-template.md +13 -0
- package/.aodw/templates/tools-config/README.md +80 -0
- package/.aodw/templates/tools-config/backend/black.config.template.toml +6 -0
- package/.aodw/templates/tools-config/backend/pre-commit.config.template.yaml +16 -0
- package/.aodw/templates/tools-config/backend/ruff.config.template.toml +23 -0
- package/.aodw/templates/tools-config/frontend/eslint.config.template.json +113 -0
- package/.aodw/templates/tools-config/frontend/prettier.config.template.json +10 -0
- package/.aodw/templates/tools-config/frontend/tsconfig.paths.template.json +11 -0
- package/.aodw/workflow-guide.md +51 -0
- package/AODW_Adapters/README.md +143 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/.agent/rules/aodw-check.md +7 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/.agent/rules/aodw-done.md +7 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/.agent/rules/aodw-full.md +7 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/.agent/rules/aodw-governance.md +7 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/.agent/rules/aodw-impact.md +7 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/.agent/rules/aodw-init.md +7 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/.agent/rules/aodw-invariants.md +7 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/.agent/rules/aodw-lite.md +7 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/.agent/rules/aodw-module.md +7 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/.agent/rules/aodw-new.md +7 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/.agent/rules/aodw-open.md +7 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/.agent/rules/aodw-pause.md +7 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/.agent/rules/aodw-resume.md +7 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/.agent/rules/aodw-tests.md +7 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/.agent/rules/aodw-upgrade.md +7 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/.agent/rules/aodw.md +35 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/global_workflows/aodw-check.md +16 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/global_workflows/aodw-done.md +16 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/global_workflows/aodw-full.md +14 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/global_workflows/aodw-governance.md +13 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/global_workflows/aodw-impact.md +13 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/global_workflows/aodw-init.md +13 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/global_workflows/aodw-invariants.md +13 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/global_workflows/aodw-lite.md +14 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/global_workflows/aodw-module.md +13 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/global_workflows/aodw-new.md +30 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/global_workflows/aodw-open.md +10 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/global_workflows/aodw-pause.md +12 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/global_workflows/aodw-resume.md +12 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/global_workflows/aodw-tests.md +13 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/global_workflows/aodw-upgrade.md +12 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/global_workflows/aodw.md +18 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/claude/CLAUDE.md +17 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/cursor/.cursor/commands/aodw-check.md +30 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/cursor/.cursor/commands/aodw-done.md +52 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/cursor/.cursor/commands/aodw-full.md +31 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/cursor/.cursor/commands/aodw-governance.md +34 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/cursor/.cursor/commands/aodw-impact.md +25 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/cursor/.cursor/commands/aodw-init.md +75 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/cursor/.cursor/commands/aodw-invariants.md +29 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/cursor/.cursor/commands/aodw-lite.md +23 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/cursor/.cursor/commands/aodw-module.md +24 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/cursor/.cursor/commands/aodw-new.md +70 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/cursor/.cursor/commands/aodw-open.md +19 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/cursor/.cursor/commands/aodw-pause.md +19 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/cursor/.cursor/commands/aodw-resume.md +20 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/cursor/.cursor/commands/aodw-tests.md +26 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/cursor/.cursor/commands/aodw-upgrade.md +27 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/cursor/.cursor/commands/aodw.md +69 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/cursor/.cursor/commands/deploypromote.md +20 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/cursor/.cursor/commands/featuretotester.md +32 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/cursor/.cursor/deploy/feature_to_master_push_test_local.sh +390 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/cursor/.cursor/deploy/promote_only.sh +210 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/cursor/.cursor/deploy/rollback_prod.sh +99 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/cursor/.cursor/rules/aodw.mdc +26 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/gemini/.agent/rules/aodw-check.md +29 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/gemini/.agent/rules/aodw-done.md +52 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/gemini/.agent/rules/aodw-full.md +30 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/gemini/.agent/rules/aodw-governance.md +33 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/gemini/.agent/rules/aodw-impact.md +24 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/gemini/.agent/rules/aodw-init.md +75 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/gemini/.agent/rules/aodw-invariants.md +28 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/gemini/.agent/rules/aodw-lite.md +22 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/gemini/.agent/rules/aodw-module.md +23 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/gemini/.agent/rules/aodw-new.md +92 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/gemini/.agent/rules/aodw-open.md +18 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/gemini/.agent/rules/aodw-pause.md +18 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/gemini/.agent/rules/aodw-resume.md +19 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/gemini/.agent/rules/aodw-tests.md +25 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/gemini/.agent/rules/aodw-upgrade.md +26 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/gemini/.agent/rules/aodw.md +68 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/gemini/GEMINI.md +17 -0
- package/AODW_Adapters/_backup/v4.0.0-simplified/antigravity/.agent/rules/aodw-analyze.md +15 -0
- package/AODW_Adapters/_backup/v4.0.0-simplified/antigravity/.agent/rules/aodw-complete.md +15 -0
- package/AODW_Adapters/_backup/v4.0.0-simplified/antigravity/.agent/rules/aodw-control.md +14 -0
- package/AODW_Adapters/_backup/v4.0.0-simplified/antigravity/.agent/rules/aodw-decide.md +16 -0
- package/AODW_Adapters/_backup/v4.0.0-simplified/antigravity/.agent/rules/aodw-governance.md +7 -0
- package/AODW_Adapters/_backup/v4.0.0-simplified/antigravity/.agent/rules/aodw-implement.md +16 -0
- package/AODW_Adapters/_backup/v4.0.0-simplified/antigravity/.agent/rules/aodw-init.md +7 -0
- package/AODW_Adapters/_backup/v4.0.0-simplified/antigravity/.agent/rules/aodw-intake.md +15 -0
- package/AODW_Adapters/_backup/v4.0.0-simplified/antigravity/.agent/rules/aodw-open.md +7 -0
- package/AODW_Adapters/_backup/v4.0.0-simplified/antigravity/.agent/rules/aodw-simplified.md +107 -0
- package/AODW_Adapters/_backup/v4.0.0-simplified/antigravity/.agent/rules/aodw-verify.md +14 -0
- package/AODW_Adapters/_backup/v4.0.0-simplified/antigravity/global_workflows/aodw-analyze.md +24 -0
- package/AODW_Adapters/_backup/v4.0.0-simplified/antigravity/global_workflows/aodw-complete.md +23 -0
- package/AODW_Adapters/_backup/v4.0.0-simplified/antigravity/global_workflows/aodw-control.md +21 -0
- package/AODW_Adapters/_backup/v4.0.0-simplified/antigravity/global_workflows/aodw-decide.md +26 -0
- package/AODW_Adapters/_backup/v4.0.0-simplified/antigravity/global_workflows/aodw-governance.md +13 -0
- package/AODW_Adapters/_backup/v4.0.0-simplified/antigravity/global_workflows/aodw-implement.md +21 -0
- package/AODW_Adapters/_backup/v4.0.0-simplified/antigravity/global_workflows/aodw-init.md +13 -0
- package/AODW_Adapters/_backup/v4.0.0-simplified/antigravity/global_workflows/aodw-intake.md +28 -0
- package/AODW_Adapters/_backup/v4.0.0-simplified/antigravity/global_workflows/aodw-open.md +10 -0
- package/AODW_Adapters/_backup/v4.0.0-simplified/antigravity/global_workflows/aodw-verify.md +20 -0
- package/AODW_Adapters/_backup/v4.0.0-simplified/antigravity/global_workflows/aodw.md +18 -0
- package/AODW_Adapters/antigravity/.agent/rules/aodw.md +74 -0
- package/AODW_Adapters/claude/CLAUDE.md +70 -0
- package/AODW_Adapters/cursor/.cursor/commands/README.md +37 -0
- package/AODW_Adapters/cursor/.cursor/rules/aodw.mdc +77 -0
- package/AODW_Adapters/gemini/.agent/rules/aodw-analyze.md +15 -0
- package/AODW_Adapters/gemini/.agent/rules/aodw-complete.md +15 -0
- package/AODW_Adapters/gemini/.agent/rules/aodw-control.md +14 -0
- package/AODW_Adapters/gemini/.agent/rules/aodw-decide.md +16 -0
- package/AODW_Adapters/gemini/.agent/rules/aodw-governance.md +33 -0
- package/AODW_Adapters/gemini/.agent/rules/aodw-implement.md +16 -0
- package/AODW_Adapters/gemini/.agent/rules/aodw-init.md +75 -0
- package/AODW_Adapters/gemini/.agent/rules/aodw-intake.md +15 -0
- package/AODW_Adapters/gemini/.agent/rules/aodw-open.md +18 -0
- package/AODW_Adapters/gemini/.agent/rules/aodw-verify.md +14 -0
- package/AODW_Adapters/gemini/.agent/rules/aodw.md +70 -0
- package/AODW_Adapters/gemini/GEMINI.md +17 -0
- package/AODW_Adapters/general/.github/copilot-instructions.md +34 -0
- package/AODW_Adapters/general/AGENTS.md +70 -0
- package/README.md +118 -0
- package/bin/aodw.js +627 -0
- package/bin/commands/init-overview.js +801 -0
- package/bin/commands/init-tools.js +811 -0
- package/bin/commands/new.js +235 -0
- package/bin/commands/serve.js +79 -0
- package/bin/processors/index.js +109 -0
- package/bin/update-adapters-from-template.js +89 -0
- package/bin/utils/config.js +56 -0
- package/docs/README.md +26 -0
- package/docs/adapter-evaluation.md +55 -0
- package/docs/backend-guidelines.md +335 -0
- package/docs/frontend-guidelines.md +266 -0
- package/docs/installation-variants.md +88 -0
- package/docs/migration-guide-0.2.0.md +250 -0
- package/docs/platform-matrix.md +83 -0
- package/package.json +40 -0
|
@@ -0,0 +1,391 @@
|
|
|
1
|
+
# Spec-Full Profile Specification
|
|
2
|
+
(完整规格驱动开发流程)
|
|
3
|
+
|
|
4
|
+
Spec-Full Profile 用于处理复杂或高风险的变更,包括:
|
|
5
|
+
|
|
6
|
+
- 新功能;
|
|
7
|
+
- 涉及多个模块的大范围改动;
|
|
8
|
+
- 涉及数据模型变更;
|
|
9
|
+
- 涉及外部 API / 协议变更;
|
|
10
|
+
- 涉及性能 / 安全 / 合规性的重要特性;
|
|
11
|
+
- 大规模重构。
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
## 1. 文件结构
|
|
16
|
+
|
|
17
|
+
在 `RT/RT-XXX/` 目录下,Spec-Full 使用:
|
|
18
|
+
|
|
19
|
+
```text
|
|
20
|
+
RT/RT-XXX/
|
|
21
|
+
spec.md ← 完整需求说明
|
|
22
|
+
plan.md ← 技术实现方案
|
|
23
|
+
data-model.md ← 实体与关系
|
|
24
|
+
contracts/ ← API / 消息 / 数据契约
|
|
25
|
+
research.md ← 调研与决策记录(如需要)
|
|
26
|
+
tasks.md ← 按 User Story 和 Phase 拆分的实现任务
|
|
27
|
+
checklists/ ← 质量检查清单
|
|
28
|
+
impact.md ← 影响分析
|
|
29
|
+
invariants.md ← 不可破坏行为 / 边界
|
|
30
|
+
tests.md ← 测试点
|
|
31
|
+
changelog.md ← 行为变更总结
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
---
|
|
35
|
+
|
|
36
|
+
## 2. Spec 阶段:spec.md
|
|
37
|
+
|
|
38
|
+
`spec.md` 由 AI 根据用户描述和澄清问题自动生成,典型结构:
|
|
39
|
+
|
|
40
|
+
```markdown
|
|
41
|
+
# Spec: RT-XXX - <feature name>
|
|
42
|
+
|
|
43
|
+
## 1. 背景与动机(Background & Motivation)
|
|
44
|
+
- 为什么需要这个特性 / 改动?
|
|
45
|
+
|
|
46
|
+
## 2. 目标与非目标(Goals / Non-goals)
|
|
47
|
+
- 明确列出本 RT 的目标范围;
|
|
48
|
+
- 明确哪些是本次不处理的内容。
|
|
49
|
+
|
|
50
|
+
## 3. 用户故事 / 用例(User Stories)
|
|
51
|
+
- 角色、目标、场景;
|
|
52
|
+
- 主路径与备选路径。
|
|
53
|
+
|
|
54
|
+
## 4. 功能需求(Functional Requirements)
|
|
55
|
+
- 用编号列出可验证的需求。
|
|
56
|
+
|
|
57
|
+
## 5. 非功能需求(Non-functional Requirements)
|
|
58
|
+
- 性能、可用性、可靠性、安全性等。
|
|
59
|
+
|
|
60
|
+
## 6. 假设与依赖(Assumptions & Dependencies)
|
|
61
|
+
- 对外部系统 / 团队 / 前置条件的假设。
|
|
62
|
+
|
|
63
|
+
## 7. 成功标准(Success Criteria)
|
|
64
|
+
- 如何判断本 RT 成功完成。
|
|
65
|
+
|
|
66
|
+
## 8. 澄清记录(Clarifications)
|
|
67
|
+
- Question / Answer 列表(来自 AI 主动提问与用户回答)。
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
Spec 阶段可以融入类似原 Speckit 的 `/speckit.specify` 行为。
|
|
71
|
+
|
|
72
|
+
---
|
|
73
|
+
|
|
74
|
+
## 3. Clarification
|
|
75
|
+
|
|
76
|
+
AI 应对模糊或高影响问题提出有限数量(通常≤5)的澄清问题:
|
|
77
|
+
|
|
78
|
+
- 每个问题带选项与推荐答案;
|
|
79
|
+
- 用户选择后,将问答记录到 `spec.md` 的 Clarifications 部分;
|
|
80
|
+
- 同时更新相关需求段落,使 spec 不再依赖上下文对话。
|
|
81
|
+
|
|
82
|
+
---
|
|
83
|
+
|
|
84
|
+
## 3.5 需求阶段审计(必须)
|
|
85
|
+
|
|
86
|
+
**规则**:`spec.md` 生成后,**必须**自动执行需求阶段审计官。
|
|
87
|
+
|
|
88
|
+
**执行要求**:
|
|
89
|
+
- AI 必须调用 `.aodw/04-auditors/aodw-requirement-auditor-rules.md` 中的需求阶段审计官
|
|
90
|
+
- 审计官将检查需求完整性、一致性、可执行性
|
|
91
|
+
- 审计结果记录在 `RT/RT-XXX/requirement-audit-report.md`
|
|
92
|
+
- 如果发现阻断性问题,**必须停止流程**,要求用户修复
|
|
93
|
+
|
|
94
|
+
**审计重点**:
|
|
95
|
+
- 需求完整性:文档结构是否完整、目标是否明确、需求是否可验证
|
|
96
|
+
- 需求一致性:与 `intake.md` 是否一致
|
|
97
|
+
- 需求可执行性:技术方案是否足够详细
|
|
98
|
+
|
|
99
|
+
**详细规范**:详见 `.aodw/04-auditors/aodw-requirement-auditor-rules.md`
|
|
100
|
+
|
|
101
|
+
---
|
|
102
|
+
|
|
103
|
+
## 3.6 CSF 审查(可选但推荐)
|
|
104
|
+
|
|
105
|
+
在 Spec 阶段完成后,建议执行 CSF 审查(详见 `.aodw/01-core/csf-thinking-framework.md`):
|
|
106
|
+
|
|
107
|
+
- **审查重点**:验证需求理解是否准确,目标是否清晰
|
|
108
|
+
- **输出**:`RT/RT-XXX/csf-review.md`(如执行)
|
|
109
|
+
- **触发**:用户要求或 AI 判断需要时
|
|
110
|
+
|
|
111
|
+
**注意**:CSF 审查是建设性的,需求阶段审计是批判性的,两者可以并存。
|
|
112
|
+
|
|
113
|
+
---
|
|
114
|
+
|
|
115
|
+
## 4. Plan 阶段:plan.md / research.md / data-model.md / contracts/
|
|
116
|
+
|
|
117
|
+
### 4.0 UI 任务特殊处理(如适用)
|
|
118
|
+
|
|
119
|
+
> **重要**:如果 RT 被识别为 UI 相关任务,Plan 阶段必须包含 UI 专用流程步骤。
|
|
120
|
+
|
|
121
|
+
**UI 相关任务的 Plan 必须包含**:
|
|
122
|
+
1. **UI 规则文件读取**:读取 `.aodw/03-standards/ui-kit/ui-kit.md`(统一 UI 设计规范文件)
|
|
123
|
+
2. **UI 结构与设计说明**:输出 UI 结构与设计说明
|
|
124
|
+
3. **静态 HTML 原型生成(强制步骤)**:
|
|
125
|
+
- **必须**在 `RT/RT-XXX/docs/ui-prototype.html` 创建 HTML 原型文件
|
|
126
|
+
- 生成完整的静态 HTML 原型(使用模拟数据)
|
|
127
|
+
- 必须包含所有 UI 元素和交互状态
|
|
128
|
+
- 必须包含完整样式,可在浏览器中直接打开查看
|
|
129
|
+
4. **用户确认步骤(强制门禁)**:
|
|
130
|
+
- **必须**等待用户在浏览器中查看原型并明确确认
|
|
131
|
+
- **严禁**在未获得用户确认前进入实现阶段
|
|
132
|
+
5. **UI 审查步骤**:执行 UI 质量审查
|
|
133
|
+
6. **UI 实现步骤**:用户确认后生成实现代码
|
|
134
|
+
|
|
135
|
+
> ⚠️ **关键要求**:HTML 原型创建和用户确认是**强制步骤**,不可跳过。详细规则请参考 `.aodw/02-workflow/ui-workflow-rules.md`
|
|
136
|
+
|
|
137
|
+
---
|
|
138
|
+
|
|
139
|
+
### 4.1 plan.md
|
|
140
|
+
|
|
141
|
+
`plan.md` 描述"如何实现":
|
|
142
|
+
|
|
143
|
+
```markdown
|
|
144
|
+
# Plan: RT-XXX - <feature name>
|
|
145
|
+
|
|
146
|
+
## 1. 技术背景
|
|
147
|
+
- 当前系统相关部分的技术状况。
|
|
148
|
+
|
|
149
|
+
## 2. 方案概览
|
|
150
|
+
- 整体思路与关键设计决策。
|
|
151
|
+
|
|
152
|
+
## 3. 组件与模块变更
|
|
153
|
+
- 哪些模块会被修改 / 新增 / 删除。
|
|
154
|
+
|
|
155
|
+
## 4. 代码结构与分层设计(必须)
|
|
156
|
+
|
|
157
|
+
> **注意**:本节必须根据项目编码规范(`.aodw/03-standards/stacks/react-typescript/ai-coding-rules-frontend.md` 或 `.aodw/03-standards/stacks/python-fastapi/ai-coding-rules-backend.md`)进行设计。
|
|
158
|
+
|
|
159
|
+
### 4.1 前端代码结构(如涉及)
|
|
160
|
+
- **使用的页面**:`src/pages/<PageName>/`
|
|
161
|
+
- **新增 features 模块**(如需要):`src/features/<domain>/`
|
|
162
|
+
- **组件拆分**:
|
|
163
|
+
- `ComponentName.tsx`(职责说明)
|
|
164
|
+
- `AnotherComponent.tsx`(职责说明)
|
|
165
|
+
- **Hooks**:`useHookName.ts`(职责说明)
|
|
166
|
+
- **Store**:`storeName.store.ts`(职责说明)
|
|
167
|
+
- **目录结构示例**:
|
|
168
|
+
```
|
|
169
|
+
src/pages/ProjectEditorPage/
|
|
170
|
+
├── index.tsx # 页面入口
|
|
171
|
+
├── Header.tsx # 页面头部
|
|
172
|
+
├── Sidebar.tsx # 侧边栏
|
|
173
|
+
├── Canvas.tsx # 画布
|
|
174
|
+
├── hooks/ # 页面专用 hooks
|
|
175
|
+
│ └── useProjectEditor.ts
|
|
176
|
+
└── store/ # 页面专用 store
|
|
177
|
+
└── projectEditor.store.ts
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
### 4.2 后端代码结构(如涉及)
|
|
181
|
+
- **API 路由**:`app/api/v1/<resource>.py`
|
|
182
|
+
- **Service**:`app/services/<resource>_service.py`
|
|
183
|
+
- **Repository**:`app/repositories/<resource>_repository.py`
|
|
184
|
+
- **Schema**:`app/schemas/<resource>_schema.py`
|
|
185
|
+
- **分层职责说明**:
|
|
186
|
+
- API 层:接收请求,参数校验,调用 Service
|
|
187
|
+
- Service 层:业务逻辑处理,调用 Repository
|
|
188
|
+
- Repository 层:数据访问,数据库操作
|
|
189
|
+
- **目录结构示例**:
|
|
190
|
+
```
|
|
191
|
+
app/
|
|
192
|
+
├── api/v1/
|
|
193
|
+
│ └── project.py # API 路由
|
|
194
|
+
├── services/
|
|
195
|
+
│ └── project_service.py # 业务逻辑
|
|
196
|
+
├── repositories/
|
|
197
|
+
│ └── project_repository.py # 数据访问
|
|
198
|
+
└── schemas/
|
|
199
|
+
└── project_schema.py # 数据模型
|
|
200
|
+
```
|
|
201
|
+
|
|
202
|
+
### 4.3 编码规范符合性说明
|
|
203
|
+
- **前端**(如涉及):
|
|
204
|
+
- [ ] 目录结构符合规范(pages / features / shared)
|
|
205
|
+
- [ ] 组件拆分符合规范(单一职责、适度复用)
|
|
206
|
+
- [ ] 文件大小符合规范(页面 ≤ 300 行,组件 ≤ 200 行)
|
|
207
|
+
- **后端**(如涉及):
|
|
208
|
+
- [ ] 分层架构符合规范(api → services → repositories)
|
|
209
|
+
- [ ] 文件大小符合规范(模块 ≤ 300 行,函数 ≤ 60 行)
|
|
210
|
+
- [ ] 依赖关系符合规范(不跨层调用)
|
|
211
|
+
|
|
212
|
+
## 5. 数据流与控制流
|
|
213
|
+
- 请求如何在系统内部流转。
|
|
214
|
+
|
|
215
|
+
## 6. 风险与缓解策略
|
|
216
|
+
- 潜在问题及对应的缓解方案。
|
|
217
|
+
|
|
218
|
+
## 7. 分阶段计划
|
|
219
|
+
- 如果需要分多个阶段实现,说明每阶段目标。
|
|
220
|
+
```
|
|
221
|
+
|
|
222
|
+
### 4.2 research.md(可选)
|
|
223
|
+
|
|
224
|
+
若需要对比多种实现方案、技术栈或第三方服务,可在 `research.md` 中记录:
|
|
225
|
+
|
|
226
|
+
- 备选方案;
|
|
227
|
+
- 评估维度(性能、成本、复杂度等);
|
|
228
|
+
- 最终选择与理由。
|
|
229
|
+
|
|
230
|
+
### 4.3 data-model.md
|
|
231
|
+
|
|
232
|
+
记录本 RT 相关的实体 / 关系 / 字段变更:
|
|
233
|
+
|
|
234
|
+
- 新增实体;
|
|
235
|
+
- 字段语义变更;
|
|
236
|
+
- 关系调整。
|
|
237
|
+
|
|
238
|
+
### 4.4 contracts/
|
|
239
|
+
|
|
240
|
+
记录对外契约:
|
|
241
|
+
|
|
242
|
+
- REST / GraphQL / gRPC API;
|
|
243
|
+
- 消息格式、事件结构;
|
|
244
|
+
- 文件格式等。
|
|
245
|
+
|
|
246
|
+
### 4.5 需求阶段审计(必须)
|
|
247
|
+
|
|
248
|
+
**规则**:`plan.md` 生成后,**必须**自动执行需求阶段审计官。
|
|
249
|
+
|
|
250
|
+
**执行要求**:
|
|
251
|
+
- AI 必须调用 `.aodw/04-auditors/aodw-requirement-auditor-rules.md` 中的需求阶段审计官
|
|
252
|
+
- 审计官将检查需求完整性、一致性、可执行性,**并自动包含 CSF 审查**
|
|
253
|
+
- 审计结果记录在 `RT/RT-XXX/requirement-audit-report.md`
|
|
254
|
+
- 如果发现阻断性问题,**必须停止流程**,要求用户修复
|
|
255
|
+
|
|
256
|
+
**审计重点**:
|
|
257
|
+
- 需求完整性:`plan.md` 是否包含所有必要章节(技术背景、方案概览、代码结构与分层设计等)
|
|
258
|
+
- 需求一致性:`plan.md` 是否满足 `spec.md` 中的所有需求
|
|
259
|
+
- 需求可执行性:代码结构与分层设计是否明确、是否符合编码规范
|
|
260
|
+
- **战略对齐与 CSF 检查**(自动包含):
|
|
261
|
+
- 以终为始:验证方案是否直接贡献于目标
|
|
262
|
+
- 结构化分解:验证方案分解是否 MECE
|
|
263
|
+
- 关键要素识别:识别影响目标达成的 CSF
|
|
264
|
+
- 流程与系统观:检查端到端关键路径
|
|
265
|
+
- 多维决策:评估技术方案的合理性(至少 2-3 个备选方案)
|
|
266
|
+
|
|
267
|
+
**详细规范**:详见 `.aodw/04-auditors/aodw-requirement-auditor-rules.md`
|
|
268
|
+
|
|
269
|
+
**注意**:
|
|
270
|
+
- 需求阶段审计官自动包含 CSF 审查,因此不需要单独执行 CSF 审查
|
|
271
|
+
- 如果用户希望获得建设性的 CSF 审查建议,可以单独执行 CSF Review(输出到 `csf-review.md`)
|
|
272
|
+
|
|
273
|
+
---
|
|
274
|
+
|
|
275
|
+
## 5. tasks.md 和 checklists/
|
|
276
|
+
|
|
277
|
+
### 5.1 tasks.md
|
|
278
|
+
|
|
279
|
+
以严格的 checklist 格式列出实现步骤:
|
|
280
|
+
|
|
281
|
+
```markdown
|
|
282
|
+
- [ ] T001 [US1] 在后端添加 X 实体的存储逻辑(apps/api/src/...)
|
|
283
|
+
- [ ] T002 [US1] 为 X 实体添加 API 路由(apps/api/src/...)
|
|
284
|
+
- [ ] T003 [US1] 在前端页面展示 X 列表(apps/web/src/...)
|
|
285
|
+
```
|
|
286
|
+
|
|
287
|
+
- 可以使用 [P] 标记可并行的任务;
|
|
288
|
+
- 任务应按 Phase 编组,使每一阶段都能形成可验证的增量成果。
|
|
289
|
+
|
|
290
|
+
### 5.2 checklists/
|
|
291
|
+
|
|
292
|
+
为不同维度的质量提供“English 单元测试”式的 checklist,例如:
|
|
293
|
+
|
|
294
|
+
- requirements.md:需求是否完整、清晰、一致;
|
|
295
|
+
- design.md:方案是否符合架构原则,是否可扩展;
|
|
296
|
+
- **coding-standards.md**:编码规范是否符合项目规范(前端/后端,参考 `.aodw/templates/checklists/coding-standards-template.md`);
|
|
297
|
+
- security.md:安全要求是否明确、是否有相应对策;
|
|
298
|
+
- performance.md:性能目标是否量化、是否有测量方案。
|
|
299
|
+
|
|
300
|
+
AI 在实现前应尽量确保 checklist 通过,或在失败项上记录原因。
|
|
301
|
+
|
|
302
|
+
---
|
|
303
|
+
|
|
304
|
+
## 6. 开发阶段要求
|
|
305
|
+
|
|
306
|
+
### 6.1 开发准备(Dev Ready)
|
|
307
|
+
|
|
308
|
+
在开始编码前,AI 必须确认:
|
|
309
|
+
|
|
310
|
+
- [ ] **工具已初始化**:检查 `.aodw/tools-status.yaml` 中 `initialized: true`
|
|
311
|
+
- [ ] **编码规范已加载**:
|
|
312
|
+
- [ ] 如果涉及前端:已读取 `.aodw/03-standards/stacks/react-typescript/ai-coding-rules-frontend.md`
|
|
313
|
+
- [ ] 如果涉及后端:已读取 `.aodw/03-standards/stacks/python-fastapi/ai-coding-rules-backend.md`
|
|
314
|
+
- [ ] 已读取 `.aodw/03-standards/ai-coding-rules-common.md`(通用规范)
|
|
315
|
+
|
|
316
|
+
### 6.2 开发过程中
|
|
317
|
+
|
|
318
|
+
- **必须遵守**项目编码规范(前端/后端)
|
|
319
|
+
- **必须通过**工具自动检查(ESLint / Ruff / Black)
|
|
320
|
+
- **必须符合**plan.md 中设计的代码结构与分层
|
|
321
|
+
|
|
322
|
+
### 6.3 开发结束前自检
|
|
323
|
+
|
|
324
|
+
在提交代码前,AI 必须完成:
|
|
325
|
+
|
|
326
|
+
- [ ] **运行 Lint 检查**:
|
|
327
|
+
- 前端:`npm run lint` 或 `npx eslint .`
|
|
328
|
+
- 后端:`ruff check .`
|
|
329
|
+
- [ ] **运行格式化检查**:
|
|
330
|
+
- 前端:`npm run format` 或 `npx prettier --write .`
|
|
331
|
+
- 后端:`black .`
|
|
332
|
+
- [ ] **文件大小和复杂度符合规范**(参考 `.aodw/03-standards/ai-coding-rules-common.md`)
|
|
333
|
+
|
|
334
|
+
### 6.4 开发阶段审计(必须)
|
|
335
|
+
|
|
336
|
+
**规则**:代码实现完成后,**必须**自动执行开发阶段审计官。
|
|
337
|
+
|
|
338
|
+
**执行要求**:
|
|
339
|
+
- AI 必须调用 `.aodw/04-auditors/aodw-development-auditor-rules.md` 中的开发阶段审计官
|
|
340
|
+
- 审计官将检查代码质量、工具状态、架构合规性、知识维护
|
|
341
|
+
- 审计结果记录在 `RT/RT-XXX/development-audit-report.md`
|
|
342
|
+
- 如果发现阻断性问题,**必须停止流程**,要求用户修复
|
|
343
|
+
|
|
344
|
+
**审计重点**:
|
|
345
|
+
- 硬性技术约束:函数长度、文件长度、代码复杂度、分层架构、分支管理
|
|
346
|
+
- 工具前置检查:工具初始化状态、工具检查结果
|
|
347
|
+
- 架构合规性:分层架构、依赖管理
|
|
348
|
+
- 知识维护:文档与代码一致性、知识蒸馏
|
|
349
|
+
|
|
350
|
+
**详细规范**:详见 `.aodw/04-auditors/aodw-development-auditor-rules.md`
|
|
351
|
+
|
|
352
|
+
---
|
|
353
|
+
|
|
354
|
+
## 7. impact / invariants / tests / changelog
|
|
355
|
+
|
|
356
|
+
即使是 Spec-Full,仍需与 Spec-Lite 一样维护这几个文件:
|
|
357
|
+
|
|
358
|
+
- `impact.md`:在实现前,对影响面进行全面分析;
|
|
359
|
+
- `invariants.md`:列出在本次变更中必须保持不变的行为与结构;
|
|
360
|
+
- `tests.md`:列出测试点与测试覆盖范围;
|
|
361
|
+
- `changelog.md`:总结本 RT 对系统行为带来的变化,便于后续回溯。
|
|
362
|
+
|
|
363
|
+
---
|
|
364
|
+
|
|
365
|
+
## 7. 与 RT-Manager / Git Discipline 的关系
|
|
366
|
+
|
|
367
|
+
- RT-Manager 负责启动 Spec-Full Profile,并为其创建 RT 目录与分支;
|
|
368
|
+
- Spec-Full 完成后通过 Git Discipline 进行合并、打 tag、更新状态;
|
|
369
|
+
- 在整个过程结束后,AI 与用户应能:
|
|
370
|
+
|
|
371
|
+
- 从 `spec.md` + `plan.md` + `tasks.md` + `changelog.md` 理解本 RT 的前因后果;
|
|
372
|
+
- 从 Git 历史与 tag 中定位具体实现提交。
|
|
373
|
+
|
|
374
|
+
---
|
|
375
|
+
|
|
376
|
+
## 8. 从 Spec-Lite 升级到 Spec-Full
|
|
377
|
+
|
|
378
|
+
如果在 Spec-Lite 执行中发现:
|
|
379
|
+
|
|
380
|
+
- 涉及数据模型变动;
|
|
381
|
+
- 涉及对外 API 变动;
|
|
382
|
+
- 与 invariants 无法同时满足;
|
|
383
|
+
|
|
384
|
+
则 AI 应建议将本 RT 升级为 Spec-Full:
|
|
385
|
+
|
|
386
|
+
1. 补充完整的 `spec.md` 与 `plan.md`;
|
|
387
|
+
2. 将已有的 `spec-lite` / `plan-lite` 内容迁移或引用到新的文档;
|
|
388
|
+
3. 对数据模型和 contracts 进行补充;
|
|
389
|
+
4. 对 tasks 和 checklists 进行补足。
|
|
390
|
+
|
|
391
|
+
升级过程应在 `changelog.md` 中明确记录。
|
|
@@ -0,0 +1,313 @@
|
|
|
1
|
+
# Spec-Lite Profile Specification
|
|
2
|
+
(原 TPCW 第二 / 三阶段的 AODW 化精简版)
|
|
3
|
+
|
|
4
|
+
Spec-Lite Profile 用于处理小范围变更,例如:
|
|
5
|
+
|
|
6
|
+
- bug 修复;
|
|
7
|
+
- 单个模块的小改进;
|
|
8
|
+
- 简单的 UI 或交互调整;
|
|
9
|
+
- 不涉及数据结构与 API 契约变更的工作。
|
|
10
|
+
|
|
11
|
+
Spec-Lite 保持与 Spec-Full 类似的文档结构,但采用更精简的模板和流程。
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
## 1. 文件结构
|
|
16
|
+
|
|
17
|
+
在 `RT/RT-XXX/` 目录下,Spec-Lite 将使用以下文件:
|
|
18
|
+
|
|
19
|
+
```text
|
|
20
|
+
RT/RT-XXX/
|
|
21
|
+
spec-lite.md ← 需求与场景描述(精简版 spec)
|
|
22
|
+
plan-lite.md ← 技术方案(精简版 plan)
|
|
23
|
+
impact.md ← 影响分析
|
|
24
|
+
invariants.md ← 不可破坏行为 / 边界
|
|
25
|
+
tests.md ← 测试点列表
|
|
26
|
+
changelog.md ← 本次改动对系统行为的总结
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
这些文件由 AI 主导创建与维护。
|
|
30
|
+
|
|
31
|
+
---
|
|
32
|
+
|
|
33
|
+
## 2. 流程概览
|
|
34
|
+
|
|
35
|
+
1. RT-Manager 完成 Intake 与 Profile 决策(Spec-Lite);
|
|
36
|
+
|
|
37
|
+
2. **创建并切换到 feature 分支**(强制步骤)
|
|
38
|
+
- 生成分支名:`feature/RT-{seq}-{short-name}`
|
|
39
|
+
- 执行:`git checkout -b feature/RT-XXX-xxx`
|
|
40
|
+
- 验证:`git branch` 显示 `* feature/RT-XXX-xxx`
|
|
41
|
+
- **在此步骤完成前,严禁修改任何代码**
|
|
42
|
+
|
|
43
|
+
3. AI 基于 Intake 信息与现有代码结构,自动生成初版:
|
|
44
|
+
- `spec-lite.md`
|
|
45
|
+
- **需求阶段审计**(必须):`spec-lite.md` 生成后,自动执行需求阶段审计官
|
|
46
|
+
- `plan-lite.md`
|
|
47
|
+
- **需求阶段审计**(必须):`plan-lite.md` 生成后,自动执行需求阶段审计官(包含 CSF 审查)
|
|
48
|
+
|
|
49
|
+
> **UI 任务特殊处理**:如果 RT 被识别为 UI 相关任务,在 `plan-lite.md` 中必须包含 UI 专用流程步骤(规则文件读取、UI 结构与设计说明、**静态 HTML 原型生成(必须在 `RT/RT-XXX/docs/ui-prototype.html` 创建文件)**、**用户确认(强制门禁)**、UI 审查、UI 实现)。详细规则请参考 `.aodw/02-workflow/ui-workflow-rules.md`
|
|
50
|
+
|
|
51
|
+
> ⚠️ **关键要求**:UI 相关任务**必须**创建 HTML 原型文件 `RT/RT-XXX/docs/ui-prototype.html`,并**必须**获得用户确认后才能进入实现阶段。
|
|
52
|
+
|
|
53
|
+
> [!IMPORTANT] 🛑 强制暂停点 (Mandatory Stop)
|
|
54
|
+
> **在此处必须停止并呼叫用户 (Call notify_user)**。
|
|
55
|
+
> 展示 Plan 摘要,并询问:"计划已就绪,是否批准执行?"
|
|
56
|
+
> **严禁**在未获用户批准的情况下直接进入下一步(生成 impact/invariants 或修改代码)。
|
|
57
|
+
|
|
58
|
+
4. 在修改代码前,AI 必须生成或更新:
|
|
59
|
+
- `impact.md`
|
|
60
|
+
- **需求阶段审计**(必须):`impact.md` 生成后,自动执行需求阶段审计官
|
|
61
|
+
- `invariants.md`
|
|
62
|
+
- **需求阶段审计**(必须):`invariants.md` 生成后,自动执行需求阶段审计官
|
|
63
|
+
|
|
64
|
+
5. **开发准备(Dev Ready)**
|
|
65
|
+
- [ ] **工具已初始化**:检查 `.aodw/tools-status.yaml` 中 `initialized: true`
|
|
66
|
+
- [ ] **编码规范已加载**:
|
|
67
|
+
- [ ] 如果涉及前端:已读取 `.aodw/03-standards/stacks/react-typescript/ai-coding-rules-frontend.md`
|
|
68
|
+
- [ ] 如果涉及后端:已读取 `.aodw/03-standards/stacks/python-fastapi/ai-coding-rules-backend.md`
|
|
69
|
+
- [ ] 已读取 `.aodw/03-standards/ai-coding-rules-common.md`(通用规范)
|
|
70
|
+
|
|
71
|
+
6. **在 feature 分支上**实现代码修改
|
|
72
|
+
|
|
73
|
+
> [!CAUTION] 🛑 最后的防线 (Last Line of Defense)
|
|
74
|
+
> **立即执行** `git branch --show-current`。
|
|
75
|
+
> 如果结果不是 `feature/RT-XXX-xxx`:
|
|
76
|
+
> 1. **立即停止**任何写入操作。
|
|
77
|
+
> 2. 向用户报错:"严重错误:尝试在非 Feature 分支上修改代码。"
|
|
78
|
+
> 3. **严禁**尝试"静默修复"或"自动切换",必须显式通知用户。
|
|
79
|
+
- **开始修改前再次验证**:`git status` 确认在正确的分支上
|
|
80
|
+
- 如果不在 feature 分支,立即停止并切换到正确分支
|
|
81
|
+
- **开发过程中**:
|
|
82
|
+
- 必须遵守项目编码规范(前端/后端)
|
|
83
|
+
- 必须通过工具自动检查(ESLint / Ruff / Black)
|
|
84
|
+
- 必须符合 plan-lite.md 中设计的代码结构与分层
|
|
85
|
+
|
|
86
|
+
7. **开发结束前自检**
|
|
87
|
+
- [ ] **运行 Lint 检查**:
|
|
88
|
+
- 前端:`npm run lint` 或 `npx eslint .`
|
|
89
|
+
- 后端:`ruff check .`
|
|
90
|
+
- [ ] **运行格式化检查**:
|
|
91
|
+
- 前端:`npm run format` 或 `npx prettier --write .`
|
|
92
|
+
- 后端:`black .`
|
|
93
|
+
- [ ] **文件大小和复杂度符合规范**(参考 `.aodw/03-standards/ai-coding-rules-common.md`)
|
|
94
|
+
|
|
95
|
+
8. **开发阶段审计**(必须)
|
|
96
|
+
- 代码实现完成后,**必须**自动执行开发阶段审计官
|
|
97
|
+
- 审计结果记录在 `RT/RT-XXX/development-audit-report.md`
|
|
98
|
+
- 如果发现阻断性问题,**必须停止流程**,要求用户修复
|
|
99
|
+
- 详细规范:详见 `.aodw/04-auditors/aodw-development-auditor-rules.md`
|
|
100
|
+
|
|
101
|
+
9. 实现完成后,AI 必须更新:
|
|
102
|
+
- `tests.md`
|
|
103
|
+
- `changelog.md`
|
|
104
|
+
|
|
105
|
+
9. 最后通过 Git Discipline 完成合并与收尾。
|
|
106
|
+
|
|
107
|
+
**分支管理强制要求**:
|
|
108
|
+
- 所有代码修改必须在 feature 分支上进行
|
|
109
|
+
- 严禁在 master/main 分支直接修改代码
|
|
110
|
+
- 在开始修改代码前必须验证当前分支
|
|
111
|
+
|
|
112
|
+
---
|
|
113
|
+
|
|
114
|
+
## 3. spec-lite.md 模板
|
|
115
|
+
|
|
116
|
+
推荐模板结构如下:
|
|
117
|
+
|
|
118
|
+
```markdown
|
|
119
|
+
# Spec-Lite: RT-XXX - <short title>
|
|
120
|
+
|
|
121
|
+
## 1. 背景(Context)
|
|
122
|
+
- 当前存在的问题 / 需求:
|
|
123
|
+
- 触发端(用户操作 / 定时任务 / API 调用 等):
|
|
124
|
+
|
|
125
|
+
## 2. 目标(Goal)
|
|
126
|
+
- 本次改动希望达到的效果(用户视角 / 业务视角):
|
|
127
|
+
|
|
128
|
+
## 3. 当前行为(Current Behavior)
|
|
129
|
+
- 当前系统在相关场景下的行为说明:
|
|
130
|
+
|
|
131
|
+
## 4. 期望行为(Desired Behavior)
|
|
132
|
+
- 修改后在相同场景下的预期行为:
|
|
133
|
+
- 与当前行为的差异(如有):
|
|
134
|
+
|
|
135
|
+
## 5. 影响范围(Scope)
|
|
136
|
+
- 涉及的模块 / 文件 / API:
|
|
137
|
+
- 预期不应受影响的模块 / 功能:
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
AI 在生成 spec-lite 时,应尽量使用清晰且业务友好的描述。
|
|
141
|
+
|
|
142
|
+
---
|
|
143
|
+
|
|
144
|
+
## 4. plan-lite.md 模板
|
|
145
|
+
|
|
146
|
+
推荐结构:
|
|
147
|
+
|
|
148
|
+
```markdown
|
|
149
|
+
# Plan-Lite: RT-XXX - <short title>
|
|
150
|
+
|
|
151
|
+
## 1. 修改点(Change Points)
|
|
152
|
+
- 计划修改的模块 / 文件路径:
|
|
153
|
+
- e.g. apps/api/src/orders/order_service.ts
|
|
154
|
+
- e.g. apps/web/src/features/orders/OrderList.tsx
|
|
155
|
+
|
|
156
|
+
## 2. 方案描述(Solution Outline)
|
|
157
|
+
- 简要描述计划采取的技术方案:
|
|
158
|
+
- 调整哪一层的逻辑(Controller / Service / Repository / UI 等)
|
|
159
|
+
- 是否引入新函数 / 新类 / 新组件
|
|
160
|
+
- 是否删除 / 废弃某些路径
|
|
161
|
+
|
|
162
|
+
## 3. 代码结构与分层设计(必须)
|
|
163
|
+
|
|
164
|
+
> **注意**:即使是 Spec-Lite,也必须明确代码结构与分层设计,确保符合项目编码规范(`.aodw/03-standards/stacks/react-typescript/ai-coding-rules-frontend.md` 或 `.aodw/03-standards/stacks/python-fastapi/ai-coding-rules-backend.md`)。
|
|
165
|
+
|
|
166
|
+
### 3.1 修改的文件与结构
|
|
167
|
+
- **前端**(如涉及):
|
|
168
|
+
- 修改文件:`src/pages/XXX/Component.tsx`
|
|
169
|
+
- 目录结构:是否符合 pages / features / shared 规范?
|
|
170
|
+
- 组件拆分:是否需要拆分?拆分后的结构?
|
|
171
|
+
- **后端**(如涉及):
|
|
172
|
+
- 修改文件:`app/api/v1/xxx.py`、`app/services/xxx_service.py`
|
|
173
|
+
- 分层架构:是否符合 api → services → repositories 规范?
|
|
174
|
+
- 依赖关系:是否跨层调用?
|
|
175
|
+
|
|
176
|
+
### 3.2 编码规范符合性说明
|
|
177
|
+
- **前端**(如涉及):
|
|
178
|
+
- [ ] 目录结构符合规范
|
|
179
|
+
- [ ] 文件大小符合规范(页面 ≤ 300 行,组件 ≤ 200 行)
|
|
180
|
+
- **后端**(如涉及):
|
|
181
|
+
- [ ] 分层架构符合规范
|
|
182
|
+
- [ ] 文件大小符合规范(模块 ≤ 300 行,函数 ≤ 60 行)
|
|
183
|
+
|
|
184
|
+
## 4. 风险与注意事项(Risks & Caveats)
|
|
185
|
+
- 潜在的边界情况:
|
|
186
|
+
- 与其他模块的隐含耦合:
|
|
187
|
+
- 需要特别关注的回归场景:
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
---
|
|
191
|
+
|
|
192
|
+
## 5. impact.md 模板
|
|
193
|
+
|
|
194
|
+
推荐结构:
|
|
195
|
+
|
|
196
|
+
```markdown
|
|
197
|
+
# Impact Analysis: RT-XXX - <short title>
|
|
198
|
+
|
|
199
|
+
## 1. 问题触发点(Trigger)
|
|
200
|
+
- 用户或系统如何触发问题:
|
|
201
|
+
- 典型复现步骤(如已知):
|
|
202
|
+
|
|
203
|
+
## 2. 直接影响(Direct Impact)
|
|
204
|
+
- 受影响的模块 / 文件:
|
|
205
|
+
- 受影响的具体行为:
|
|
206
|
+
|
|
207
|
+
## 3. 间接影响(Indirect Impact)
|
|
208
|
+
- 依赖本模块的上游 / 下游:
|
|
209
|
+
- 可能受影响的其他功能:
|
|
210
|
+
|
|
211
|
+
## 4. 风险评估(Risk Evaluation)
|
|
212
|
+
- 数据损坏风险:
|
|
213
|
+
- 安全风险:
|
|
214
|
+
- 性能风险:
|
|
215
|
+
- 用户体验风险:
|
|
216
|
+
```
|
|
217
|
+
|
|
218
|
+
AI 在开始修改代码前,必须填充或更新本文件。
|
|
219
|
+
|
|
220
|
+
---
|
|
221
|
+
|
|
222
|
+
## 6. invariants.md 模板
|
|
223
|
+
|
|
224
|
+
推荐结构:
|
|
225
|
+
|
|
226
|
+
```markdown
|
|
227
|
+
# Invariants: RT-XXX - <short title>
|
|
228
|
+
|
|
229
|
+
> 本文件列出在本次改动中必须保持不变的行为与约束。
|
|
230
|
+
|
|
231
|
+
## 1. 业务行为 Invariants
|
|
232
|
+
- 不改变的业务规则:
|
|
233
|
+
- 不改变的用户流程:
|
|
234
|
+
|
|
235
|
+
## 2. 接口 Invariants
|
|
236
|
+
- 不改变的 API 路径:
|
|
237
|
+
- 不改变的请求 / 响应格式:
|
|
238
|
+
- 不改变的错误码语义:
|
|
239
|
+
|
|
240
|
+
## 3. 技术结构 Invariants
|
|
241
|
+
- 不允许绕过的中间层:
|
|
242
|
+
- 不允许使用的捷径(例如直接访问某些内部接口):
|
|
243
|
+
```
|
|
244
|
+
|
|
245
|
+
如果在方案设计过程中发现无法同时满足 invariants 与需求,AI 应提示用户考虑:
|
|
246
|
+
|
|
247
|
+
- 升级为 Spec-Full;
|
|
248
|
+
- 或通过新的 RT 对 invariants 本身进行修正。
|
|
249
|
+
|
|
250
|
+
---
|
|
251
|
+
|
|
252
|
+
## 7. tests.md 模板
|
|
253
|
+
|
|
254
|
+
推荐结构:
|
|
255
|
+
|
|
256
|
+
```markdown
|
|
257
|
+
# Tests: RT-XXX - <short title>
|
|
258
|
+
|
|
259
|
+
## 1. 新增测试用例(New Tests)
|
|
260
|
+
- [ ] 用例 1 描述(对应文件路径)
|
|
261
|
+
- [ ] 用例 2 描述(对应文件路径)
|
|
262
|
+
|
|
263
|
+
## 2. 回归测试(Regression)
|
|
264
|
+
- [ ] 回归用例 1(原始功能点描述)
|
|
265
|
+
- [ ] 回归用例 2
|
|
266
|
+
|
|
267
|
+
## 3. 手动验证建议(Manual Checks)
|
|
268
|
+
- [ ] 手动步骤 1
|
|
269
|
+
- [ ] 手动步骤 2
|
|
270
|
+
```
|
|
271
|
+
|
|
272
|
+
AI 负责在实现前后补全这些内容,并在适当情况下生成实际测试代码。
|
|
273
|
+
|
|
274
|
+
---
|
|
275
|
+
|
|
276
|
+
## 8. changelog.md 模板
|
|
277
|
+
|
|
278
|
+
推荐结构:
|
|
279
|
+
|
|
280
|
+
```markdown
|
|
281
|
+
# Changelog: RT-XXX - <short title>
|
|
282
|
+
|
|
283
|
+
## 1. 变更摘要(Summary)
|
|
284
|
+
- 概述本次改动对系统行为带来的变化:
|
|
285
|
+
|
|
286
|
+
## 2. 用户可感知变化(User-visible Changes)
|
|
287
|
+
- UI / 文案 / 流程上的变化:
|
|
288
|
+
|
|
289
|
+
## 3. 不可见但重要的变化(Non-visible but Important)
|
|
290
|
+
- 内部逻辑的重构:
|
|
291
|
+
- 性能改善:
|
|
292
|
+
- 错误处理方式的调整:
|
|
293
|
+
|
|
294
|
+
## 4. 与其他 RT / 模块的关系
|
|
295
|
+
- 本 RT 依赖的其他 RT:
|
|
296
|
+
- 将来可能需要跟进的 RT:
|
|
297
|
+
```
|
|
298
|
+
|
|
299
|
+
完成后,changelog.md 可作为未来调试或审计的重要参考。
|
|
300
|
+
|
|
301
|
+
---
|
|
302
|
+
|
|
303
|
+
## 9. 与 Git Discipline 的关系
|
|
304
|
+
|
|
305
|
+
Spec-Lite 的完成阶段应始终由统一的 Git Discipline 规则约束:
|
|
306
|
+
|
|
307
|
+
- 在 feature 分支上完成所有工作;
|
|
308
|
+
- 提交信息包含 `Refs: RT-XXX`;
|
|
309
|
+
- 合并前确保 tests.md 中关键测试已执行;
|
|
310
|
+
- 合并后打标签、清理分支;
|
|
311
|
+
- RT 状态更新为 `done`。
|
|
312
|
+
|
|
313
|
+
Spec-Lite 应尽量保持流程轻量,但不牺牲可追踪性和可回滚性。
|