amazingteam 3.0.0

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 (164) hide show
  1. package/.ai-team/agents/architect.md +144 -0
  2. package/.ai-team/agents/ci-analyst.md +188 -0
  3. package/.ai-team/agents/developer.md +176 -0
  4. package/.ai-team/agents/planner.md +355 -0
  5. package/.ai-team/agents/qa.md +189 -0
  6. package/.ai-team/agents/reviewer.md +211 -0
  7. package/.ai-team/agents/triage.md +146 -0
  8. package/.ai-team/commands/ci-analyze.md +116 -0
  9. package/.ai-team/commands/design.md +100 -0
  10. package/.ai-team/commands/implement.md +108 -0
  11. package/.ai-team/commands/release-check.md +142 -0
  12. package/.ai-team/commands/review.md +142 -0
  13. package/.ai-team/commands/test.md +115 -0
  14. package/.ai-team/commands/triage.md +138 -0
  15. package/.ai-team/memory/architect/architecture_notes.md +67 -0
  16. package/.ai-team/memory/architect/design_rationale.md +113 -0
  17. package/.ai-team/memory/architect/module_map.md +84 -0
  18. package/.ai-team/memory/ci-analyst/failure_patterns.md +102 -0
  19. package/.ai-team/memory/ci-analyst/runbook_references.md +87 -0
  20. package/.ai-team/memory/developer/bug_investigation.md +102 -0
  21. package/.ai-team/memory/developer/build_issues.md +115 -0
  22. package/.ai-team/memory/developer/implementation_notes.md +83 -0
  23. package/.ai-team/memory/failures/failure_library.md +103 -0
  24. package/.ai-team/memory/planner/decomposition_notes.md +82 -0
  25. package/.ai-team/memory/planner/flow_rules.md +86 -0
  26. package/.ai-team/memory/planner/github_issue_patterns.md +229 -0
  27. package/.ai-team/memory/qa/regression_cases.md +101 -0
  28. package/.ai-team/memory/qa/test_strategy.md +138 -0
  29. package/.ai-team/memory/qa/validation_notes.md +110 -0
  30. package/.ai-team/memory/reviewer/quality_rules.md +105 -0
  31. package/.ai-team/memory/reviewer/recurring_risks.md +109 -0
  32. package/.ai-team/memory/reviewer/review_notes.md +124 -0
  33. package/.ai-team/memory/triage/classification_heuristics.md +82 -0
  34. package/.ai-team/memory/triage/debug_notes.md +87 -0
  35. package/.ai-team/opencode.template.jsonc +216 -0
  36. package/.ai-team/skills/bugfix-playbook/skill.md +174 -0
  37. package/.ai-team/skills/ci-failure-analysis/skill.md +176 -0
  38. package/.ai-team/skills/issue-triage/skill.md +163 -0
  39. package/.ai-team/skills/regression-checklist/skill.md +176 -0
  40. package/.ai-team/skills/release-readiness-check/skill.md +216 -0
  41. package/.ai-team/skills/repo-architecture-reader/skill.md +139 -0
  42. package/.ai-team/skills/safe-refactor-checklist/skill.md +215 -0
  43. package/.ai-team/skills/task-breakdown-and-dispatch/skill.md +151 -0
  44. package/.ai-team/skills/test-first-feature-dev/skill.md +205 -0
  45. package/.ai-team/workflows/ci.yml +81 -0
  46. package/.ai-team/workflows/nightly-ai-maintenance.yml +129 -0
  47. package/.ai-team/workflows/opencode.yml +33 -0
  48. package/.ai-team/workflows/pr-check.yml +41 -0
  49. package/.foundation/foundation.lock +38 -0
  50. package/.foundation/local-overrides.md +97 -0
  51. package/.foundation/upgrade-history.md +38 -0
  52. package/.opencode/agents/architect.md +38 -0
  53. package/.opencode/agents/ci-analyst.md +38 -0
  54. package/.opencode/agents/developer.md +43 -0
  55. package/.opencode/agents/planner.md +47 -0
  56. package/.opencode/agents/qa.md +34 -0
  57. package/.opencode/agents/reviewer.md +38 -0
  58. package/.opencode/agents/triage.md +37 -0
  59. package/.opencode/commands/auto.md +264 -0
  60. package/.opencode/commands/breakdown-issue.md +94 -0
  61. package/.opencode/commands/ci-analyze.md +15 -0
  62. package/.opencode/commands/close-parent-task.md +122 -0
  63. package/.opencode/commands/design.md +15 -0
  64. package/.opencode/commands/dispatch-next.md +102 -0
  65. package/.opencode/commands/implement.md +16 -0
  66. package/.opencode/commands/release-check.md +16 -0
  67. package/.opencode/commands/resume.md +88 -0
  68. package/.opencode/commands/review.md +15 -0
  69. package/.opencode/commands/show-blockers.md +97 -0
  70. package/.opencode/commands/summarize-parent.md +121 -0
  71. package/.opencode/commands/test.md +15 -0
  72. package/.opencode/commands/triage.md +109 -0
  73. package/.opencode/skills/bugfix-playbook/SKILL.md +81 -0
  74. package/.opencode/skills/ci-failure-analysis/SKILL.md +94 -0
  75. package/.opencode/skills/issue-triage/SKILL.md +80 -0
  76. package/.opencode/skills/regression-checklist/SKILL.md +81 -0
  77. package/.opencode/skills/release-readiness-check/SKILL.md +81 -0
  78. package/.opencode/skills/repo-architecture-reader/SKILL.md +65 -0
  79. package/.opencode/skills/safe-refactor-checklist/SKILL.md +76 -0
  80. package/.opencode/skills/task-breakdown-and-dispatch/SKILL.md +255 -0
  81. package/.opencode/skills/test-first-feature-dev/SKILL.md +78 -0
  82. package/AGENTS.md +879 -0
  83. package/CHANGELOG.md +261 -0
  84. package/LICENSE +21 -0
  85. package/README.md +1215 -0
  86. package/VERSION +1 -0
  87. package/action/__tests__/downloader.test.js +251 -0
  88. package/action/__tests__/merger.test.js +156 -0
  89. package/action/__tests__/path-resolver.test.js +199 -0
  90. package/action/__tests__/validator.test.js +310 -0
  91. package/action/action.yml +61 -0
  92. package/action/index.js +223 -0
  93. package/action/lib/downloader.js +344 -0
  94. package/action/lib/merger.js +170 -0
  95. package/action/lib/path-resolver.js +176 -0
  96. package/action/lib/setup.js +286 -0
  97. package/action/lib/validator.js +324 -0
  98. package/cli/__tests__/cli.test.js +270 -0
  99. package/cli/amazingteam.cjs +225 -0
  100. package/cli/commands/check-update.cjs +159 -0
  101. package/cli/commands/init.cjs +412 -0
  102. package/cli/commands/local.cjs +264 -0
  103. package/cli/commands/migrate.cjs +316 -0
  104. package/cli/commands/status.cjs +241 -0
  105. package/cli/commands/upgrade.cjs +213 -0
  106. package/cli/commands/validate.cjs +259 -0
  107. package/cli/commands/version.cjs +59 -0
  108. package/cli/sync.cjs +237 -0
  109. package/dist/index.js +35 -0
  110. package/docs/architecture/overview.md +138 -0
  111. package/docs/blocker_resolution_design.md +372 -0
  112. package/docs/bootstrap-model.md +356 -0
  113. package/docs/config-reference.md +458 -0
  114. package/docs/how-to-use.md +178 -0
  115. package/docs/migration-to-v3.md +355 -0
  116. package/docs/overlay-guide.md +156 -0
  117. package/docs/patterns/README.md +67 -0
  118. package/docs/quick-start-v3.md +330 -0
  119. package/docs/releases/README.md +64 -0
  120. package/docs/runbooks/ci/README.md +62 -0
  121. package/docs/runbooks/ci/build-debug.md +120 -0
  122. package/docs/runbooks/ci/flaky-tests.md +127 -0
  123. package/docs/runbooks/getting-started.md +81 -0
  124. package/docs/upgrade-policy.md +188 -0
  125. package/docs/versioning.md +199 -0
  126. package/overlays/README.md +30 -0
  127. package/overlays/ai-agent-product/.ai-team/skills/llm-integration/skill.md +99 -0
  128. package/overlays/ai-agent-product/docs/ai-agent-architecture.md +68 -0
  129. package/overlays/ai-agent-product/overlay.yaml +26 -0
  130. package/overlays/cpp-qt-desktop/.ai-team/skills/qt-signals-slots/skill.md +60 -0
  131. package/overlays/cpp-qt-desktop/docs/qt-conventions.md +64 -0
  132. package/overlays/cpp-qt-desktop/overlay.yaml +22 -0
  133. package/overlays/python-backend/.ai-team/skills/python-testing/skill.md +90 -0
  134. package/overlays/python-backend/docs/python-style.md +78 -0
  135. package/overlays/python-backend/overlay.yaml +22 -0
  136. package/overlays/web-fullstack/.ai-team/skills/frontend-testing/skill.md +70 -0
  137. package/overlays/web-fullstack/docs/frontend-conventions.md +68 -0
  138. package/overlays/web-fullstack/overlay.yaml +26 -0
  139. package/package.json +84 -0
  140. package/presets/default.yaml +161 -0
  141. package/presets/go.yaml +43 -0
  142. package/presets/python.yaml +43 -0
  143. package/presets/typescript.yaml +40 -0
  144. package/schemas/config.schema.json +239 -0
  145. package/scripts/diff_foundation_vs_project.sh +134 -0
  146. package/scripts/generate_docs.sh +200 -0
  147. package/scripts/init_project.sh +455 -0
  148. package/scripts/plan_upgrade.sh +268 -0
  149. package/scripts/upgrade_foundation.sh +365 -0
  150. package/scripts/validate-foundation.cjs +278 -0
  151. package/scripts/validate_foundation.sh +192 -0
  152. package/scripts/validate_project_setup.sh +171 -0
  153. package/tasks/README.md +94 -0
  154. package/tasks/_template/analysis.md +76 -0
  155. package/tasks/_template/design.md +121 -0
  156. package/tasks/_template/implementation.md +121 -0
  157. package/tasks/_template/release.md +119 -0
  158. package/tasks/_template/review.md +131 -0
  159. package/tasks/_template/subtasks/task.yaml +24 -0
  160. package/tasks/_template/task.yaml +75 -0
  161. package/tasks/_template/validation.md +128 -0
  162. package/templates/amazingteam.yml +81 -0
  163. package/templates/gitignore +14 -0
  164. package/templates/opencode.jsonc +216 -0
