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.
Files changed (188) hide show
  1. package/.aodw/01-core/ai-interaction-rules.md +218 -0
  2. package/.aodw/01-core/ai-knowledge-rules.md +302 -0
  3. package/.aodw/01-core/ai-project-overview-rules.md +284 -0
  4. package/.aodw/01-core/aodw-constitution-summary.md +20 -0
  5. package/.aodw/01-core/aodw-constitution.md +419 -0
  6. package/.aodw/01-core/csf-thinking-framework.md +373 -0
  7. package/.aodw/01-core/git-discipline.md +226 -0
  8. package/.aodw/01-core/module-doc-rules.md +90 -0
  9. package/.aodw/02-workflow/aodw-development-stages.md +235 -0
  10. package/.aodw/02-workflow/rt-id-generation-rules.md +267 -0
  11. package/.aodw/02-workflow/rt-manager-summary.md +15 -0
  12. package/.aodw/02-workflow/rt-manager.md +399 -0
  13. package/.aodw/02-workflow/spec-full-profile-summary.md +13 -0
  14. package/.aodw/02-workflow/spec-full-profile.md +391 -0
  15. package/.aodw/02-workflow/spec-lite-profile.md +313 -0
  16. package/.aodw/02-workflow/ui-workflow-rules.md +334 -0
  17. package/.aodw/03-standards/ai-coding-rules-common.md +89 -0
  18. package/.aodw/03-standards/ai-coding-rules.md +370 -0
  19. package/.aodw/03-standards/stacks/java-springboot/ai-coding-rules-backend.md +100 -0
  20. package/.aodw/03-standards/stacks/python-fastapi/ai-coding-rules-backend.md +612 -0
  21. package/.aodw/03-standards/stacks/react-typescript/ai-coding-rules-frontend.md +291 -0
  22. package/.aodw/03-standards/stacks/vue2/ai-coding-rules-frontend.md +97 -0
  23. package/.aodw/03-standards/ui-kit/ui-kit.md +163 -0
  24. package/.aodw/04-auditors/aodw-development-auditor-rules.md +470 -0
  25. package/.aodw/04-auditors/aodw-full-auditor-rules.md +365 -0
  26. package/.aodw/04-auditors/aodw-requirement-auditor-rules.md +408 -0
  27. package/.aodw/05-tooling/ai-tools-init-rules.md +465 -0
  28. package/.aodw/06-project/ai-overview.md +116 -0
  29. package/.aodw/06-project/modules-index.yaml +11 -0
  30. package/.aodw/07-optimization/token-usage-analysis.md +253 -0
  31. package/.aodw/README.md +26 -0
  32. package/.aodw/RELEASE-CHECKLIST.md +144 -0
  33. package/.aodw/config.yaml +2 -0
  34. package/.aodw/manifest.yaml +98 -0
  35. package/.aodw/templates/SOURCE-TO-DISTRIBUTION-GUIDE.md +276 -0
  36. package/.aodw/templates/TEMPLATE-APPLICATION-GUIDE.md +246 -0
  37. package/.aodw/templates/aodw-kernel-loader-template.md +70 -0
  38. package/.aodw/templates/audit-report-template.md +232 -0
  39. package/.aodw/templates/changelog-template.md +16 -0
  40. package/.aodw/templates/checklists/coding-standards-template.md +110 -0
  41. package/.aodw/templates/csf-review-template.md +201 -0
  42. package/.aodw/templates/impact-template.md +17 -0
  43. package/.aodw/templates/invariants-template.md +12 -0
  44. package/.aodw/templates/module-readme-template.md +39 -0
  45. package/.aodw/templates/plan-lite-template.md +11 -0
  46. package/.aodw/templates/rt-decision-template.md +13 -0
  47. package/.aodw/templates/rt-intake-template.md +33 -0
  48. package/.aodw/templates/rt-meta-template.yaml +43 -0
  49. package/.aodw/templates/spec-lite-template.md +17 -0
  50. package/.aodw/templates/tests-template.md +13 -0
  51. package/.aodw/templates/tools-config/README.md +80 -0
  52. package/.aodw/templates/tools-config/backend/black.config.template.toml +6 -0
  53. package/.aodw/templates/tools-config/backend/pre-commit.config.template.yaml +16 -0
  54. package/.aodw/templates/tools-config/backend/ruff.config.template.toml +23 -0
  55. package/.aodw/templates/tools-config/frontend/eslint.config.template.json +113 -0
  56. package/.aodw/templates/tools-config/frontend/prettier.config.template.json +10 -0
  57. package/.aodw/templates/tools-config/frontend/tsconfig.paths.template.json +11 -0
  58. package/.aodw/workflow-guide.md +51 -0
  59. package/AODW_Adapters/README.md +143 -0
  60. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/.agent/rules/aodw-check.md +7 -0
  61. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/.agent/rules/aodw-done.md +7 -0
  62. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/.agent/rules/aodw-full.md +7 -0
  63. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/.agent/rules/aodw-governance.md +7 -0
  64. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/.agent/rules/aodw-impact.md +7 -0
  65. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/.agent/rules/aodw-init.md +7 -0
  66. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/.agent/rules/aodw-invariants.md +7 -0
  67. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/.agent/rules/aodw-lite.md +7 -0
  68. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/.agent/rules/aodw-module.md +7 -0
  69. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/.agent/rules/aodw-new.md +7 -0
  70. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/.agent/rules/aodw-open.md +7 -0
  71. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/.agent/rules/aodw-pause.md +7 -0
  72. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/.agent/rules/aodw-resume.md +7 -0
  73. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/.agent/rules/aodw-tests.md +7 -0
  74. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/.agent/rules/aodw-upgrade.md +7 -0
  75. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/.agent/rules/aodw.md +35 -0
  76. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/global_workflows/aodw-check.md +16 -0
  77. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/global_workflows/aodw-done.md +16 -0
  78. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/global_workflows/aodw-full.md +14 -0
  79. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/global_workflows/aodw-governance.md +13 -0
  80. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/global_workflows/aodw-impact.md +13 -0
  81. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/global_workflows/aodw-init.md +13 -0
  82. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/global_workflows/aodw-invariants.md +13 -0
  83. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/global_workflows/aodw-lite.md +14 -0
  84. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/global_workflows/aodw-module.md +13 -0
  85. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/global_workflows/aodw-new.md +30 -0
  86. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/global_workflows/aodw-open.md +10 -0
  87. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/global_workflows/aodw-pause.md +12 -0
  88. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/global_workflows/aodw-resume.md +12 -0
  89. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/global_workflows/aodw-tests.md +13 -0
  90. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/global_workflows/aodw-upgrade.md +12 -0
  91. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/global_workflows/aodw.md +18 -0
  92. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/claude/CLAUDE.md +17 -0
  93. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/cursor/.cursor/commands/aodw-check.md +30 -0
  94. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/cursor/.cursor/commands/aodw-done.md +52 -0
  95. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/cursor/.cursor/commands/aodw-full.md +31 -0
  96. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/cursor/.cursor/commands/aodw-governance.md +34 -0
  97. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/cursor/.cursor/commands/aodw-impact.md +25 -0
  98. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/cursor/.cursor/commands/aodw-init.md +75 -0
  99. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/cursor/.cursor/commands/aodw-invariants.md +29 -0
  100. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/cursor/.cursor/commands/aodw-lite.md +23 -0
  101. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/cursor/.cursor/commands/aodw-module.md +24 -0
  102. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/cursor/.cursor/commands/aodw-new.md +70 -0
  103. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/cursor/.cursor/commands/aodw-open.md +19 -0
  104. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/cursor/.cursor/commands/aodw-pause.md +19 -0
  105. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/cursor/.cursor/commands/aodw-resume.md +20 -0
  106. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/cursor/.cursor/commands/aodw-tests.md +26 -0
  107. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/cursor/.cursor/commands/aodw-upgrade.md +27 -0
  108. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/cursor/.cursor/commands/aodw.md +69 -0
  109. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/cursor/.cursor/commands/deploypromote.md +20 -0
  110. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/cursor/.cursor/commands/featuretotester.md +32 -0
  111. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/cursor/.cursor/deploy/feature_to_master_push_test_local.sh +390 -0
  112. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/cursor/.cursor/deploy/promote_only.sh +210 -0
  113. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/cursor/.cursor/deploy/rollback_prod.sh +99 -0
  114. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/cursor/.cursor/rules/aodw.mdc +26 -0
  115. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/gemini/.agent/rules/aodw-check.md +29 -0
  116. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/gemini/.agent/rules/aodw-done.md +52 -0
  117. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/gemini/.agent/rules/aodw-full.md +30 -0
  118. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/gemini/.agent/rules/aodw-governance.md +33 -0
  119. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/gemini/.agent/rules/aodw-impact.md +24 -0
  120. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/gemini/.agent/rules/aodw-init.md +75 -0
  121. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/gemini/.agent/rules/aodw-invariants.md +28 -0
  122. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/gemini/.agent/rules/aodw-lite.md +22 -0
  123. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/gemini/.agent/rules/aodw-module.md +23 -0
  124. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/gemini/.agent/rules/aodw-new.md +92 -0
  125. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/gemini/.agent/rules/aodw-open.md +18 -0
  126. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/gemini/.agent/rules/aodw-pause.md +18 -0
  127. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/gemini/.agent/rules/aodw-resume.md +19 -0
  128. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/gemini/.agent/rules/aodw-tests.md +25 -0
  129. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/gemini/.agent/rules/aodw-upgrade.md +26 -0
  130. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/gemini/.agent/rules/aodw.md +68 -0
  131. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/gemini/GEMINI.md +17 -0
  132. package/AODW_Adapters/_backup/v4.0.0-simplified/antigravity/.agent/rules/aodw-analyze.md +15 -0
  133. package/AODW_Adapters/_backup/v4.0.0-simplified/antigravity/.agent/rules/aodw-complete.md +15 -0
  134. package/AODW_Adapters/_backup/v4.0.0-simplified/antigravity/.agent/rules/aodw-control.md +14 -0
  135. package/AODW_Adapters/_backup/v4.0.0-simplified/antigravity/.agent/rules/aodw-decide.md +16 -0
  136. package/AODW_Adapters/_backup/v4.0.0-simplified/antigravity/.agent/rules/aodw-governance.md +7 -0
  137. package/AODW_Adapters/_backup/v4.0.0-simplified/antigravity/.agent/rules/aodw-implement.md +16 -0
  138. package/AODW_Adapters/_backup/v4.0.0-simplified/antigravity/.agent/rules/aodw-init.md +7 -0
  139. package/AODW_Adapters/_backup/v4.0.0-simplified/antigravity/.agent/rules/aodw-intake.md +15 -0
  140. package/AODW_Adapters/_backup/v4.0.0-simplified/antigravity/.agent/rules/aodw-open.md +7 -0
  141. package/AODW_Adapters/_backup/v4.0.0-simplified/antigravity/.agent/rules/aodw-simplified.md +107 -0
  142. package/AODW_Adapters/_backup/v4.0.0-simplified/antigravity/.agent/rules/aodw-verify.md +14 -0
  143. package/AODW_Adapters/_backup/v4.0.0-simplified/antigravity/global_workflows/aodw-analyze.md +24 -0
  144. package/AODW_Adapters/_backup/v4.0.0-simplified/antigravity/global_workflows/aodw-complete.md +23 -0
  145. package/AODW_Adapters/_backup/v4.0.0-simplified/antigravity/global_workflows/aodw-control.md +21 -0
  146. package/AODW_Adapters/_backup/v4.0.0-simplified/antigravity/global_workflows/aodw-decide.md +26 -0
  147. package/AODW_Adapters/_backup/v4.0.0-simplified/antigravity/global_workflows/aodw-governance.md +13 -0
  148. package/AODW_Adapters/_backup/v4.0.0-simplified/antigravity/global_workflows/aodw-implement.md +21 -0
  149. package/AODW_Adapters/_backup/v4.0.0-simplified/antigravity/global_workflows/aodw-init.md +13 -0
  150. package/AODW_Adapters/_backup/v4.0.0-simplified/antigravity/global_workflows/aodw-intake.md +28 -0
  151. package/AODW_Adapters/_backup/v4.0.0-simplified/antigravity/global_workflows/aodw-open.md +10 -0
  152. package/AODW_Adapters/_backup/v4.0.0-simplified/antigravity/global_workflows/aodw-verify.md +20 -0
  153. package/AODW_Adapters/_backup/v4.0.0-simplified/antigravity/global_workflows/aodw.md +18 -0
  154. package/AODW_Adapters/antigravity/.agent/rules/aodw.md +74 -0
  155. package/AODW_Adapters/claude/CLAUDE.md +70 -0
  156. package/AODW_Adapters/cursor/.cursor/commands/README.md +37 -0
  157. package/AODW_Adapters/cursor/.cursor/rules/aodw.mdc +77 -0
  158. package/AODW_Adapters/gemini/.agent/rules/aodw-analyze.md +15 -0
  159. package/AODW_Adapters/gemini/.agent/rules/aodw-complete.md +15 -0
  160. package/AODW_Adapters/gemini/.agent/rules/aodw-control.md +14 -0
  161. package/AODW_Adapters/gemini/.agent/rules/aodw-decide.md +16 -0
  162. package/AODW_Adapters/gemini/.agent/rules/aodw-governance.md +33 -0
  163. package/AODW_Adapters/gemini/.agent/rules/aodw-implement.md +16 -0
  164. package/AODW_Adapters/gemini/.agent/rules/aodw-init.md +75 -0
  165. package/AODW_Adapters/gemini/.agent/rules/aodw-intake.md +15 -0
  166. package/AODW_Adapters/gemini/.agent/rules/aodw-open.md +18 -0
  167. package/AODW_Adapters/gemini/.agent/rules/aodw-verify.md +14 -0
  168. package/AODW_Adapters/gemini/.agent/rules/aodw.md +70 -0
  169. package/AODW_Adapters/gemini/GEMINI.md +17 -0
  170. package/AODW_Adapters/general/.github/copilot-instructions.md +34 -0
  171. package/AODW_Adapters/general/AGENTS.md +70 -0
  172. package/README.md +118 -0
  173. package/bin/aodw.js +627 -0
  174. package/bin/commands/init-overview.js +801 -0
  175. package/bin/commands/init-tools.js +811 -0
  176. package/bin/commands/new.js +235 -0
  177. package/bin/commands/serve.js +79 -0
  178. package/bin/processors/index.js +109 -0
  179. package/bin/update-adapters-from-template.js +89 -0
  180. package/bin/utils/config.js +56 -0
  181. package/docs/README.md +26 -0
  182. package/docs/adapter-evaluation.md +55 -0
  183. package/docs/backend-guidelines.md +335 -0
  184. package/docs/frontend-guidelines.md +266 -0
  185. package/docs/installation-variants.md +88 -0
  186. package/docs/migration-guide-0.2.0.md +250 -0
  187. package/docs/platform-matrix.md +83 -0
  188. package/package.json +40 -0
