@haaaiawd/anws 2.2.0 → 2.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +180 -343
- package/bin/cli.js +112 -112
- package/lib/changelog.js +258 -258
- package/lib/copy.js +116 -109
- package/lib/diff.js +11 -0
- package/lib/manifest.js +4 -1
- package/lib/update.js +319 -319
- package/package.json +4 -3
- package/templates/.agents/skills/anws-system/SKILL.md +9 -7
- package/templates/.agents/skills/code-reviewer/SKILL.md +102 -327
- package/templates/.agents/skills/concept-modeler/SKILL.md +19 -17
- package/templates/.agents/skills/craft-authoring/SKILL.md +123 -0
- package/templates/.agents/skills/e2e-testing-guide/SKILL.md +59 -0
- package/templates/.agents/skills/system-designer/SKILL.md +6 -6
- package/templates/.agents/skills/system-designer/references/system-design-template.md +17 -17
- package/templates/.agents/skills/task-planner/SKILL.md +113 -113
- package/templates/.agents/skills/task-planner/references/TASK_TEMPLATE.md +82 -82
- package/templates/.agents/workflows/blueprint.md +284 -284
- package/templates/.agents/workflows/challenge.md +450 -491
- package/templates/.agents/workflows/change.md +263 -286
- package/templates/.agents/workflows/craft.md +243 -664
- package/templates/.agents/workflows/design-system.md +624 -624
- package/templates/.agents/workflows/explore.md +400 -371
- package/templates/.agents/workflows/forge.md +444 -413
- package/templates/.agents/workflows/genesis.md +342 -395
- package/templates/.agents/workflows/probe.md +21 -16
- package/templates/.agents/workflows/quickstart.md +123 -138
- package/templates/AGENTS.md +149 -134
|
@@ -1,63 +1,63 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: "将架构设计拆解为可执行的 WBS 任务清单。适用于已完成 /genesis 后的任务规划阶段。产出 05_TASKS.md(含验收标准、Sprint 划分、Mermaid 依赖图、User Story Overlay)。"
|
|
3
|
-
---
|
|
4
|
-
|
|
5
|
-
# /blueprint
|
|
6
|
-
|
|
7
|
-
<phase_context>
|
|
8
|
-
你是 **TASK ARCHITECT (任务规划师)**。
|
|
9
|
-
|
|
10
|
-
**核心使命**:
|
|
11
|
-
读取最新的架构版本 (`.anws/v{N}`),将其拆解为**可执行的任务清单**。
|
|
12
|
-
|
|
13
|
-
**核心原则**:
|
|
14
|
-
- **验证驱动** - 每个任务必须有验证说明
|
|
15
|
-
- **需求追溯** - 每个任务关联 [REQ-XXX]
|
|
16
|
-
- **适度粒度** - 每个任务 2-8 小时工作量
|
|
17
|
-
|
|
18
|
-
**Output Goal**: `.anws/v{N}/05_TASKS.md`
|
|
19
|
-
</phase_context>
|
|
20
|
-
|
|
21
|
-
---
|
|
22
|
-
|
|
23
|
-
## ⚠️ CRITICAL 前提条件
|
|
24
|
-
|
|
25
|
-
> [!IMPORTANT]
|
|
26
|
-
> **Blueprint 必须基于特定版本的架构**
|
|
27
|
-
>
|
|
28
|
-
> 你必须先找到最新的 Architecture Overview,才能拆解任务。
|
|
29
|
-
|
|
30
|
-
---
|
|
31
|
-
|
|
32
|
-
## Step 0: 定位架构版本 (Locate Architecture)
|
|
33
|
-
|
|
34
|
-
**目标**: 找到 Source of Truth。
|
|
35
|
-
|
|
36
|
-
1. **扫描版本**:
|
|
37
|
-
扫描 `.anws/` 目录,找到最新版本号 `v{N}`
|
|
38
|
-
2. **确定最新版本**:
|
|
39
|
-
- 找到数字最大的文件夹 `v{N}` (例如 `v3`)。
|
|
40
|
-
- **TARGET_DIR** = `.anws/v{N}`。
|
|
41
|
-
|
|
42
|
-
3. **检查必需文件**:
|
|
43
|
-
- [ ] `{TARGET_DIR}/01_PRD.md` 存在
|
|
44
|
-
- [ ] `{TARGET_DIR}/02_ARCHITECTURE_OVERVIEW.md` 存在
|
|
45
|
-
|
|
1
|
+
---
|
|
2
|
+
description: "将架构设计拆解为可执行的 WBS 任务清单。适用于已完成 /genesis 后的任务规划阶段。产出 05_TASKS.md(含验收标准、Sprint 划分、Mermaid 依赖图、User Story Overlay)。"
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# /blueprint
|
|
6
|
+
|
|
7
|
+
<phase_context>
|
|
8
|
+
你是 **TASK ARCHITECT (任务规划师)**。
|
|
9
|
+
|
|
10
|
+
**核心使命**:
|
|
11
|
+
读取最新的架构版本 (`.anws/v{N}`),将其拆解为**可执行的任务清单**。
|
|
12
|
+
|
|
13
|
+
**核心原则**:
|
|
14
|
+
- **验证驱动** - 每个任务必须有验证说明
|
|
15
|
+
- **需求追溯** - 每个任务关联 [REQ-XXX]
|
|
16
|
+
- **适度粒度** - 每个任务 2-8 小时工作量
|
|
17
|
+
|
|
18
|
+
**Output Goal**: `.anws/v{N}/05_TASKS.md`
|
|
19
|
+
</phase_context>
|
|
20
|
+
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
## ⚠️ CRITICAL 前提条件
|
|
24
|
+
|
|
25
|
+
> [!IMPORTANT]
|
|
26
|
+
> **Blueprint 必须基于特定版本的架构**
|
|
27
|
+
>
|
|
28
|
+
> 你必须先找到最新的 Architecture Overview,才能拆解任务。
|
|
29
|
+
|
|
30
|
+
---
|
|
31
|
+
|
|
32
|
+
## Step 0: 定位架构版本 (Locate Architecture)
|
|
33
|
+
|
|
34
|
+
**目标**: 找到 Source of Truth。
|
|
35
|
+
|
|
36
|
+
1. **扫描版本**:
|
|
37
|
+
扫描 `.anws/` 目录,找到最新版本号 `v{N}`
|
|
38
|
+
2. **确定最新版本**:
|
|
39
|
+
- 找到数字最大的文件夹 `v{N}` (例如 `v3`)。
|
|
40
|
+
- **TARGET_DIR** = `.anws/v{N}`。
|
|
41
|
+
|
|
42
|
+
3. **检查必需文件**:
|
|
43
|
+
- [ ] `{TARGET_DIR}/01_PRD.md` 存在
|
|
44
|
+
- [ ] `{TARGET_DIR}/02_ARCHITECTURE_OVERVIEW.md` 存在
|
|
45
|
+
|
|
46
46
|
4. **检查条件性必需文件**:
|
|
47
47
|
- [ ] `{TARGET_DIR}/04_SYSTEM_DESIGN/` 存在
|
|
48
48
|
- 如缺失: 提示 "建议先运行 `/design-system` 为每个系统生成详细设计。跳过此步可能导致任务粒度过粗。"
|
|
49
49
|
- **如果本版本涉及公共接口、CLI 参数语义、配置结构、文件格式、错误语义、跨系统协议或持久化结构** → `04_SYSTEM_DESIGN/` 视为**必需**,缺失时不得继续正常拆解
|
|
50
|
-
|
|
51
|
-
5. **如果必需文件缺失**: 报错并提示运行 `/genesis` 更新该版本。
|
|
52
|
-
|
|
53
|
-
---
|
|
54
|
-
|
|
55
|
-
## Step 1: 加载设计文档
|
|
56
|
-
|
|
57
|
-
**目标**: 从 **`{TARGET_DIR}`** 加载文档。
|
|
58
|
-
|
|
59
|
-
1. **读取 Architecture**: 读取 `{TARGET_DIR}/02_ARCHITECTURE_OVERVIEW.md`
|
|
60
|
-
2. **读取 PRD**: 读取 `{TARGET_DIR}/01_PRD.md`
|
|
50
|
+
|
|
51
|
+
5. **如果必需文件缺失**: 报错并提示运行 `/genesis` 更新该版本。
|
|
52
|
+
|
|
53
|
+
---
|
|
54
|
+
|
|
55
|
+
## Step 1: 加载设计文档
|
|
56
|
+
|
|
57
|
+
**目标**: 从 **`{TARGET_DIR}`** 加载文档。
|
|
58
|
+
|
|
59
|
+
1. **读取 Architecture**: 读取 `{TARGET_DIR}/02_ARCHITECTURE_OVERVIEW.md`
|
|
60
|
+
2. **读取 PRD**: 读取 `{TARGET_DIR}/01_PRD.md`
|
|
61
61
|
3. **读取 ADRs**: 扫描 `{TARGET_DIR}/03_ADR/` 目录
|
|
62
62
|
4. **加载测试策略约束**:
|
|
63
63
|
- 如 `{TARGET_DIR}/03_ADR/` 中存在测试策略、质量门禁、验证分层相关 ADR,必须一并读取
|
|
@@ -97,18 +97,18 @@ description: "将架构设计拆解为可执行的 WBS 任务清单。适用于
|
|
|
97
97
|
|
|
98
98
|
> [!IMPORTANT]
|
|
99
99
|
> **禁止把“公共契约的验证责任”全部拖到高层集成或 E2E。**
|
|
100
|
-
|
|
101
|
-
---
|
|
102
|
-
|
|
103
|
-
## Step 2: 任务拆解 (Task Decomposition)
|
|
104
|
-
|
|
105
|
-
**目标**: 使用 WBS 方法拆解任务。
|
|
106
|
-
|
|
107
|
-
> [!IMPORTANT]
|
|
108
|
-
> **任务格式要求** (CRITICAL):
|
|
109
|
-
> 每个 Level 3 任务必须包含以下字段。
|
|
110
|
-
|
|
111
|
-
> [!IMPORTANT]
|
|
100
|
+
|
|
101
|
+
---
|
|
102
|
+
|
|
103
|
+
## Step 2: 任务拆解 (Task Decomposition)
|
|
104
|
+
|
|
105
|
+
**目标**: 使用 WBS 方法拆解任务。
|
|
106
|
+
|
|
107
|
+
> [!IMPORTANT]
|
|
108
|
+
> **任务格式要求** (CRITICAL):
|
|
109
|
+
> 每个 Level 3 任务必须包含以下字段。
|
|
110
|
+
|
|
111
|
+
> [!IMPORTANT]
|
|
112
112
|
> **调用 `task-planner` 时必须显式传递以下约束**:
|
|
113
113
|
> - 当前版本的 PRD、Architecture、ADRs、System Design 是唯一事实来源
|
|
114
114
|
> - 如 ADR 中存在测试策略与质量门禁,`task-planner` 必须优先遵循
|
|
@@ -118,10 +118,10 @@ description: "将架构设计拆解为可执行的 WBS 任务清单。适用于
|
|
|
118
118
|
> - 基础层纯逻辑、规则映射、解析、归一化、注册表、schema、planner、diff/merge 等低依赖逻辑,应默认优先单元测试,且主要分支/边界/错误路径应尽量覆盖
|
|
119
119
|
> - **冒烟测试默认仅放在 `INT-S{N}` 或极少数里程碑任务**
|
|
120
120
|
> - 不得因为“更保险”就把大量任务默认升级成 E2E测试
|
|
121
|
-
|
|
122
|
-
### 任务格式模板
|
|
123
|
-
|
|
124
|
-
```markdown
|
|
121
|
+
|
|
122
|
+
### 任务格式模板
|
|
123
|
+
|
|
124
|
+
```markdown
|
|
125
125
|
- [ ] **T{X}.{Y}.{Z}** [REQ-XXX]: 任务标题
|
|
126
126
|
- **描述**: 具体要做什么
|
|
127
127
|
- **输入**: 设计文档引用 + 前置任务产出(必须包含至少一个文档引用)
|
|
@@ -133,17 +133,17 @@ description: "将架构设计拆解为可执行的 WBS 任务清单。适用于
|
|
|
133
133
|
- When [执行动作]
|
|
134
134
|
- Then [预期结果]
|
|
135
135
|
- (仅当纯技术性基础任务不适合 GWT 时,才允许使用清晰的 Done When 列表)
|
|
136
|
-
- **验证类型**: [单元测试 | 集成测试 | E2E测试 | 冒烟测试 | 回归测试 | 手动验证 | 编译检查 | Lint检查]
|
|
137
|
-
- **验证说明**: [如何检查完成,检查什么,具体命令或步骤]
|
|
138
|
-
- **估时**: Xh
|
|
139
|
-
- **依赖**: T{A}.{B}.{C} (如有)
|
|
140
|
-
```
|
|
141
|
-
|
|
142
|
-
### 测试分层标准
|
|
143
|
-
|
|
144
|
-
> [!IMPORTANT]
|
|
145
|
-
> **Blueprint 必须按测试分层生成任务,而不是把所有验证都塞成 E2E。**
|
|
146
|
-
>
|
|
136
|
+
- **验证类型**: [单元测试 | 集成测试 | E2E测试 | 冒烟测试 | 回归测试 | 手动验证 | 编译检查 | Lint检查]
|
|
137
|
+
- **验证说明**: [如何检查完成,检查什么,具体命令或步骤]
|
|
138
|
+
- **估时**: Xh
|
|
139
|
+
- **依赖**: T{A}.{B}.{C} (如有)
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
### 测试分层标准
|
|
143
|
+
|
|
144
|
+
> [!IMPORTANT]
|
|
145
|
+
> **Blueprint 必须按测试分层生成任务,而不是把所有验证都塞成 E2E。**
|
|
146
|
+
>
|
|
147
147
|
> 默认采用以下层次:
|
|
148
148
|
> - **单元测试**: 验证局部逻辑;基础层、共享层、纯逻辑层默认优先,且应尽量覆盖主要分支、边界情况和错误路径
|
|
149
149
|
> - **集成测试**: 验证模块/系统协作
|
|
@@ -163,109 +163,109 @@ description: "将架构设计拆解为可执行的 WBS 任务清单。适用于
|
|
|
163
163
|
- 每个高风险公共契约至少有一个验证承接点
|
|
164
164
|
- 不得仅因为“后面会有集成测试”就省略基础规则层的单元测试
|
|
165
165
|
- 若某契约会影响既有关键能力,应额外规划最小回归验证责任
|
|
166
|
-
|
|
167
|
-
### 冒烟测试使用原则
|
|
168
|
-
|
|
169
|
-
> [!IMPORTANT]
|
|
170
|
-
> **冒烟测试应当少而真实,主要用于里程碑门控,不应泛滥到每个任务。**
|
|
171
|
-
>
|
|
172
|
-
> Blueprint 生成任务时,应优先把冒烟测试放在**大进展、大功能完成、准备进入下一阶段**的关口。
|
|
173
|
-
> 它的目标是验证“系统是否基本可用 / 可演示 / 可继续推进”,而不是替代全量回归测试。
|
|
174
|
-
|
|
175
|
-
### 回归测试使用原则
|
|
176
|
-
|
|
177
|
-
> [!IMPORTANT]
|
|
178
|
-
> **回归测试不是每次小改都跑全量,而是对“已有能力是否被破坏”的有针对性复验。**
|
|
179
|
-
|
|
180
|
-
### 接口追溯规则
|
|
181
|
-
|
|
182
|
-
> [!IMPORTANT]
|
|
183
|
-
> **任务间的输入/输出必须对齐。**
|
|
184
|
-
>
|
|
185
|
-
> 如果任务 B 依赖任务 A,则 B 的「输入」必须明确引用 A 的「输出」的具体产物(文件路径、接口名、数据格式)。
|
|
186
|
-
|
|
187
|
-
---
|
|
188
|
-
|
|
189
|
-
## Step 3: Sprint 路线图与退出标准 (Sprint Roadmap)
|
|
190
|
-
|
|
191
|
-
**目标**: 将任务分组为 Sprint/里程碑,每个 Sprint 必须有明确的退出标准和集成验证任务。
|
|
192
|
-
|
|
193
|
-
> [!IMPORTANT]
|
|
194
|
-
> **每个 Sprint 必须有退出标准和 INT 集成验证任务。**
|
|
195
|
-
>
|
|
196
|
-
> Sprint 不只是“一堆任务”,而是一个有明确入口和出口的工作单元。
|
|
197
|
-
> 退出标准定义“什么算做完”,集成验证任务负责“证明做完”。
|
|
198
|
-
|
|
199
|
-
### Sprint 路线图格式
|
|
200
|
-
|
|
201
|
-
```markdown
|
|
202
|
-
## 📊 Sprint 路线图
|
|
203
|
-
|
|
204
|
-
| Sprint | 代号 | 核心任务 | 退出标准 | 预估 |
|
|
205
|
-
|--------|------|---------|---------|------|
|
|
206
|
-
| S1 | Hello World | 基础设施+核心数据 | headless 运行通过 + 基本渲染可见 | 3-4d |
|
|
207
|
-
| S2 | 功能成型 | 实体+交互 | 完整功能可演示 + HUD 正常 | 5-6d |
|
|
208
|
-
```
|
|
209
|
-
|
|
210
|
-
### 集成验证任务 (INT Task)
|
|
211
|
-
|
|
212
|
-
每个 Sprint 末尾必须生成一个 **INT-S{N}** 集成验证任务,专门负责验证该 Sprint 的退出标准:
|
|
213
|
-
|
|
214
|
-
```markdown
|
|
215
|
-
- [ ] **INT-S{N}** [MILESTONE]: S{N} 集成验证 — {代号}
|
|
216
|
-
- **描述**: 验证 S{N} 退出标准,确认所有跨系统功能正常协作
|
|
217
|
-
- **输入**: S{N} 所有任务的产出
|
|
218
|
-
- **输出**: 集成验证报告(通过/失败 + Bug 清单)
|
|
219
|
-
- **验收标准**:
|
|
220
|
-
- Given S{N} 所有任务已完成
|
|
221
|
-
- When 执行退出标准中的每一项检查
|
|
222
|
-
- Then 全部通过 → Sprint 完成; 有失败 → 记录 Bug 并触发修复波次
|
|
223
|
-
- **验证类型**: 集成测试 / 冒烟测试 / E2E测试(按退出标准选择其一或组合)
|
|
224
|
-
- **验证说明**: 按退出标准逐条执行;如适用,增加少量真实冒烟检查验证关键路径是否可运行;若本 Sprint 改动触及已完成关键能力,可追加最小回归检查,使用截图/录屏/日志确认
|
|
225
|
-
- **估时**: 2-4h
|
|
226
|
-
- **依赖**: S{N} 所有任务
|
|
227
|
-
```
|
|
228
|
-
|
|
229
|
-
> INT 任务是该 Sprint 的“关门任务”。未通过 INT 任务的 Sprint 不得标记为完成。
|
|
230
|
-
> 默认优先将“真实冒烟测试”收敛在 INT 任务中,而不是扩散到所有开发任务。
|
|
231
|
-
> 调用 `task-planner` 时,应把 **Sprint 边界 + INT 任务 + 冒烟测试绑定规则** 一并传入,禁止 skill 自行把冒烟测试扩散到普通开发任务。
|
|
232
|
-
|
|
233
|
-
---
|
|
234
|
-
|
|
235
|
-
## Step 4: 依赖分析 (Dependency Analysis)
|
|
236
|
-
|
|
237
|
-
**目标**: 生成 Mermaid 依赖图。
|
|
238
|
-
|
|
239
|
-
```mermaid
|
|
240
|
-
graph TD
|
|
241
|
-
T1.1.1[初始化项目] --> T2.1.1[实现API]
|
|
242
|
-
T2.1.1 --> T3.1.1[前端集成]
|
|
243
|
-
T1.2.1[数据库Schema] --> T2.1.1
|
|
244
|
-
```
|
|
245
|
-
|
|
246
|
-
**输出**: 插入到 `{TARGET_DIR}/05_TASKS.md` 开头。
|
|
247
|
-
|
|
248
|
-
---
|
|
249
|
-
|
|
166
|
+
|
|
167
|
+
### 冒烟测试使用原则
|
|
168
|
+
|
|
169
|
+
> [!IMPORTANT]
|
|
170
|
+
> **冒烟测试应当少而真实,主要用于里程碑门控,不应泛滥到每个任务。**
|
|
171
|
+
>
|
|
172
|
+
> Blueprint 生成任务时,应优先把冒烟测试放在**大进展、大功能完成、准备进入下一阶段**的关口。
|
|
173
|
+
> 它的目标是验证“系统是否基本可用 / 可演示 / 可继续推进”,而不是替代全量回归测试。
|
|
174
|
+
|
|
175
|
+
### 回归测试使用原则
|
|
176
|
+
|
|
177
|
+
> [!IMPORTANT]
|
|
178
|
+
> **回归测试不是每次小改都跑全量,而是对“已有能力是否被破坏”的有针对性复验。**
|
|
179
|
+
|
|
180
|
+
### 接口追溯规则
|
|
181
|
+
|
|
182
|
+
> [!IMPORTANT]
|
|
183
|
+
> **任务间的输入/输出必须对齐。**
|
|
184
|
+
>
|
|
185
|
+
> 如果任务 B 依赖任务 A,则 B 的「输入」必须明确引用 A 的「输出」的具体产物(文件路径、接口名、数据格式)。
|
|
186
|
+
|
|
187
|
+
---
|
|
188
|
+
|
|
189
|
+
## Step 3: Sprint 路线图与退出标准 (Sprint Roadmap)
|
|
190
|
+
|
|
191
|
+
**目标**: 将任务分组为 Sprint/里程碑,每个 Sprint 必须有明确的退出标准和集成验证任务。
|
|
192
|
+
|
|
193
|
+
> [!IMPORTANT]
|
|
194
|
+
> **每个 Sprint 必须有退出标准和 INT 集成验证任务。**
|
|
195
|
+
>
|
|
196
|
+
> Sprint 不只是“一堆任务”,而是一个有明确入口和出口的工作单元。
|
|
197
|
+
> 退出标准定义“什么算做完”,集成验证任务负责“证明做完”。
|
|
198
|
+
|
|
199
|
+
### Sprint 路线图格式
|
|
200
|
+
|
|
201
|
+
```markdown
|
|
202
|
+
## 📊 Sprint 路线图
|
|
203
|
+
|
|
204
|
+
| Sprint | 代号 | 核心任务 | 退出标准 | 预估 |
|
|
205
|
+
|--------|------|---------|---------|------|
|
|
206
|
+
| S1 | Hello World | 基础设施+核心数据 | headless 运行通过 + 基本渲染可见 | 3-4d |
|
|
207
|
+
| S2 | 功能成型 | 实体+交互 | 完整功能可演示 + HUD 正常 | 5-6d |
|
|
208
|
+
```
|
|
209
|
+
|
|
210
|
+
### 集成验证任务 (INT Task)
|
|
211
|
+
|
|
212
|
+
每个 Sprint 末尾必须生成一个 **INT-S{N}** 集成验证任务,专门负责验证该 Sprint 的退出标准:
|
|
213
|
+
|
|
214
|
+
```markdown
|
|
215
|
+
- [ ] **INT-S{N}** [MILESTONE]: S{N} 集成验证 — {代号}
|
|
216
|
+
- **描述**: 验证 S{N} 退出标准,确认所有跨系统功能正常协作
|
|
217
|
+
- **输入**: S{N} 所有任务的产出
|
|
218
|
+
- **输出**: 集成验证报告(通过/失败 + Bug 清单)
|
|
219
|
+
- **验收标准**:
|
|
220
|
+
- Given S{N} 所有任务已完成
|
|
221
|
+
- When 执行退出标准中的每一项检查
|
|
222
|
+
- Then 全部通过 → Sprint 完成; 有失败 → 记录 Bug 并触发修复波次
|
|
223
|
+
- **验证类型**: 集成测试 / 冒烟测试 / E2E测试(按退出标准选择其一或组合)
|
|
224
|
+
- **验证说明**: 按退出标准逐条执行;如适用,增加少量真实冒烟检查验证关键路径是否可运行;若本 Sprint 改动触及已完成关键能力,可追加最小回归检查,使用截图/录屏/日志确认
|
|
225
|
+
- **估时**: 2-4h
|
|
226
|
+
- **依赖**: S{N} 所有任务
|
|
227
|
+
```
|
|
228
|
+
|
|
229
|
+
> INT 任务是该 Sprint 的“关门任务”。未通过 INT 任务的 Sprint 不得标记为完成。
|
|
230
|
+
> 默认优先将“真实冒烟测试”收敛在 INT 任务中,而不是扩散到所有开发任务。
|
|
231
|
+
> 调用 `task-planner` 时,应把 **Sprint 边界 + INT 任务 + 冒烟测试绑定规则** 一并传入,禁止 skill 自行把冒烟测试扩散到普通开发任务。
|
|
232
|
+
|
|
233
|
+
---
|
|
234
|
+
|
|
235
|
+
## Step 4: 依赖分析 (Dependency Analysis)
|
|
236
|
+
|
|
237
|
+
**目标**: 生成 Mermaid 依赖图。
|
|
238
|
+
|
|
239
|
+
```mermaid
|
|
240
|
+
graph TD
|
|
241
|
+
T1.1.1[初始化项目] --> T2.1.1[实现API]
|
|
242
|
+
T2.1.1 --> T3.1.1[前端集成]
|
|
243
|
+
T1.2.1[数据库Schema] --> T2.1.1
|
|
244
|
+
```
|
|
245
|
+
|
|
246
|
+
**输出**: 插入到 `{TARGET_DIR}/05_TASKS.md` 开头。
|
|
247
|
+
|
|
248
|
+
---
|
|
249
|
+
|
|
250
250
|
## Step 5: User Story Overlay (交叉验证)
|
|
251
|
-
|
|
252
|
-
**目标**: 从**用户价值维度**验证任务完备性。WBS 按系统拆解,这一步从 User Story 视角交叉检查。
|
|
253
|
-
|
|
254
|
-
> [!IMPORTANT]
|
|
255
|
-
> **User Story Overlay 是覆盖率安全网**
|
|
256
|
-
>
|
|
257
|
-
> WBS 确保每个系统都有任务,但无法保证每个用户故事都能端到端跑通。
|
|
258
|
-
> 这一步能捕获"系统内任务齐全,但跨系统 User Story 链断裂"的问题。
|
|
259
|
-
|
|
260
|
-
### 执行步骤
|
|
261
|
-
|
|
262
|
-
1. **读取 PRD 的 User Stories**: 从 `{TARGET_DIR}/01_PRD.md` 提取所有 `US-XXX`
|
|
263
|
-
2. **构建映射**: 将每个 US 涉及的系统 → 对应的 tasks(通过 REQ 追溯 + 系统归属匹配)
|
|
264
|
-
3. **验证三项闭环**:
|
|
265
|
-
- 每个 US 是否有足够的 tasks 覆盖其**所有涉及系统**?
|
|
266
|
-
- 每个 US 的 task 链是否能形成**可独立验证**的闭环?
|
|
267
|
-
- 高优先级 US (P0) 的 task 是否分布在靠前的 Sprint?
|
|
268
|
-
|
|
251
|
+
|
|
252
|
+
**目标**: 从**用户价值维度**验证任务完备性。WBS 按系统拆解,这一步从 User Story 视角交叉检查。
|
|
253
|
+
|
|
254
|
+
> [!IMPORTANT]
|
|
255
|
+
> **User Story Overlay 是覆盖率安全网**
|
|
256
|
+
>
|
|
257
|
+
> WBS 确保每个系统都有任务,但无法保证每个用户故事都能端到端跑通。
|
|
258
|
+
> 这一步能捕获"系统内任务齐全,但跨系统 User Story 链断裂"的问题。
|
|
259
|
+
|
|
260
|
+
### 执行步骤
|
|
261
|
+
|
|
262
|
+
1. **读取 PRD 的 User Stories**: 从 `{TARGET_DIR}/01_PRD.md` 提取所有 `US-XXX`
|
|
263
|
+
2. **构建映射**: 将每个 US 涉及的系统 → 对应的 tasks(通过 REQ 追溯 + 系统归属匹配)
|
|
264
|
+
3. **验证三项闭环**:
|
|
265
|
+
- 每个 US 是否有足够的 tasks 覆盖其**所有涉及系统**?
|
|
266
|
+
- 每个 US 的 task 链是否能形成**可独立验证**的闭环?
|
|
267
|
+
- 高优先级 US (P0) 的 task 是否分布在靠前的 Sprint?
|
|
268
|
+
|
|
269
269
|
4. **生成 User Story View**: 追加到 `05_TASKS.md` 末尾
|
|
270
270
|
|
|
271
271
|
5. **生成 Contract Coverage Overlay**: 如存在公共契约,追加到 `05_TASKS.md` 末尾
|
|
@@ -280,50 +280,50 @@ graph TD
|
|
|
280
280
|
| `update --target` 显式选择语义 | CLI | T1.2.1 | T6.2.1 | ✅ |
|
|
281
281
|
| install-lock fallback 重建语义 | 文件/状态格式 | T4.1.1 | T6.2.1 | ✅ |
|
|
282
282
|
```
|
|
283
|
-
|
|
284
|
-
### User Story View 格式
|
|
285
|
-
|
|
286
|
-
```markdown
|
|
287
|
-
## 🎯 User Story Overlay
|
|
288
|
-
|
|
289
|
-
### US-001: [标题] (P1)
|
|
290
|
-
**涉及任务**: T2.1.1 → T2.1.2 → T7.2.1 → T6.1.2
|
|
291
|
-
**关键路径**: T2.1.1 → T2.1.2 → T7.2.1
|
|
292
|
-
**独立可测**: ✅ S1 结束即可演示
|
|
293
|
-
**覆盖状态**: ✅ 完整
|
|
294
|
-
|
|
295
|
-
### US-003: [标题] (P2)
|
|
296
|
-
**涉及任务**: T3.2.1
|
|
297
|
-
**关键路径**: T3.1.1 → T3.2.1
|
|
298
|
-
**独立可测**: ❌ 缺少 T4.x 衔接
|
|
299
|
-
**覆盖状态**: ⚠️ 不完整 — 缺少 executor 侧任务
|
|
300
|
-
```
|
|
301
|
-
|
|
302
|
-
### 覆盖 GAP 处理
|
|
303
|
-
|
|
304
|
-
- 如有不完整的 US → 在 Overlay 中标注 `⚠️`,并在任务清单中补充缺失的 task
|
|
305
|
-
- 如有 US 的 task 全部在后期 Sprint → 建议前移部分 task 以实现早期验证
|
|
306
|
-
- 补充的 task 必须遵守 Step 2 的任务格式模板
|
|
307
|
-
|
|
308
|
-
---
|
|
309
|
-
|
|
310
|
-
## Step 6: 生成文档
|
|
311
|
-
|
|
312
|
-
**目标**: 保存最终的任务清单,并**更新 AGENTS.md**。
|
|
313
|
-
|
|
314
|
-
1. **保存**: 将内容保存到 `.anws/v{N}/05_TASKS.md`
|
|
315
|
-
2. **验证**: 确保文件包含所有任务、验收标准和依赖图。
|
|
316
|
-
3. **更新 AGENTS.md "当前状态"**:
|
|
317
|
-
- 活动任务清单: `.anws/v{N}/05_TASKS.md`
|
|
318
|
-
- 最近一次更新: `{Today}`
|
|
319
|
-
- 写入初始波次建议,让 `/forge` 可以直接启动:
|
|
320
|
-
```markdown
|
|
321
|
-
### 🌊 Wave 1 — {S1 的第一批任务目标}
|
|
322
|
-
T{X.Y.Z}, T{X.Y.Z}, T{X.Y.Z}
|
|
323
|
-
```
|
|
324
|
-
|
|
325
|
-
---
|
|
326
|
-
|
|
283
|
+
|
|
284
|
+
### User Story View 格式
|
|
285
|
+
|
|
286
|
+
```markdown
|
|
287
|
+
## 🎯 User Story Overlay
|
|
288
|
+
|
|
289
|
+
### US-001: [标题] (P1)
|
|
290
|
+
**涉及任务**: T2.1.1 → T2.1.2 → T7.2.1 → T6.1.2
|
|
291
|
+
**关键路径**: T2.1.1 → T2.1.2 → T7.2.1
|
|
292
|
+
**独立可测**: ✅ S1 结束即可演示
|
|
293
|
+
**覆盖状态**: ✅ 完整
|
|
294
|
+
|
|
295
|
+
### US-003: [标题] (P2)
|
|
296
|
+
**涉及任务**: T3.2.1
|
|
297
|
+
**关键路径**: T3.1.1 → T3.2.1
|
|
298
|
+
**独立可测**: ❌ 缺少 T4.x 衔接
|
|
299
|
+
**覆盖状态**: ⚠️ 不完整 — 缺少 executor 侧任务
|
|
300
|
+
```
|
|
301
|
+
|
|
302
|
+
### 覆盖 GAP 处理
|
|
303
|
+
|
|
304
|
+
- 如有不完整的 US → 在 Overlay 中标注 `⚠️`,并在任务清单中补充缺失的 task
|
|
305
|
+
- 如有 US 的 task 全部在后期 Sprint → 建议前移部分 task 以实现早期验证
|
|
306
|
+
- 补充的 task 必须遵守 Step 2 的任务格式模板
|
|
307
|
+
|
|
308
|
+
---
|
|
309
|
+
|
|
310
|
+
## Step 6: 生成文档
|
|
311
|
+
|
|
312
|
+
**目标**: 保存最终的任务清单,并**更新 AGENTS.md**。
|
|
313
|
+
|
|
314
|
+
1. **保存**: 将内容保存到 `.anws/v{N}/05_TASKS.md`
|
|
315
|
+
2. **验证**: 确保文件包含所有任务、验收标准和依赖图。
|
|
316
|
+
3. **更新 AGENTS.md "当前状态"**:
|
|
317
|
+
- 活动任务清单: `.anws/v{N}/05_TASKS.md`
|
|
318
|
+
- 最近一次更新: `{Today}`
|
|
319
|
+
- 写入初始波次建议,让 `/forge` 可以直接启动:
|
|
320
|
+
```markdown
|
|
321
|
+
### 🌊 Wave 1 — {S1 的第一批任务目标}
|
|
322
|
+
T{X.Y.Z}, T{X.Y.Z}, T{X.Y.Z}
|
|
323
|
+
```
|
|
324
|
+
|
|
325
|
+
---
|
|
326
|
+
|
|
327
327
|
## 检查清单
|
|
328
328
|
- ✅ 每个 Sprint 有退出标准和 INT 集成验证任务?
|
|
329
329
|
- ✅ 05_TASKS.md 是否包含所有 WBS 任务?
|
|
@@ -334,58 +334,58 @@ graph TD
|
|
|
334
334
|
- ✅ 是否生成了 Mermaid 依赖图?
|
|
335
335
|
- ✅ User Story Overlay 已生成,覆盖 GAP 已补充?
|
|
336
336
|
- ✅ 已更新 AGENTS.md(含初始波次建议)?
|
|
337
|
-
|
|
338
|
-
---
|
|
339
|
-
|
|
340
|
-
## Step 7: 最终确认
|
|
341
|
-
|
|
342
|
-
**展示统计**:
|
|
343
|
-
```markdown
|
|
344
|
-
✅ Blueprint 阶段完成!
|
|
345
|
-
|
|
346
|
-
📊 任务统计:
|
|
347
|
-
- 总任务数: {N}
|
|
348
|
-
- P0 任务: {X}
|
|
349
|
-
- P1 任务: {Y}
|
|
350
|
-
- P2 任务: {Z}
|
|
351
|
-
- 总预估工时: {T}h
|
|
352
|
-
|
|
353
|
-
📁 产出: {TARGET_DIR}/05_TASKS.md
|
|
354
|
-
|
|
355
|
-
📋 下一步行动:
|
|
356
|
-
1. 按依赖顺序执行 P0 任务
|
|
357
|
-
2. 每完成一个任务,标记 [x] 并运行验证
|
|
358
|
-
```
|
|
359
|
-
|
|
360
|
-
---
|
|
361
|
-
|
|
362
|
-
### Agent Context 自更新
|
|
363
|
-
|
|
364
|
-
**更新 `AGENTS.md` 的 `AUTO:BEGIN` ~ `AUTO:END` 区块**:
|
|
365
|
-
|
|
366
|
-
在 `### 当前任务状态` 下写入:
|
|
367
|
-
|
|
368
|
-
```markdown
|
|
369
|
-
### 当前任务状态
|
|
370
|
-
- 任务清单: .anws/v{N}/05_TASKS.md
|
|
371
|
-
- 总任务数: {N}, P0: {X}, P1: {Y}, P2: {Z}
|
|
372
|
-
- Sprint 数: {S}
|
|
373
|
-
- Wave 1 建议: T{X.Y.Z}, T{X.Y.Z}, T{X.Y.Z}
|
|
374
|
-
- 最近更新: {Today}
|
|
375
|
-
```
|
|
376
|
-
|
|
377
|
-
---
|
|
378
|
-
|
|
379
|
-
<completion_criteria>
|
|
380
|
-
- ✅ 定位到最新架构版本 `v{N}`
|
|
381
|
-
- ✅ 任务清单 `05_TASKS.md` 已生成
|
|
382
|
-
- ✅ 每个 Level 3 任务包含验证说明
|
|
383
|
-
- ✅ 任务间输入/输出已对齐(接口追溯)
|
|
384
|
-
- ✅ 每个 Sprint 有退出标准和 INT 集成验证任务
|
|
385
|
-
- ✅ 生成了 Mermaid 依赖图
|
|
386
|
-
- ✅ User Story Overlay 已生成并验证覆盖完整性
|
|
387
|
-
- ✅ 已更新 AGENTS.md(含初始波次建议)
|
|
388
|
-
- ✅ 更新了 AGENTS.md AUTO:BEGIN 区块 (当前任务状态)
|
|
389
|
-
- ✅ 用户已确认
|
|
390
|
-
</completion_criteria>
|
|
391
|
-
|
|
337
|
+
|
|
338
|
+
---
|
|
339
|
+
|
|
340
|
+
## Step 7: 最终确认
|
|
341
|
+
|
|
342
|
+
**展示统计**:
|
|
343
|
+
```markdown
|
|
344
|
+
✅ Blueprint 阶段完成!
|
|
345
|
+
|
|
346
|
+
📊 任务统计:
|
|
347
|
+
- 总任务数: {N}
|
|
348
|
+
- P0 任务: {X}
|
|
349
|
+
- P1 任务: {Y}
|
|
350
|
+
- P2 任务: {Z}
|
|
351
|
+
- 总预估工时: {T}h
|
|
352
|
+
|
|
353
|
+
📁 产出: {TARGET_DIR}/05_TASKS.md
|
|
354
|
+
|
|
355
|
+
📋 下一步行动:
|
|
356
|
+
1. 按依赖顺序执行 P0 任务
|
|
357
|
+
2. 每完成一个任务,标记 [x] 并运行验证
|
|
358
|
+
```
|
|
359
|
+
|
|
360
|
+
---
|
|
361
|
+
|
|
362
|
+
### Agent Context 自更新
|
|
363
|
+
|
|
364
|
+
**更新 `AGENTS.md` 的 `AUTO:BEGIN` ~ `AUTO:END` 区块**:
|
|
365
|
+
|
|
366
|
+
在 `### 当前任务状态` 下写入:
|
|
367
|
+
|
|
368
|
+
```markdown
|
|
369
|
+
### 当前任务状态
|
|
370
|
+
- 任务清单: .anws/v{N}/05_TASKS.md
|
|
371
|
+
- 总任务数: {N}, P0: {X}, P1: {Y}, P2: {Z}
|
|
372
|
+
- Sprint 数: {S}
|
|
373
|
+
- Wave 1 建议: T{X.Y.Z}, T{X.Y.Z}, T{X.Y.Z}
|
|
374
|
+
- 最近更新: {Today}
|
|
375
|
+
```
|
|
376
|
+
|
|
377
|
+
---
|
|
378
|
+
|
|
379
|
+
<completion_criteria>
|
|
380
|
+
- ✅ 定位到最新架构版本 `v{N}`
|
|
381
|
+
- ✅ 任务清单 `05_TASKS.md` 已生成
|
|
382
|
+
- ✅ 每个 Level 3 任务包含验证说明
|
|
383
|
+
- ✅ 任务间输入/输出已对齐(接口追溯)
|
|
384
|
+
- ✅ 每个 Sprint 有退出标准和 INT 集成验证任务
|
|
385
|
+
- ✅ 生成了 Mermaid 依赖图
|
|
386
|
+
- ✅ User Story Overlay 已生成并验证覆盖完整性
|
|
387
|
+
- ✅ 已更新 AGENTS.md(含初始波次建议)
|
|
388
|
+
- ✅ 更新了 AGENTS.md AUTO:BEGIN 区块 (当前任务状态)
|
|
389
|
+
- ✅ 用户已确认
|
|
390
|
+
</completion_criteria>
|
|
391
|
+
|