package/README.md ADDED
@@ -0,0 +1,1215 @@
1
+ # AmazingTeam
2
+
3
+ **可复用的 AI 开发团队底座** - 基于 OpenCode + GitHub + GitHub Actions 的半自动化软件开发系统。
4
+
5
+ 具备受控的自举能力,支持初始化、验证、规划和升级下游项目。
6
+
7
+ ## 特性
8
+
9
+ - 🤖 **七个 AI 角色**: Planner, Architect, Developer, QA, Reviewer, Triage, CI Analyst
10
+ - 🧠 **分层记忆系统**: 全局记忆、角色记忆、任务记忆、失败库隔离
11
+ - 📋 **任务系统**: task.yaml 任务清单,状态机驱动工作流
12
+ - 🔀 **GitHub Issue 编排**: 大任务分解为子Issue,依赖追踪,逐个派发
13
+ - 🔄 **可升级底座**: 项目开发期间可同步最新模板更新
14
+ - 📦 **开箱即用**: 一键初始化新项目
15
+ - 🔒 **安全可控**: 人工审批保留在关键节点,治理模型保护核心知识
16
+ - 🚀 **受控自举**: 支持初始化、验证、规划、升级,但不会无监管自我修改
17
+
18
+ ## 快速开始
19
+
20
+ ### 方式一:使用 Bootstrap 脚本 (推荐)
21
+
22
+ ```bash
23
+ # 克隆 Foundation
24
+ git clone https://github.com/your-org/amazingteam.git
25
+ cd amazingteam
26
+
27
+ # 初始化新项目
28
+ ./scripts/init_project.sh my-project
29
+
30
+ # 或使用 overlay
31
+ ./scripts/init_project.sh -o python-backend -l python my-api
32
+ ```
33
+
34
+ ### 方式二:作为模板使用
35
+
36
+ ```bash
37
+ # 使用 GitHub Template 创建新仓库
38
+ # 或者克隆此仓库
39
+ git clone https://github.com/your-org/amazingteam.git my-project
40
+ cd my-project
41
+
42
+ # 初始化配置
43
+ node cli/amazingteam.cjs init
44
+ ```
45
+
46
+ ### 方式三:添加到现有项目
47
+
48
+ ```bash
49
+ cd your-existing-project
50
+
51
+ # 下载并运行初始化脚本
52
+ npx amazingteam init
53
+ ```
54
+
55
+ ### 方式四:全局安装
56
+
57
+ ```bash
58
+ npm install -g amazingteam
59
+
60
+ # 创建新项目
61
+ amazingteam init my-project
62
+
63
+ # 或在现有项目中初始化
64
+ cd your-project
65
+ amazingteam init
66
+ ```
67
+
68
+ ## 项目结构
69
+
70
+ ```
71
+ amazingteam/
72
+ ├── .opencode/ # OpenCode 配置入口
73
+ │ ├── agents/ # Agent 入口文件 (YAML配置+简要描述)
74
+ │ │ ├── planner.md # 指向 .ai-team/agents/planner.md
75
+ │ │ ├── architect.md # 指向 .ai-team/agents/architect.md
76
+ │ │ └── ... # 其他角色入口
77
+ │ ├── skills/ # 可复用技能
78
+ │ └── commands/ # 工作流命令
79
+
80
+ ├── .ai-team/ # AI Team 核心配置 (升级时覆盖)
81
+ │ ├── agents/ # AI 角色详细行为定义
82
+ │ │ ├── planner.md # 完整职责、约束、工作流程
83
+ │ │ ├── architect.md # 完整职责、约束、工作流程
84
+ │ │ ├── developer.md # 完整职责、约束、工作流程
85
+ │ │ ├── qa.md # 完整职责、约束、工作流程
86
+ │ │ ├── reviewer.md # 完整职责、约束、工作流程
87
+ │ │ ├── triage.md # 完整职责、约束、工作流程
88
+ │ │ └── ci-analyst.md # 完整职责、约束、工作流程
89
+ │ └── memory/ # 角色记忆模板
90
+ │ ├── planner/
91
+ │ │ ├── flow_rules.md # 状态机规则
92
+ │ │ ├── decomposition_notes.md # 分解模式
93
+ │ │ └── github_issue_patterns.md # GitHub编排模式
94
+ │ ├── architect/
95
+ │ ├── developer/
96
+ │ ├── qa/
97
+ │ ├── reviewer/
98
+ │ ├── triage/
99
+ │ ├── ci-analyst/
100
+ │ └── failures/ # 共享失败库
101
+
102
+ ├── scripts/ # Bootstrap 脚本
103
+ │ ├── init_project.sh # 初始化新项目
104
+ │ ├── validate_foundation.sh # 验证 Foundation
105
+ │ ├── validate_project_setup.sh # 验证项目配置
106
+ │ ├── plan_upgrade.sh # 规划升级
107
+ │ ├── upgrade_foundation.sh # 执行升级
108
+ │ ├── diff_foundation_vs_project.sh # 对比差异
109
+ │ └── generate_docs.sh # 生成文档
110
+
111
+ ├── .foundation/ # Foundation 元数据模板
112
+ │ ├── foundation.lock # 版本锁定模板
113
+ │ ├── upgrade-history.md # 升级历史模板
114
+ │ └── local-overrides.md # 本地覆盖模板
115
+
116
+ ├── cli/ # CLI 工具
117
+ │ ├── ai-team.cjs # 主命令
118
+ │ └── sync.cjs # 同步脚本
119
+
120
+ ├── overlays/ # 技术栈 overlay
121
+ │ ├── cpp-qt-desktop/ # C++ Qt 桌面应用
122
+ │ ├── python-backend/ # Python 后端
123
+ │ ├── web-fullstack/ # 全栈 Web
124
+ │ └── ai-agent-product/ # AI Agent 产品
125
+
126
+ ├── .github/ # GitHub 配置 (可自定义)
127
+ │ ├── workflows/ # CI/CD 工作流
128
+ │ └── ISSUE_TEMPLATE/ # Issue 模板
129
+
130
+ ├── docs/ # 文档目录
131
+ │ ├── architecture/ # 架构文档
132
+ │ ├── decisions/ # 决策记录
133
+ │ ├── patterns/ # 实现模式库
134
+ │ ├── releases/ # 发布文档
135
+ │ ├── runbooks/ci/ # CI 运维手册
136
+ │ ├── bootstrap-model.md # Bootstrap 模型
137
+ │ ├── upgrade-policy.md # 升级策略
138
+ │ └── overlay-guide.md # Overlay 指南
139
+
140
+ ├── tasks/ # 任务记忆存储
141
+ │ ├── _template/ # 任务模板
142
+ │ │ ├── task.yaml # 任务清单模板
143
+ │ │ └── release.md # 发布检查模板
144
+ │ └── issue-{id}/ # 具体任务目录
145
+
146
+ ├── src/ # 源代码
147
+
148
+ ├── VERSION # Foundation 版本
149
+ ├── CHANGELOG.md # 版本变更记录
150
+ ├── amazingteam.config.yaml # 项目配置 (自定义)
151
+ ├── AGENTS.md # 全局规则 (自定义)
152
+ └── README.md
153
+ ```
154
+
155
+ ## 使用指南
156
+
157
+ ### 1. 初始化项目
158
+
159
+ ```bash
160
+ # 交互式初始化
161
+ amazingteam init
162
+
163
+ # 指定参数
164
+ amazingteam init my-project \
165
+ --language typescript \
166
+ --framework node \
167
+ --description "My awesome project"
168
+ ```
169
+
170
+ ### 2. 配置 GitHub Secrets
171
+
172
+ 在仓库 Settings → Secrets and variables → Actions 添加:
173
+
174
+ | Secret | 说明 |
175
+ |--------|------|
176
+ | `OPENCODE_API_KEY` | OpenCode API 密钥 |
177
+ | `GITHUB_TOKEN` | 自动提供,无需手动配置 |
178
+
179
+ ### 3. 使用 AI Team
180
+
181
+ 创建 Issue 后,评论命令触发 AI:
182
+
183
+ **推荐:一条命令自动完成全流程**
184
+
185
+ ```
186
+ /oc /auto
187
+ ```
188
+
189
+ 这会自动执行:Triage → Design → Implement → Test → Create PR,等待人工审核合并。
190
+
191
+ **手动分步流程(高级用户):**
192
+
193
+ ```
194
+ 新Issue → /triage → 判断是否需要分解
195
+
196
+ ┌───────────┴───────────┐
197
+ ↓ ↓
198
+ 需要分解 无需分解
199
+ │ │
200
+ ↓ ↓
201
+ /breakdown-issue /design
202
+ │ │
203
+ ↓ ↓
204
+ 创建子Issue /implement
205
+ │ │
206
+ ↓ ↓
207
+ /dispatch-next ...
208
+
209
+ ↓ (循环直到完成)
210
+
211
+ /close-parent-task
212
+ ```
213
+
214
+ **可用命令:**
215
+
216
+ | 命令 | 角色 | 作用 |
217
+ |------|------|------|
218
+ | `/auto` | Planner | **全自动**:分类 → 设计 → 实现 → 测试 → 创建 PR(含阻塞处理) |
219
+ | `/resume` | Planner | 阻塞解决后恢复工作流 |
220
+ | `/triage` | Triage | Issue分类,确定是否需要分解 |
221
+ | `/breakdown-issue` | Planner | 分解大任务为GitHub子Issue |
222
+ | `/dispatch-next` | Planner | 派发下一个活跃子任务 |
223
+ | `/show-blockers` | Planner | 显示被阻塞的任务 |
224
+ | `/summarize-parent` | Planner | 汇总父任务进度 |
225
+ | `/close-parent-task` | Planner | 验证并关闭父任务 |
226
+ | `/design` | Architect | 分析需求,设计方案 |
227
+ | `/implement` | Developer | 实现代码 |
228
+ | `/test` | QA | 测试验证 |
229
+ | `/review` | Reviewer | 代码审查 |
230
+ | `/ci-analyze` | CI Analyst | CI 失败分析、阻塞诊断 |
231
+ | `/release-check` | Reviewer | 发布就绪检查 |
232
+
233
+ ### 4. 工作流程
234
+
235
+ #### 全自动流程(推荐)
236
+
237
+ ```
238
+ Issue 创建
239
+
240
+
241
+ /oc /auto
242
+
243
+
244
+ ┌─────────────────────────────────────────────────────┐
245
+ │ Planner (Coordinator) │
246
+ │ │ │
247
+ │ ├── Triage (分类) │
248
+ │ │ │
249
+ │ ├── 决策点 │
250
+ │ │ ├── 简单任务 → 直接执行 │
251
+ │ │ └── 复杂任务 → 创建子Issue → 逐个执行 │
252
+ │ │ │
253
+ │ ├── Architect (设计) │
254
+ │ ├── Developer (实现) │
255
+ │ ├── QA (测试) │
256
+ │ └── Developer (创建 PR) │
257
+ └─────────────────────────────────────────────────────┘
258
+
259
+
260
+ ┌─────────────┐
261
+ │ Human │ ─── 审核合并
262
+ └─────────────┘
263
+ ```
264
+
265
+ #### 阻塞处理流程
266
+
267
+ ```
268
+ 工作流执行中
269
+
270
+ ▼ (遇到问题)
271
+ ┌─────────────┐
272
+ │ 暂停 │
273
+ └──────┬──────┘
274
+
275
+
276
+ ┌─────────────┐
277
+ │ CI Analyst │ ─── 诊断问题
278
+ └──────┬──────┘
279
+
280
+
281
+ ┌────┴────┐
282
+ │ 决策 │
283
+ └────┬────┘
284
+
285
+ ┌────┼────────────┐
286
+ ↓ ↓ ↓
287
+ 简单 中等 需人类
288
+ │ │ │
289
+ ↓ ↓ ↓
290
+ 自动 创建 创建子Issue
291
+ 修复 子Issue 通知人类
292
+ │ AI解决 等待/resume
293
+ │ │ │
294
+ └────┴────────────┘
295
+
296
+
297
+ 恢复原工作流
298
+ ```
299
+
300
+ **阻塞处理示例:**
301
+
302
+ ```markdown
303
+ # 简单问题 - 自动修复
304
+ Error: Cannot find module './utils'
305
+ → 自动添加 import,继续工作流
306
+
307
+ # 中等问题 - 创建子Issue AI解决
308
+ Error: API endpoint /v2/users not found
309
+ → 创建子Issue #205: 更新 API 端点
310
+ → AI 解决子Issue
311
+ → 恢复原工作流
312
+
313
+ # 需要人类 - 创建子Issue 通知人类
314
+ Error: Permission denied: Cannot push to 'main'
315
+ → 创建子Issue #206: [Blocker] 权限问题
316
+ → 通知人类
317
+ → 等待人类解决后评论 `/oc /resume`
318
+ ```
319
+
320
+ #### 功能开发流程(大任务 - 手动分步)
321
+
322
+ ```
323
+ Issue 创建
324
+
325
+
326
+ ┌─────────────┐
327
+ │ Triage │ ─── 分类,判断是否需要分解
328
+ └─────┬───────┘
329
+
330
+
331
+ ┌─────────────┐
332
+ │ Planner │ ─── 分解为子Issue,建立依赖关系
333
+ └─────┬───────┘
334
+
335
+ ▼ (逐个派发子任务)
336
+
337
+ ┌─────────────┐
338
+ │ Architect │ ─── 分析需求,设计方案
339
+ └─────┬───────┘
340
+
341
+
342
+ ┌─────────────┐
343
+ │ Developer │ ─── 实现代码,创建 PR
344
+ └─────┬───────┘
345
+
346
+
347
+ ┌─────────────┐
348
+ │ QA │ ─── 测试验证
349
+ └─────┬───────┘
350
+
351
+
352
+ ┌─────────────┐
353
+ │ Reviewer │ ─── 代码审查
354
+ └─────┬───────┘
355
+
356
+
357
+ ┌─────────────┐
358
+ │ Planner │ ─── 验证子任务完成,派发下一个
359
+ └─────┬───────┘
360
+
361
+ ▼ (循环直到所有子任务完成)
362
+
363
+ ┌─────────────┐
364
+ │ Human │ ─── 审批合并,关闭父Issue
365
+ └─────────────┘
366
+ ```
367
+
368
+ #### 功能开发流程(小任务)
369
+
370
+ ```
371
+ Issue 创建
372
+
373
+
374
+ ┌─────────────┐
375
+ │ Triage │ ─── 分类,判断无需分解
376
+ └─────┬───────┘
377
+
378
+
379
+ ┌─────────────┐
380
+ │ Architect │ ─── 分析需求,设计方案
381
+ └─────┬───────┘
382
+
383
+
384
+ ┌─────────────┐
385
+ │ Developer │ ─── 实现代码,创建 PR
386
+ └─────┬───────┘
387
+
388
+
389
+ ┌─────────────┐
390
+ │ QA │ ─── 测试验证
391
+ └─────┬───────┘
392
+
393
+
394
+ ┌─────────────┐
395
+ │ Reviewer │ ─── 代码审查
396
+ └─────┬───────┘
397
+
398
+
399
+ ┌─────────────┐
400
+ │ Human │ ─── 审批合并
401
+ └─────────────┘
402
+ ```
403
+
404
+ #### Bug 修复流程
405
+
406
+ ```
407
+ Bug 报告
408
+
409
+
410
+ ┌─────────────┐
411
+ │ Triage │ ─── 分类,初步调试分析
412
+ └─────┬───────┘
413
+
414
+
415
+ ┌─────────────┐
416
+ │ Developer │ ─── 修复代码
417
+ └─────┬───────┘
418
+
419
+
420
+ ┌─────────────┐
421
+ │ QA │ ─── 回归测试
422
+ └─────┬───────┘
423
+
424
+
425
+ ┌─────────────┐
426
+ │ Reviewer │ ─── 代码审查
427
+ └─────────────┘
428
+ ```
429
+
430
+ #### CI 失败流程
431
+
432
+ ```
433
+ CI 失败
434
+
435
+
436
+ ┌─────────────┐
437
+ │ CI Analyst │ ─── 分析失败原因,提供修复建议
438
+ └─────┬───────┘
439
+
440
+
441
+ ┌─────────────┐
442
+ │ Developer │ ─── 应用修复
443
+ └─────┬───────┘
444
+
445
+
446
+ ┌─────────────┐
447
+ │ QA │ ─── 验证修复
448
+ └─────────────┘
449
+ ```
450
+
451
+ ## 任务系统
452
+
453
+ ### task.yaml 任务清单
454
+
455
+ 每个任务都有一个 `task.yaml` 文件:
456
+
457
+ ```yaml
458
+ id: issue-123
459
+ title: 实现用户认证
460
+ type: feature
461
+ status: in_implementation
462
+ priority: high
463
+ owner_role: developer
464
+ depends_on: []
465
+ blocked_by: []
466
+ acceptance_criteria:
467
+ - 用户可以使用邮箱密码登录
468
+ - 登录失败有合理的错误提示
469
+ risk_level: medium
470
+ module_scope:
471
+ - auth
472
+ - api
473
+
474
+ github_issue: 123
475
+ github_url: https://github.com/org/repo/issues/123
476
+ parent_task: null
477
+ requires_decomposition: false
478
+
479
+ subtasks:
480
+ - id: issue-123-subtask-01
481
+ github_issue: 201
482
+ title: "[Subtask] 设计认证API"
483
+ type: design
484
+ owner_role: architect
485
+ status: done
486
+ - id: issue-123-subtask-02
487
+ github_issue: 202
488
+ title: "[Subtask] 实现登录接口"
489
+ type: implementation
490
+ owner_role: developer
491
+ status: in_progress
492
+ depends_on: [201]
493
+ ```
494
+
495
+ ### 大任务分解原则
496
+
497
+ **需要分解的情况:**
498
+ - 涉及多个模块
499
+ - 需要先设计再实现
500
+ - 影响公共接口
501
+ - 需要多个 PR
502
+ - 有明显的依赖顺序
503
+
504
+ **不需要分解的情况:**
505
+ - 单模块变更
506
+ - 范围清晰
507
+ - 一个 PR 足够
508
+
509
+ ### 任务状态机
510
+
511
+ ```
512
+ backlog → ready → in_analysis → in_design → in_implementation → in_validation → in_review → release_candidate → done
513
+ ↓ ↓
514
+ blocked ←───────────────────────────────────────── ←
515
+ ```
516
+
517
+ ### GitHub Issue 编排
518
+
519
+ 大任务通过 `/breakdown-issue` 命令分解为子Issue:
520
+
521
+ ```
522
+ 父Issue #120: 改进启动可靠性
523
+
524
+ ├── 子Issue #201: [Subtask] 隔离配置验证 (architect)
525
+ │ ↓
526
+ ├── 子Issue #202: [Subtask] 重构启动错误路径 (developer)
527
+ │ ↓
528
+ └── 子Issue #203: [Subtask] 添加回归测试 (qa)
529
+ ```
530
+
531
+ **编排规则:**
532
+ - 一个子任务一个 PR
533
+ - 逐个派发,不并行(除非明确说明)
534
+ - 依赖关系显式记录
535
+ - 父Issue在所有子Issue完成后才关闭
536
+
537
+ **常用命令流程:**
538
+
539
+ ```bash
540
+ # 1. 分类新Issue
541
+ /triage
542
+
543
+ # 2. 分解大任务(如需要)
544
+ /breakdown-issue
545
+
546
+ # 3. 派发子任务
547
+ /dispatch-next
548
+
549
+ # 4. 查看阻塞情况
550
+ /show-blockers
551
+
552
+ # 5. 查看进度
553
+ /summarize-parent
554
+
555
+ # 6. 验证完成
556
+ /close-parent-task
557
+ ```
558
+
559
+ ## 升级底座
560
+
561
+ 当模板仓库有更新时,可以同步到你的项目:
562
+
563
+ ```bash
564
+ # 检查状态
565
+ amazingteam status
566
+
567
+ # 升级到最新版本
568
+ amazingteam upgrade
569
+
570
+ # 强制升级
571
+ amazingteam upgrade --force
572
+ ```
573
+
574
+ **升级注意事项:**
575
+
576
+ | 目录 | 升级行为 | 说明 |
577
+ |------|---------|------|
578
+ | `.opencode/agents/` | 覆盖 | 入口文件,通常不需要自定义 |
579
+ | `.ai-team/agents/` | 覆盖 | 行为规范,自定义前先备份 |
580
+ | `.ai-team/memory/` | 合并 | 保留现有记忆,添加新模式 |
581
+ | `amazingteam.config.yaml` | 跳过 | 项目自定义配置 |
582
+ | `AGENTS.md` | 跳过 | 项目全局规则 |
583
+ | `docs/` | 跳过 | 项目文档 |
584
+
585
+ **升级流程:**
586
+
587
+ ```
588
+ 1. amazingteam status → 检查版本差异
589
+ 2. amazingteam upgrade --dry-run → 预览变更
590
+ 3. amazingteam upgrade → 执行升级
591
+ 4. 检查变更,恢复自定义行为(如有)
592
+ 5. 测试项目
593
+ 6. 提交变更
594
+ ```
595
+
596
+ **自定义行为保护:**
597
+
598
+ 如果自定义了 `.ai-team/agents/` 中的行为规范:
599
+
600
+ 1. 升级前备份自定义内容
601
+ 2. 升级后合并新功能和自定义内容
602
+ 3. 或者在 `amazingteam.config.yaml` 中标记:
603
+
604
+ ```yaml
605
+ upgrade:
606
+ protected_files:
607
+ - ".ai-team/agents/developer.md"
608
+ ```
609
+
610
+ ## Bootstrap 脚本
611
+
612
+ Foundation 提供一组 Bootstrap 脚本,用于初始化、验证和升级项目。
613
+
614
+ ### 脚本列表
615
+
616
+ | 脚本 | 用途 | 模式 |
617
+ |------|------|------|
618
+ | `init_project.sh` | 初始化新项目 | init |
619
+ | `validate_foundation.sh` | 验证 Foundation 完整性 | validate |
620
+ | `validate_project_setup.sh` | 验证项目配置 | validate |
621
+ | `plan_upgrade.sh` | 生成升级计划 (只读) | plan-upgrade |
622
+ | `upgrade_foundation.sh` | 执行受控升级 | apply-upgrade |
623
+ | `diff_foundation_vs_project.sh` | 对比 Foundation 与项目 | validate |
624
+ | `generate_docs.sh` | 生成文档 | - |
625
+
626
+ ### 初始化新项目
627
+
628
+ ```bash
629
+ # 基本用法
630
+ ./scripts/init_project.sh my-project
631
+
632
+ # 指定 overlay 和语言
633
+ ./scripts/init_project.sh -o python-backend -l python my-api
634
+
635
+ # 使用 C++ Qt overlay
636
+ ./scripts/init_project.sh -o cpp-qt-desktop -l cpp my-desktop-app
637
+
638
+ # 完整参数
639
+ ./scripts/init_project.sh \
640
+ --language typescript \
641
+ --framework node \
642
+ --description "My awesome project" \
643
+ --overlay web-fullstack \
644
+ my-project
645
+ ```
646
+
647
+ **创建的内容**:
648
+ - `.ai-team/` - AI Team 配置
649
+ - `.github/` - GitHub 工作流和模板
650
+ - `.foundation/` - Foundation 元数据
651
+ - `docs/`, `tasks/`, `src/` - 项目目录
652
+ - `amazingteam.config.yaml`, `opencode.jsonc` - 项目配置
653
+
654
+ ### 验证项目
655
+
656
+ ```bash
657
+ # 验证 Foundation 自身
658
+ ./scripts/validate_foundation.sh
659
+
660
+ # 验证项目配置
661
+ ./scripts/validate_project_setup.sh /path/to/project
662
+
663
+ # 或在项目目录中
664
+ cd my-project
665
+ ../scripts/validate_project_setup.sh .
666
+ ```
667
+
668
+ **验证内容**:
669
+ - 必需目录是否存在
670
+ - Agent/Skill/Command 文件是否完整
671
+ - Memory 目录是否正确
672
+ - GitHub 工作流和模板是否存在
673
+ - Foundation lock 文件是否有效
674
+
675
+ ### 规划升级
676
+
677
+ ```bash
678
+ # 生成升级计划 (只读,不修改文件)
679
+ ./scripts/plan_upgrade.sh /path/to/project
680
+ ```
681
+
682
+ **输出**:
683
+ - 缺失文件列表
684
+ - 过期文件列表
685
+ - 受保护文件列表
686
+ - 风险评估
687
+ - 升级计划报告 (`.foundation/upgrade-plan.md`)
688
+
689
+ ### 执行升级
690
+
691
+ ```bash
692
+ # 执行升级
693
+ ./scripts/upgrade_foundation.sh /path/to/project
694
+
695
+ # 预览变更 (不实际执行)
696
+ ./scripts/upgrade_foundation.sh --dry-run /path/to/project
697
+
698
+ # 强制升级 (跳过确认)
699
+ ./scripts/upgrade_foundation.sh --force /path/to/project
700
+ ```
701
+
702
+ **升级行为**:
703
+ - 自动添加缺失文件 (Class A)
704
+ - 生成变更 diff 供审查 (Class B)
705
+ - 跳过受保护文件 (Class C)
706
+ - 创建备份
707
+ - 更新 `.foundation/` 元数据
708
+
709
+ ### 对比差异
710
+
711
+ ```bash
712
+ # 对比 Foundation 和项目的所有关键文件
713
+ ./scripts/diff_foundation_vs_project.sh /path/to/project
714
+
715
+ # 对比特定文件
716
+ ./scripts/diff_foundation_vs_project.sh /path/to/project .ai-team/agents/planner.md
717
+ ```
718
+
719
+ ### 文件分类
720
+
721
+ | 类别 | 说明 | 升级行为 |
722
+ |------|------|---------|
723
+ | **Class A** | 自动生成 (模板、空目录) | 可自动创建/替换 |
724
+ | **Class B** | 需审查 (Agent、Skill、Command) | 生成 diff,人工审查 |
725
+ | **Class C** | 受保护 (架构文档、决策记录) | 人工批准,禁止自动修改 |
726
+
727
+ ### Foundation 元数据
728
+
729
+ 每个下游项目都有 `.foundation/` 目录:
730
+
731
+ ```
732
+ .foundation/
733
+ ├── foundation.lock # 版本锁定
734
+ ├── upgrade-history.md # 升级历史
735
+ └── local-overrides.md # 本地自定义记录
736
+ ```
737
+
738
+ **foundation.lock**:
739
+ ```yaml
740
+ foundation_repo: amazingteam
741
+ foundation_version: 2.0.0
742
+ overlay: python-backend
743
+ initialized_at: 2026-03-14
744
+ last_upgrade_at: 2026-03-20
745
+ ```
746
+
747
+ **升级流程**:
748
+
749
+ ```
750
+ 1. plan_upgrade.sh → 生成升级计划 (只读)
751
+ 2. 审查 upgrade-plan.md
752
+ 3. upgrade_foundation.sh --dry-run → 预览变更
753
+ 4. upgrade_foundation.sh → 执行升级
754
+ 5. validate_project_setup.sh → 验证结果
755
+ 6. 测试项目
756
+ 7. 提交变更
757
+ ```
758
+
759
+ ## 记忆系统
760
+
761
+ ### 四层记忆架构
762
+
763
+ ```
764
+ ┌─────────────────────────────────────┐
765
+ │ GLOBAL MEMORY (docs/) │
766
+ │ 项目级知识,需要人工审批修改 │
767
+ └─────────────────┬───────────────────┘
768
+
769
+ ┌─────────────────▼───────────────────┐
770
+ │ ROLE MEMORY (.ai-team/memory/) │
771
+ │ 角色专属记忆,自动更新 │
772
+ └─────────────────┬───────────────────┘
773
+
774
+ ┌─────────────────▼───────────────────┐
775
+ │ FAILURES LIBRARY │
776
+ │ 共享失败模式库,CI Analyst 维护 │
777
+ └─────────────────┬───────────────────┘
778
+
779
+ ┌─────────────────▼───────────────────┐
780
+ │ TASK MEMORY (tasks/) │
781
+ │ 任务级记忆,自动创建归档 │
782
+ └─────────────────────────────────────┘
783
+ ```
784
+
785
+ ### 记忆权限矩阵
786
+
787
+ | 角色 | 全局 | Planner | Architect | Developer | QA | Reviewer | Triage | CI Analyst | 失败库 | 任务 |
788
+ |------|------|---------|-----------|-----------|-----|----------|--------|------------|--------|------|
789
+ | Planner | 只读 | 读写 | 只读 | - | - | - | 只读 | - | 只读 | 读写 |
790
+ | Architect | 只读 | 只读 | 读写 | 只读 | - | - | - | - | 只读 | 读写 |
791
+ | Developer | 只读 | 只读 | 只读 | 读写 | - | - | - | - | 只读 | 读写 |
792
+ | QA | 只读 | 只读 | 只读 | - | 读写 | - | - | - | 只读 | 读写 |
793
+ | Reviewer | 只读 | 只读 | 只读 | 只读 | 只读 | 读写 | - | - | 只读 | 读写 |
794
+ | Triage | 只读 | - | - | - | - | - | 读写 | - | 只读 | 读写 |
795
+ | CI Analyst | 只读 | - | - | - | - | - | - | 读写 | 读写 | 读写 |
796
+
797
+ ## 治理模型
798
+
799
+ ### 变更范围保护
800
+
801
+ - Bug 修复不应进行无关重构
802
+ - 功能开发不应在未审批时重新设计公共接口
803
+ - 重构应保持行为不变
804
+ - 审查者不应静默修改实现
805
+
806
+ ### 受保护知识区域
807
+
808
+ AI 不能直接修改以下区域,需要人工审批:
809
+
810
+ - `docs/architecture/`
811
+ - `docs/decisions/`
812
+ - 发布策略
813
+ - 标准文档
814
+
815
+ ### 人工审批关卡
816
+
817
+ 以下操作需要人工审批:
818
+
819
+ - 架构变更
820
+ - 合并到受保护分支
821
+ - 发布操作
822
+ - 修改全局知识
823
+ - 高风险任务分解
824
+
825
+ ## 自定义配置
826
+
827
+ ### Agent 文件结构
828
+
829
+ Agent 定义分为两部分:
830
+
831
+ | 目录 | 职责 | 内容 |
832
+ |------|------|------|
833
+ | `.opencode/agents/` | 入口文件 | YAML配置、工具权限、简要描述 |
834
+ | `.ai-team/agents/` | 行为规范 | 完整职责、约束、工作流程、输出格式 |
835
+
836
+ **入口文件示例** (`.opencode/agents/planner.md`):
837
+ ```yaml
838
+ ---
839
+ description: Decomposes tasks into GitHub sub-issues
840
+ tools:
841
+ write: false
842
+ bash:
843
+ "gh issue*": allow
844
+ ---
845
+ You are the Planner agent. See `.ai-team/agents/planner.md` for details.
846
+ ```
847
+
848
+ **行为规范文件** (`.ai-team/agents/planner.md`):
849
+ - 完整职责列表
850
+ - 约束和反模式
851
+ - 工作流程
852
+ - 输出格式模板
853
+
854
+ ### amazingteam.config.yaml
855
+
856
+ ```yaml
857
+ project:
858
+ name: "my-project"
859
+ description: "My project description"
860
+ language: "typescript"
861
+ framework: "node"
862
+
863
+ ai_team:
864
+ version: "2.0.0"
865
+ agents:
866
+ planner: true
867
+ architect: true
868
+ developer: true
869
+ qa: true
870
+ reviewer: true
871
+ triage: true
872
+ ci_analyst: true
873
+
874
+ rules:
875
+ coding:
876
+ max_function_lines: 30
877
+ test_coverage_threshold: 80
878
+ git:
879
+ commit_convention: "conventional"
880
+ governance:
881
+ protected_paths:
882
+ - "docs/architecture/"
883
+ - "docs/decisions/"
884
+ ```
885
+
886
+ ### 添加自定义角色
887
+
888
+ 1. 创建角色文件 `.ai-team/agents/custom-role.md`
889
+ 2. 在配置中启用:
890
+
891
+ ```yaml
892
+ ai_team:
893
+ custom_agents:
894
+ - name: product-manager
895
+ enabled: true
896
+ ```
897
+
898
+ ### 添加自定义技能
899
+
900
+ 1. 创建技能文件 `.ai-team/skills/my-skill/skill.md`
901
+ 2. 在 `opencode.jsonc` 中注册
902
+
903
+ ## 开发此模板
904
+
905
+ ```bash
906
+ # 安装依赖
907
+ npm install
908
+
909
+ # 运行测试
910
+ npm test
911
+
912
+ # 构建
913
+ npm run build
914
+
915
+ # 本地测试 CLI
916
+ node cli/amazingteam.cjs init test-project
917
+ ```
918
+
919
+ ## 常见问题
920
+
921
+ ### Q: 如何保留自定义修改?
922
+
923
+ A: 以下文件不会被升级覆盖:
924
+ - `amazingteam.config.yaml`
925
+ - `AGENTS.md`
926
+ - `docs/`
927
+ - `src/`
928
+ - `tests/`
929
+
930
+ ### Q: 如何自定义 Agent 行为?
931
+
932
+ A: 两种方式:
933
+
934
+ 1. **修改行为规范** - 编辑 `.ai-team/agents/{role}.md`
935
+ - 添加项目特定的职责
936
+ - 修改输出格式
937
+ - 调整工作流程
938
+
939
+ 2. **修改入口权限** - 编辑 `.opencode/agents/{role}.md`
940
+ - 调整工具权限
941
+ - 添加/删除允许的 bash 命令
942
+
943
+ 示例:让 Developer 可以运行数据库迁移
944
+ ```yaml
945
+ # .opencode/agents/developer.md
946
+ permission:
947
+ bash:
948
+ "npm run db:migrate": allow
949
+ ```
950
+
951
+ ### Q: 如何回滚升级?
952
+
953
+ A: 升级时会自动创建备份目录 `.ai-team-backup-{timestamp}`,可以手动恢复。
954
+
955
+ ### Q: 支持 GitHub 以外的平台吗?
956
+
957
+ A: 目前主要支持 GitHub。GitLab 支持计划中。
958
+
959
+ ### Q: v1 升级到 v2 需要做什么?
960
+
961
+ A: v2 新增了:
962
+ - Planner 角色(任务分解、GitHub Issue编排)
963
+ - Triage 角色(Issue分类)
964
+ - CI Analyst 角色(CI失败分析)
965
+ - GitHub Issue 子任务编排
966
+ - 任务系统
967
+
968
+ 运行 `amazingteam upgrade` 会自动添加新组件。
969
+
970
+ ### Q: 大任务什么时候需要分解?
971
+
972
+ A: 以下情况建议分解:
973
+ - 涉及多个模块
974
+ - 需要先设计再实现
975
+ - 影响公共接口/API
976
+ - 可能需要多个 PR
977
+ - 有明显的依赖步骤
978
+
979
+ 以下情况无需分解:
980
+ - 单模块、单 PR 足够
981
+ - 范围清晰、验证简单
982
+
983
+ ## 贡献
984
+
985
+ 欢迎提交 Issue 和 Pull Request!
986
+
987
+ ## v3.0.0 开发进度
988
+
989
+ ### 概述
990
+
991
+ v3.0.0 将实现**远程加载功能**,用户项目无需提交 Foundation 源码,只需几个配置文件即可使用 AI Team。
992
+
993
+ ### 用户项目结构(v3.0.0)
994
+
995
+ ```
996
+ your-project/
997
+ ├── .github/workflows/amazingteam.yml # 引用 Foundation 版本
998
+ ├── opencode.jsonc # 自动生成
999
+ ├── amazingteam.config.yaml # 用户配置
1000
+ ├── .ai-team/memory/ # 运行时状态
1001
+ └── src/ # 用户代码
1002
+ ```
1003
+
1004
+ ### 升级方式
1005
+
1006
+ ```bash
1007
+ # 一键升级
1008
+ npx amazingteam upgrade
1009
+
1010
+ # 或指定版本
1011
+ npx amazingteam upgrade --to 3.1.0
1012
+ ```
1013
+
1014
+ ### 开发进度
1015
+
1016
+ | 阶段 | 任务数 | 完成数 | 进度 |
1017
+ |------|--------|--------|------|
1018
+ | Phase 1: 基础准备 | 16 | 16 | ✅ 100% |
1019
+ | Phase 2: CLI 工具 | 23 | 23 | ✅ 100% |
1020
+ | Phase 3: GitHub Action | 12 | 12 | ✅ 100% |
1021
+ | Phase 4: 文档更新 | 12 | 12 | ✅ 100% |
1022
+ | Phase 5: 测试 | 14 | 14 | ✅ 100% |
1023
+ | Phase 6: 发布 | 9 | 7 | ✅ 78% |
1024
+ | **总计** | **86** | **84** | **98%** |
1025
+
1026
+ ### Phase 1 已完成内容
1027
+
1028
+ | 组件 | 文件 | 说明 |
1029
+ |------|------|------|
1030
+ | **Presets** | `presets/*.yaml` | 默认配置、TypeScript、Python、Go 预设 |
1031
+ | **Templates** | `templates/*` | OpenCode 配置模板、GitHub Workflow 模板 |
1032
+ | **Schemas** | `schemas/config.schema.json` | 配置文件 JSON Schema |
1033
+ | **Action** | `action/*` | GitHub Action 入口和核心模块 |
1034
+ | **Merger** | `action/lib/merger.js` | 配置合并逻辑 |
1035
+ | **Path Resolver** | `action/lib/path-resolver.js` | 路径解析 |
1036
+ | **Validator** | `action/lib/validator.js` | 配置校验 |
1037
+ | **Downloader** | `action/lib/downloader.js` | NPM/GitHub 下载 |
1038
+ | **Setup** | `action/lib/setup.js` | 运行时初始化 |
1039
+
1040
+ ### Phase 2 已完成内容
1041
+
1042
+ | 命令 | 文件 | 说明 |
1043
+ |------|------|------|
1044
+ | **CLI 入口** | `cli/amazingteam.cjs` | 主入口,命令解析,帮助信息 |
1045
+ | **init** | `cli/commands/init.cjs` | 初始化项目,交互式提示 |
1046
+ | **version** | `cli/commands/version.cjs` | 显示版本信息 |
1047
+ | **check-update** | `cli/commands/check-update.cjs` | 检查更新 |
1048
+ | **upgrade** | `cli/commands/upgrade.cjs` | 升级到新版本 |
1049
+ | **local** | `cli/commands/local.cjs` | 下载 Foundation 到本地 |
1050
+ | **validate** | `cli/commands/validate.cjs` | 验证配置和结构 |
1051
+ | **migrate** | `cli/commands/migrate.cjs` | v2 迁移到 v3 |
1052
+ | **status** | `cli/commands/status.cjs` | 显示项目状态 |
1053
+
1054
+ ### Phase 3 已完成内容
1055
+
1056
+ | 组件 | 文件 | 说明 |
1057
+ |------|------|------|
1058
+ | **Action Tests** | `action/__tests__/*.test.js` | Merger, PathResolver, Validator, Downloader 测试 |
1059
+ | **Merger Tests** | `action/__tests__/merger.test.js` | 深拷贝、配置合并、预设合并测试 |
1060
+ | **PathResolver Tests** | `action/__tests__/path-resolver.test.js` | 路径解析、内存目录、任务路径测试 |
1061
+ | **Validator Tests** | `action/__tests__/validator.test.js` | Schema 验证、类型检查、必填字段测试 |
1062
+ | **Downloader Tests** | `action/__tests__/downloader.test.js` | 缓存逻辑、重试机制、降级逻辑测试 |
1063
+
1064
+ ### Phase 4 已完成内容
1065
+
1066
+ | 文档 | 文件 | 说明 |
1067
+ |------|------|------|
1068
+ | **Migration Guide** | `docs/migration-to-v3.md` | v2 到 v3 迁移指南,步骤和故障排除 |
1069
+ | **Config Reference** | `docs/config-reference.md` | 完整配置字段参考和示例 |
1070
+ | **Quick Start v3** | `docs/quick-start-v3.md` | v3 快速入门指南 |
1071
+ | **v3 Implementation Checklist** | `infra/v3-implementation-checklist.md` | 实施进度跟踪 |
1072
+
1073
+ ### Phase 5 已完成内容
1074
+
1075
+ | 测试类型 | 文件 | 说明 |
1076
+ |---------|------|------|
1077
+ | **CLI Tests** | `cli/__tests__/cli.test.js` | CLI 命令测试:help, version, init, validate 等 |
1078
+ | **Integration Tests** | `tests/integration.test.js` | 完整工作流测试:init → local → validate |
1079
+ | **Error Tests** | `tests/error-scenarios.test.js` | 错误场景测试:无效配置、网络失败、目录缺失 |
1080
+ | **Overlay Tests** | `tests/overlay.test.js` | Overlay 测试:python-backend, web-fullstack, cpp-qt |
1081
+ | **Unit Tests** | `action/__tests__/*.test.js` | 模块单元测试(Phase 3 完成) |
1082
+
1083
+ ### Phase 6 已完成内容
1084
+
1085
+ | 任务 | 说明 |
1086
+ |------|------|
1087
+ | **VERSION 更新** | 更新到 `3.0.0` |
1088
+ | **package.json 更新** | 版本号更新到 `3.0.0` |
1089
+ | **CHANGELOG.md 更新** | 添加 v3.0.0 完整变更记录 |
1090
+ | **Git Tag** | 待创建 `v3.0.0` |
1091
+ | **NPM 发布** | 待发布 |
1092
+ | **GitHub Release** | 待创建 |
1093
+
1094
+ ### 相关文档
1095
+
1096
+ - [设计文档](./infra/remote_foundation_loading_design.md)
1097
+ - [评审报告](./infra/remote_foundation_loading_review.md)
1098
+ - [实施清单](./infra/v3-implementation-checklist.md)
1099
+ - [快速开始指南](./docs/quick-start-v3.md)
1100
+
1101
+ ## 版本历史
1102
+
1103
+ ### v3.0.0 - 远程加载 ✅ 已发布
1104
+
1105
+ **新增:**
1106
+ - 远程加载:Foundation 作为 NPM 包/ GitHub Release 加载,无需提交到项目
1107
+ - GitHub Action:`amazingteam-action` 自动下载和配置 Foundation
1108
+ - CLI 工具:完整的命令行工具(init, version, upgrade, local, validate, migrate, status)
1109
+ - 配置预设:TypeScript、Python、Go 等语言预设
1110
+ - JSON Schema:配置文件校验
1111
+ - 完整测试套件:单元测试、集成测试、错误场景测试
1112
+
1113
+ **用户项目变化:**
1114
+ - 从 50+ 文件减少到 3-5 个配置文件
1115
+ - Foundation 通过 workflow 引用,不占用项目空间
1116
+ - 升级只需改版本号或运行命令
1117
+
1118
+ **迁移指南:** 见 [docs/migration-to-v3.md](./docs/migration-to-v3.md)
1119
+
1120
+ ### v2.2.0 - 阻塞处理机制
1121
+
1122
+ **新增:**
1123
+ - 阻塞处理流程:工作流遇到问题时自动诊断和处理
1124
+ - `/resume` 命令:阻塞解决后恢复工作流
1125
+ - CI Analyst 角色增强:阻塞诊断和分类
1126
+ - 自动修复:简单问题现场修复
1127
+ - Sub-issue 阻塞处理:复杂问题创建子 Issue 解决
1128
+ - 人工通知:需要人类介入时自动通知
1129
+
1130
+ **阻塞处理流程:**
1131
+
1132
+ ```
1133
+ 工作流执行中 → 遇到问题 → CI Analyst 诊断
1134
+
1135
+ ┌───────────────┼───────────────┐
1136
+ ↓ ↓ ↓
1137
+ 简单问题 中等复杂度 需要人类
1138
+ │ │ │
1139
+ ↓ ↓ ↓
1140
+ 自动修复 创建子Issue 创建子Issue
1141
+ │ AI解决 通知人类
1142
+ │ │ 等待/resume
1143
+ └───────────────┴───────────────┘
1144
+
1145
+
1146
+ 恢复原工作流
1147
+ ```
1148
+
1149
+ **阻塞分类决策:**
1150
+
1151
+ | 因素 | 低 | 中 | 高 |
1152
+ |------|----|----|-----|
1153
+ | 复杂度 | 自动修复 | Sub-issue (AI) | 通知人类 |
1154
+ | 风险 | 自动修复 | Sub-issue (AI) | 通知人类 |
1155
+ | 权限 | Sub-issue (AI) | 通知人类 | 通知人类 |
1156
+
1157
+ ### v2.1.0 - 全自动工作流
1158
+
1159
+ **新增:**
1160
+ - `/auto` 命令:一条命令完成 Triage → Design → Implement → Test → Create PR 全流程
1161
+ - 自动 GitHub Sub-issue 创建:复杂任务自动分解为子 Issue
1162
+ - 依赖调度:自动处理子任务依赖关系,按序执行
1163
+ - Git 身份配置:`opencode-bot` 作为自动化提交的默认身份
1164
+
1165
+ **改进:**
1166
+ - 工作流优化:Planner 作为协调者调度各角色,而非自己执行
1167
+ - 无需人工确认:Triage 后自动执行,无需用户确认
1168
+ - GitHub Actions 权限:增加 `contents: write`、`pull-requests: write` 支持 PR 创建
1169
+ - 开发者角色:明确 PR 创建规则,禁止直接提交到 main
1170
+
1171
+ **工作流程:**
1172
+
1173
+ ```
1174
+ /oc /auto
1175
+
1176
+
1177
+ ┌─────────────────────────────────────────────────────────┐
1178
+ │ Triage → (Decompose?) → Design → Implement → Test → PR │
1179
+ └─────────────────────────────────────────────────────────┘
1180
+
1181
+
1182
+ Human Review & Merge
1183
+ ```
1184
+
1185
+ **依赖处理:**
1186
+
1187
+ ```
1188
+ Parent Issue #120
1189
+ ├── Sub-issue #201 (architect) → PR merged
1190
+ │ ↓
1191
+ ├── Sub-issue #202 (developer) → wait for #201
1192
+ │ ↓
1193
+ └── Sub-issue #203 (qa) → wait for #202
1194
+ ```
1195
+
1196
+ ### v2.0.0 - GitHub Issue 编排
1197
+
1198
+ **新增:**
1199
+ - Planner 角色增强:支持 GitHub Issue 分解和编排
1200
+ - `/breakdown-issue` 命令:分解大任务为子 Issue
1201
+ - `/dispatch-next` 命令:派发下一个子任务
1202
+ - `/show-blockers` 命令:显示阻塞任务
1203
+ - `/summarize-parent` 命令:汇总父任务进度
1204
+ - `/close-parent-task` 命令:验证并关闭父任务
1205
+ - task.yaml 增强:支持 `github_issue`、`parent_task`、`subtasks` 字段
1206
+ - Agent 文件结构优化:分离入口文件和行为规范
1207
+
1208
+ **改进:**
1209
+ - Triage 命令增强:增加分解决策
1210
+ - 工作流程更新:大任务分解后再派发
1211
+ - 升级流程优化:保护自定义行为
1212
+
1213
+ ## License
1214
+
1215
+ MIT