@@ -0,0 +1,235 @@
1
+ # AODW 开发阶段分析
2
+
3
+ ## 阶段总览
4
+
5
+ AODW 将开发过程分为 7 个主要阶段,对应 RT 状态机:created → intaking → decided → in-progress → reviewing → done
6
+
7
+ ---
8
+
9
+ ## 阶段 1: Intake(立项)
10
+
11
+ **状态转换**: created → intaking → decided
12
+
13
+ **主要任务**:
14
+ - 生成 RT-ID(RT-{seq})
15
+ - 创建 RT 目录结构(RT/RT-XXX/)
16
+ - 通过交互式提问收集需求信息
17
+ - 记录原始描述、问题与答案
18
+ - 初步判断需求类型(Feature/Bug/Enhancement/Refactor/Research)
19
+
20
+ **阶段目标**: 明确需求范围、风险等级、影响模块估计,为 Profile 决策做准备
21
+
22
+ **输出物**:
23
+ - `RT/RT-XXX/meta.yaml`(RT 元数据)
24
+ - `RT/RT-XXX/intake.md`(立项记录)
25
+ - `RT/index.yaml`(全局索引更新)
26
+
27
+ **协作方式**:
28
+ - AI: 主动提出澄清问题,每个问题提供 2-5 个选项,给出推荐选项和理由
29
+ - 用户: 选择推荐项或提供简短自定义答案(≤5 词),回答业务相关问题
30
+
31
+ ---
32
+
33
+ ## 阶段 2: Decision(决策)
34
+
35
+ **状态转换**: intaking → decided
36
+
37
+ **主要任务**:
38
+ - 根据 Intake 信息判断复杂度
39
+ - 选择 Spec-Full 或 Spec-Lite profile
40
+ - 创建 feature 分支(feature/RT-XXX-{short-name})
41
+ - 切换到 feature 分支并验证
42
+
43
+ **阶段目标**: 确定开发模式,创建并切换到正确的 feature 分支
44
+
45
+ **输出物**:
46
+ - `RT/RT-XXX/decision.md`(决策记录,包含选择理由)
47
+ - feature 分支(已创建并切换)
48
+
49
+ **协作方式**:
50
+ - AI: 分析复杂度,推荐 Profile(Full/Lite),解释推荐理由,创建分支
51
+ - 用户: 确认推荐方案或显式切换 Profile,确认分支名
52
+
53
+ **关键检查点**: 必须验证当前在 feature 分支上,严禁在 main/master 分支修改代码
54
+
55
+ **CSF 审查(推荐)**: Decision 阶段完成后,建议执行 CSF 审查,验证 Profile 选择是否合理,目标与复杂度是否匹配。详见 `.aodw/01-core/csf-thinking-framework.md`
56
+
57
+ ---
58
+
59
+ ## 阶段 3: Analysis(分析)
60
+
61
+ **状态转换**: decided → in-progress
62
+
63
+ **主要任务**:
64
+ - 影响分析:识别直接/间接影响的模块、文件、功能
65
+ - 不变量检查:列出必须保持不变的行为、接口、约束
66
+ - 风险评估:数据损坏、安全、性能、用户体验风险
67
+
68
+ **阶段目标**: 明确变更边界和约束条件,避免破坏现有功能
69
+
70
+ **输出物**:
71
+ - `RT/RT-XXX/impact.md`(影响分析)
72
+ - `RT/RT-XXX/invariants.md`(不变量清单)
73
+
74
+ **协作方式**:
75
+ - AI: 主导分析,自动识别影响范围,列出不变量
76
+ - 用户: 确认关键约束,补充业务层面的不变量
77
+
78
+ **触发条件**: 在修改代码前必须完成此阶段
79
+
80
+ ---
81
+
82
+ ## 阶段 4: Spec/Plan(规格/计划)
83
+
84
+ **状态**: in-progress
85
+
86
+ **主要任务**:
87
+
88
+ **Spec-Full**:
89
+ - 编写完整需求说明(spec.md):背景、目标、用户故事、功能/非功能需求、成功标准
90
+ - 编写技术实现方案(plan.md):技术背景、方案概览、组件变更、代码结构与分层设计、数据流、风险缓解、分阶段计划
91
+ - 编写数据模型文档(data-model.md,如涉及)
92
+ - 编写契约文档(contracts/,如涉及)
93
+ - 编写任务清单(tasks.md,按 User Story 和 Phase 拆分)
94
+ - 编写质量检查清单(checklists/)
95
+
96
+ **Spec-Lite**:
97
+ - 编写精简需求说明(spec-lite.md):背景、目标、当前/期望行为、影响范围
98
+ - 编写精简技术方案(plan-lite.md):修改点、方案描述、代码结构与分层设计、风险注意事项
99
+
100
+ **阶段目标**: 明确"做什么"和"怎么做",确保方案符合编码规范
101
+
102
+ **输出物**:
103
+ - Spec-Full: `spec.md`, `plan.md`, `data-model.md`, `contracts/`, `tasks.md`, `checklists/`
104
+ - Spec-Lite: `spec-lite.md`, `plan-lite.md`
105
+
106
+ **协作方式**:
107
+ - AI: 基于 Intake 信息自动生成文档,确保符合编码规范(前端/后端)
108
+ - 用户: 审阅 spec/plan,从业务视角确认方案合理性,批准执行计划
109
+
110
+ **关键检查点**: Plan 完成后必须暂停,展示摘要,询问"计划已就绪,是否批准执行?",严禁未获批准前开始修改代码
111
+
112
+ **CSF 审查(必须)**: Plan 完成后,在进入"计划批准"节点前,**必须**执行 CSF 审查。审查重点:验证方案是否直接贡献于目标、分解是否 MECE、识别 CSF、检查端到端关键路径、评估技术方案合理性。详见 `.aodw/01-core/csf-thinking-framework.md`
113
+
114
+ ---
115
+
116
+ ## 阶段 5: Implementation(实现)
117
+
118
+ **状态**: in-progress
119
+
120
+ **主要任务**:
121
+ - 开发准备(Dev Ready):
122
+ - 检查工具已初始化(.aodw/tools-status.yaml)
123
+ - 加载编码规范(前端/后端/通用)
124
+ - 在 feature 分支上实现代码修改:
125
+ - 遵守项目编码规范
126
+ - 通过工具自动检查(ESLint/Ruff/Black)
127
+ - 符合 plan.md 中设计的代码结构与分层
128
+ - 开发结束前自检:
129
+ - 运行 Lint 检查
130
+ - 运行格式化检查
131
+ - 验证文件大小和复杂度符合规范
132
+ - 编写/更新测试文档(tests.md)
133
+ - 更新变更日志(changelog.md)
134
+ - 更新模块文档(如涉及)
135
+
136
+ **阶段目标**: 实现功能,确保代码质量和规范符合性
137
+
138
+ **输出物**:
139
+ - 代码修改(在 feature 分支上)
140
+ - `RT/RT-XXX/tests.md`(测试用例列表)
141
+ - `RT/RT-XXX/changelog.md`(变更总结)
142
+ - 模块 README 更新(如涉及)
143
+
144
+ **协作方式**:
145
+ - AI: 主导代码实现,自动运行检查工具,更新文档,维护 task.md(如需要)
146
+ - 用户: 确认关键实现决策,验证功能是否符合预期
147
+
148
+ **关键检查点**:
149
+ - 每次写代码前必须验证当前在 feature 分支
150
+ - 提交代码前必须展示 git status 和关键 diff,询问"修改已完成,是否提交?"
151
+
152
+ ---
153
+
154
+ ## 阶段 6: Verification(验证)
155
+
156
+ **状态转换**: in-progress → reviewing
157
+
158
+ **主要任务**:
159
+ - 文档一致性检查:
160
+ - spec/plan 是否完整记录了问题→方案→实现过程
161
+ - impact/invariants/tests/changelog 是否完整
162
+ - 数据模型/接口变更是否已更新相关文档
163
+ - 模块文档是否已更新
164
+ - RT 完整性检查:
165
+ - 核心文档是否齐全
166
+ - 过程文档是否在正确位置(RT/RT-XXX/docs/)
167
+ - meta.yaml 与 index.yaml 是否一致
168
+
169
+ **阶段目标**: 确保 RT 文档完整、一致,符合 AODW 规范
170
+
171
+ **输出物**:
172
+ - 验证结果报告
173
+ - 修正后的文档(如发现不一致)
174
+
175
+ **协作方式**:
176
+ - AI: 自动执行一致性检查,发现不一致时主动修正或提示
177
+ - 用户: 确认验证结果,必要时补充信息
178
+
179
+ **CSF 审查(推荐)**: Verification 阶段应执行 CSF 审查,不仅检查文档一致性,还要检查目标达成度、验证端到端关键路径、评估多维决策合理性。详见 `.aodw/01-core/csf-thinking-framework.md`
180
+
181
+ ---
182
+
183
+ ## 阶段 7: Completion(完成)
184
+
185
+ **状态转换**: reviewing → done
186
+
187
+ **主要任务**:
188
+ - 知识蒸馏(Knowledge Distillation):
189
+ - 读取 modules-index.yaml,找到受影响的模块
190
+ - 更新对应的模块文档(docs/modules/*.md)
191
+ - 确认文档与代码一致
192
+ - 提供完成脚本(AI 不得自动执行):
193
+ - 确认在 feature 分支
194
+ - 确认所有改动已提交
195
+ - 切换到主分支并拉取最新代码
196
+ - 合并 feature 分支(--no-ff)
197
+ - 打标签(done-RT-XXX)
198
+ - 推送代码和标签
199
+ - 删除本地 feature 分支
200
+ - 更新 RT 状态为 done
201
+
202
+ **阶段目标**: 完成代码合并,更新全局状态,确保知识库同步
203
+
204
+ **输出物**:
205
+ - 合并后的代码(在主分支)
206
+ - `done-RT-XXX` 标签
207
+ - 更新的模块文档
208
+ - `RT/RT-XXX/meta.yaml`(status: done, closed_at)
209
+ - `RT/index.yaml`(状态更新)
210
+
211
+ **协作方式**:
212
+ - AI: 执行知识蒸馏,提供完整的手动命令脚本,更新 RT 状态
213
+ - 用户: 验证代码质量,验证文档更新,手动执行合并和推送脚本,验证推送结果
214
+
215
+ **关键规则**: AI 禁止自动执行合并、推送、删除分支操作,必须提供脚本由用户手动执行
216
+
217
+ ---
218
+
219
+ ## 状态机总览
220
+
221
+ ```
222
+ created → intaking → decided → in-progress → reviewing → done
223
+ ↓ ↓ ↓ ↓ ↓ ↓
224
+ Intake Intake Decision Analysis/ Verification Completion
225
+ Spec/Plan/
226
+ Implementation
227
+ ```
228
+
229
+ ## 关键原则
230
+
231
+ 1. **分支管理**: 所有代码修改必须在 feature 分支上进行,严禁在 main/master 分支直接修改
232
+ 2. **文档同步**: 文档必须与代码保持同步,文档与代码不一致视为 Bug
233
+ 3. **选项化提问**: AI 所有关键问题应提供选项和推荐,用户只需选择
234
+ 4. **主动推进**: AI 应主动推进流程,不等待具体命令
235
+ 5. **工具无关**: 行为通过仓库文档约束,不依赖特定工具配置
@@ -0,0 +1,267 @@
1
+ # RT-ID 获取规则(强制要求)
2
+
3
+ ⚠️ **关键规则**:AI 在创建新 RT 时,**必须**先检查 `.aodw/config.yaml` 确定开发模式,然后按照相应规则获取 RT-ID。
4
+
5
+ 本文件定义了 AODW 中 RT-ID(Request Ticket ID)的获取规则,确保团队协作时 ID 的唯一性和一致性。
6
+
7
+ ---
8
+
9
+ ## 1. 配置文件检查流程
10
+
11
+ **强制检查步骤**(AI 必须按顺序执行):
12
+
13
+ 1. **读取配置文件**
14
+ - 路径:`.aodw/config.yaml`
15
+ - 必须读取 `mode` 和 `server_url` 字段
16
+
17
+ 2. **确定开发模式**
18
+ - 如果 `mode === 'collaborative'`:协作模式(从远程服务器获取)
19
+ - 如果 `mode === 'independent'` 或未设置:独立模式(本地生成)
20
+ - 如果 `mode` 字段不存在:默认为独立模式
21
+
22
+ 3. **执行相应获取逻辑**
23
+ - 根据模式执行对应的 RT-ID 获取流程(见第 2 节和第 3 节)
24
+
25
+ ---
26
+
27
+ ## 2. 协作模式(Collaborative Mode)
28
+
29
+ **适用场景**:团队协作开发,需要统一的 RT-ID 分配,避免 ID 冲突。
30
+
31
+ **配置要求**:
32
+ ```yaml
33
+ # .aodw/config.yaml
34
+ mode: collaborative
35
+ server_url: http://114.67.218.31:2005 # 或团队自定义服务器地址
36
+ ```
37
+
38
+ **RT-ID 获取流程**:
39
+
40
+ 1. **验证配置**
41
+ - ✅ 检查 `mode === 'collaborative'`
42
+ - ✅ 检查 `server_url` 是否存在且非空
43
+ - ❌ 如果 `server_url` 为空:**立即报错**,提示用户配置服务器地址
44
+
45
+ 2. **调用远程 API**
46
+ - 端点:`{server_url}/api/next-id?project={project_name}`
47
+ - 方法:`GET`
48
+ - 默认服务器:`http://114.67.218.31:2005`
49
+ - ⚠️ **强制要求**:**必须**带上 `project` 参数,否则服务器无法正确分配 ID
50
+ - 项目名获取优先级:
51
+ 1. 命令行参数 `--project <name>`
52
+ 2. `.aodw/project.yaml` 的 `project_name` 字段
53
+ 3. `package.json` 的 `name` 字段
54
+ 4. 当前目录名(fallback)
55
+
56
+ 3. **处理响应**
57
+ - 成功:使用返回的 `id` 字段(格式:`RT-XXX`)
58
+ - 失败:提示错误信息,询问是否降级到本地生成(**不推荐**,可能导致冲突)
59
+
60
+ 4. **本地 vs 服务器 ID 冲突处理**(⚠️ 重要)
61
+
62
+ **问题场景**:服务器返回的 ID 可能小于本地已有的最大 ID(例如离线创建或服务器数据不同步)。
63
+
64
+ **强制规则**:
65
+ - 获取服务器 ID 后,必须与本地最大 ID 比较
66
+ - 如果 `服务器 ID ≤ 本地最大 ID`,则使用 `本地最大 ID + 1`
67
+ - 同时调用服务器 API 更新服务器端的计数器
68
+
69
+ **比较逻辑**:
70
+ ```
71
+ serverSeq = 从服务器 ID 提取序号(如 RT-015 → 15)
72
+ localMaxSeq = 本地 RT/ 目录下最大序号(如已有 RT-016 → 16)
73
+
74
+ if (serverSeq <= localMaxSeq) {
75
+ finalSeq = localMaxSeq + 1
76
+ finalId = `RT-${padStart(finalSeq, 3, '0')}`
77
+ // 调用服务器 API 更新计数器
78
+ syncIdToServer(serverUrl, project, finalSeq)
79
+ } else {
80
+ finalId = 服务器返回的 ID
81
+ }
82
+ ```
83
+
84
+ **服务器同步 API**:
85
+ - 端点:`{server_url}/api/sync-id?project={project_name}&seq={finalSeq}`
86
+ - 方法:`POST`
87
+ - 作用:将服务器计数器更新为 `finalSeq`,确保下次获取的 ID 正确
88
+
89
+ 5. **错误处理**
90
+ - 网络错误:提示检查网络连接和服务器状态
91
+ - 服务器错误:提示联系管理员或检查服务器配置
92
+ - 超时:提示重试或检查服务器状态
93
+ - 同步失败:记录警告,但不阻塞 RT 创建
94
+
95
+ **示例代码逻辑**:
96
+ ```javascript
97
+ if (userConfig.mode === 'collaborative') {
98
+ if (!serverUrl || serverUrl.trim() === '') {
99
+ // 必须报错,不能静默降级
100
+ throw new Error('Collaborative mode requires server_url');
101
+ }
102
+
103
+ // ⚠️ 必须带上项目标识
104
+ // 项目名获取优先级:命令行参数 > .aodw/project.yaml > package.json > 目录名
105
+ const project = getProjectName(); // 必须获取项目标识
106
+
107
+ // 调用远程 API(必须带上 project 参数)
108
+ let serverId = await fetchIdFromServer(serverUrl, project);
109
+ let serverSeq = parseInt(serverId.replace('RT-', ''), 10);
110
+
111
+ // 获取本地最大 ID
112
+ let localMaxSeq = getLocalMaxSeq();
113
+
114
+ // 比较并选择
115
+ if (serverSeq <= localMaxSeq) {
116
+ let finalSeq = localMaxSeq + 1;
117
+ id = `RT-${String(finalSeq).padStart(3, '0')}`;
118
+ console.warn(`服务器 ID (${serverId}) ≤ 本地最大 ID (RT-${localMaxSeq}),使用本地 ID: ${id}`);
119
+
120
+ // 同步到服务器(必须带上 project 参数)
121
+ await syncIdToServer(serverUrl, project, finalSeq);
122
+ } else {
123
+ id = serverId;
124
+ }
125
+ } else {
126
+ // 独立模式:强制本地生成,忽略 server_url
127
+ id = getLocalNextId();
128
+ // 即使配置了 server_url,也不会联网
129
+ }
130
+ ```
131
+
132
+
133
+ ---
134
+
135
+ ## 3. 独立模式(Independent Mode)
136
+
137
+ **适用场景**:个人开发或小团队,不需要统一的 ID 分配。
138
+
139
+ **配置要求**:
140
+ ```yaml
141
+ # .aodw/config.yaml
142
+ mode: independent
143
+ # server_url 即使配置也会被忽略,不会联网
144
+ ```
145
+
146
+ **RT-ID 获取流程**:
147
+
148
+ 1. **强制本地生成**
149
+ - ⚠️ **关键规则**:独立模式下**必须**使用本地生成,**禁止**联网获取
150
+ - 即使配置了 `server_url`,也会被忽略,不会发起任何网络请求
151
+ - 这是为了确保用户选择独立模式后,完全离线工作
152
+
153
+ 2. **本地生成逻辑**
154
+ - 扫描 `RT/` 目录下所有 `RT-XXX` 格式的目录
155
+ - 找到最大序号 `N`
156
+ - 生成新 ID:`RT-{N+1}`(补零到 3 位,如 `RT-001`, `RT-002`)
157
+
158
+ 3. **冲突检查**
159
+ - 如果生成的 ID 对应的目录已存在:递增序号直到找到可用 ID
160
+
161
+ ---
162
+
163
+ ## 4. 决策树(Decision Tree)
164
+
165
+ AI 在创建 RT 时必须遵循以下决策树:
166
+
167
+ ```
168
+ 开始创建 RT
169
+
170
+ 读取 .aodw/config.yaml
171
+
172
+ mode 字段存在?
173
+ ├─ 是 → mode === 'collaborative'?
174
+ │ ├─ 是 → 检查 server_url
175
+ │ │ ├─ 存在且非空 → 调用远程 API 获取 RT-ID
176
+ │ │ └─ 不存在或为空 → ❌ 报错,提示配置服务器
177
+ │ └─ 否 → 独立模式
178
+ │ └─ 本地生成 RT-ID(忽略 server_url)
179
+ └─ 否 → 独立模式(默认)
180
+ └─ 本地生成 RT-ID
181
+ ```
182
+
183
+ ---
184
+
185
+ ## 5. 强制检查清单
186
+
187
+ AI 在获取 RT-ID 前必须完成以下检查:
188
+
189
+ - [ ] ✅ 已读取 `.aodw/config.yaml` 文件
190
+ - [ ] ✅ 已确定 `mode` 字段的值
191
+ - [ ] ✅ 如果是协作模式,已验证 `server_url` 存在且非空
192
+ - [ ] ✅ 已确定项目名称(从 `.aodw/project.yaml` 或目录名获取)
193
+ - [ ] ✅ 已按照决策树执行相应的获取流程
194
+ - [ ] ✅ 已验证获取到的 RT-ID 格式正确(`RT-XXX`)
195
+ - [ ] ✅ 已检查 RT-ID 对应的目录不存在(避免冲突)
196
+
197
+ ---
198
+
199
+ ## 6. 常见错误与处理
200
+
201
+ | 错误情况 | 原因 | 处理方式 |
202
+ | ----------------- | ---------------------- | ------------------------------------------- |
203
+ | `server_url` 为空 | 协作模式下未配置服务器 | ❌ **必须报错**,提示运行 `aodw config` 配置 |
204
+ | 网络连接失败 | 无法访问远程服务器 | 提示检查网络,询问是否降级(警告风险) |
205
+ | 服务器返回错误 | 服务器端问题 | 提示联系管理员,记录错误信息 |
206
+ | 本地目录冲突 | 生成的 ID 已存在 | 自动递增序号,直到找到可用 ID |
207
+
208
+ ---
209
+
210
+ ## 7. 配置示例
211
+
212
+ **协作模式配置**(推荐团队使用):
213
+ ```yaml
214
+ # .aodw/config.yaml
215
+ mode: collaborative
216
+ server_url: http://114.67.218.31:2005
217
+ ```
218
+
219
+ **独立模式配置**(个人开发):
220
+ ```yaml
221
+ # .aodw/config.yaml
222
+ mode: independent
223
+ ```
224
+
225
+ **独立模式配置说明**:
226
+ ```yaml
227
+ # .aodw/config.yaml
228
+ mode: independent
229
+ # server_url 即使配置也会被忽略,不会联网
230
+ ```
231
+
232
+ ---
233
+
234
+ ## 8. 执行规范
235
+
236
+ **AI 必须遵守的规则**:
237
+
238
+ 1. **禁止静默降级**:协作模式下如果 `server_url` 为空,**必须报错**,不能自动降级到本地生成
239
+ 2. **必须检查配置**:创建 RT 前必须先读取 `.aodw/config.yaml`
240
+ 3. **必须验证模式**:根据 `mode` 字段执行对应的获取逻辑
241
+ 4. **独立模式禁止联网**:独立模式下**必须**使用本地生成,**禁止**联网,即使配置了 `server_url` 也要忽略
242
+ 5. **必须带上项目标识**:协作模式下调用服务器 API 时,**必须**带上 `project` 参数,否则服务器无法正确分配 ID
243
+ 6. **必须处理错误**:网络错误或服务器错误时,必须明确提示用户
244
+ 7. **必须验证 ID**:获取到 RT-ID 后,必须验证格式和唯一性
245
+
246
+ **违反规则的后果**:
247
+ - 如果 AI 在协作模式下静默使用本地生成,可能导致团队内 ID 冲突
248
+ - 如果 AI 未检查配置就生成 ID,可能使用错误的模式
249
+
250
+ ---
251
+
252
+ ## 9. 相关文档
253
+
254
+ - `.aodw/02-workflow/rt-manager.md` - RT-Manager 完整规范
255
+ - `.aodw/01-core/aodw-constitution.md` - AODW 宪法(包含 RT-Manager 概述)
256
+ - `cli/bin/commands/new.js` - RT 创建命令实现
257
+
258
+ ---
259
+
260
+ ## 10. 服务器部署
261
+
262
+ 如需部署自己的 RT-ID 服务器,请参考:
263
+ - `cli/DEPLOY.md` - 服务器部署指南
264
+ - `cli/test-server.js` - 服务器测试脚本
265
+ - `cli/TEST-SERVER.md` - 测试文档
266
+
267
+ 默认服务器地址:`http://114.67.218.31:2005`
@@ -0,0 +1,15 @@
1
+ # RT-Manager Summary
2
+
3
+ ## 主要职责
4
+ - RT 编号、目录、分支管理
5
+ - Intake 流程与 Spec-Full/Spec-Lite 分流
6
+ - 状态机维护:created → intakeing → decided → in-progress → reviewing → done
7
+
8
+ ## 强制前置检查
9
+ - 必须在 feature 分支上工作
10
+ - 未切分支不得修改业务代码
11
+
12
+ ## 核心门禁
13
+ - decided → in-progress 前必须具备 spec/plan
14
+ - Plan 完成后必须等待用户确认
15
+ - 提交前必须展示 diff 与 status