@haaaiawd/anws 1.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.
- package/README.md +96 -0
- package/bin/cli.js +76 -0
- package/lib/copy.js +38 -0
- package/lib/index.js +8 -0
- package/lib/init.js +139 -0
- package/lib/manifest.js +53 -0
- package/lib/output.js +74 -0
- package/lib/update.js +85 -0
- package/package.json +36 -0
- package/templates/.agent/rules/agents.md +90 -0
- package/templates/.agent/skills/build-inspector/SKILL.md +83 -0
- package/templates/.agent/skills/complexity-guard/SKILL.md +71 -0
- package/templates/.agent/skills/complexity-guard/references/anti_patterns.md +21 -0
- package/templates/.agent/skills/concept-modeler/SKILL.md +112 -0
- package/templates/.agent/skills/concept-modeler/prompts/GLOSSARY_PROMPT.md +40 -0
- package/templates/.agent/skills/concept-modeler/references/ENTITY_EXTRACTION_PROMPT.md +299 -0
- package/templates/.agent/skills/concept-modeler/scripts/glossary_gen.py +66 -0
- package/templates/.agent/skills/git-forensics/SKILL.md +74 -0
- package/templates/.agent/skills/git-forensics/references/ANALYSIS_METHODOLOGY.md +193 -0
- package/templates/.agent/skills/git-forensics/scripts/git_forensics.py +615 -0
- package/templates/.agent/skills/git-forensics/scripts/git_hotspots.py +118 -0
- package/templates/.agent/skills/report-template/SKILL.md +88 -0
- package/templates/.agent/skills/report-template/references/REPORT_TEMPLATE.md +100 -0
- package/templates/.agent/skills/runtime-inspector/SKILL.md +93 -0
- package/templates/.agent/skills/spec-writer/SKILL.md +58 -0
- package/templates/.agent/skills/spec-writer/references/prd_template.md +174 -0
- package/templates/.agent/skills/system-architect/SKILL.md +620 -0
- package/templates/.agent/skills/system-architect/references/rfc_template.md +59 -0
- package/templates/.agent/skills/system-designer/SKILL.md +439 -0
- package/templates/.agent/skills/system-designer/references/system-design-template.md +533 -0
- package/templates/.agent/skills/task-planner/SKILL.md +474 -0
- package/templates/.agent/skills/task-planner/references/TASK_TEMPLATE.md +133 -0
- package/templates/.agent/skills/tech-evaluator/SKILL.md +135 -0
- package/templates/.agent/skills/tech-evaluator/references/ADR_TEMPLATE.md +68 -0
- package/templates/.agent/workflows/blueprint.md +185 -0
- package/templates/.agent/workflows/challenge.md +467 -0
- package/templates/.agent/workflows/change.md +294 -0
- package/templates/.agent/workflows/craft.md +626 -0
- package/templates/.agent/workflows/design-system.md +497 -0
- package/templates/.agent/workflows/explore.md +307 -0
- package/templates/.agent/workflows/forge.md +354 -0
- package/templates/.agent/workflows/genesis.md +265 -0
- package/templates/.agent/workflows/scout.md +130 -0
|
@@ -0,0 +1,474 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: task-planner
|
|
3
|
+
description: 使用WBS方法将系统设计文档分解为层次化任务。支持依赖分析、追溯链、验收标准。
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# 任务规划大师手册 (Task Planning Master Manual)
|
|
7
|
+
|
|
8
|
+
> "A task that can't be verified is a task that never finishes.
|
|
9
|
+
> A task without context is a task that's never understood."
|
|
10
|
+
|
|
11
|
+
你是**任务规划大师**,负责将系统设计转化为**可执行的层次化任务清单**。
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
## ⚠️ 核心原则
|
|
16
|
+
|
|
17
|
+
> [!IMPORTANT]
|
|
18
|
+
> **任务规划的四大原则**:
|
|
19
|
+
>
|
|
20
|
+
> 1. **WBS层次化** - Work Breakdown Structure三级组织
|
|
21
|
+
> 2. **原子化** - 每个Task 1-2周可完成
|
|
22
|
+
> 3. **可验证** - 每个Task有明确的Done When标准
|
|
23
|
+
> 4. **可追溯** - 每个Task关联PRD需求 [REQ-XXX]
|
|
24
|
+
|
|
25
|
+
❌ **错误做法**:
|
|
26
|
+
- 平铺任务列表(无层次)
|
|
27
|
+
- 任务过大(如"实现整个后端")
|
|
28
|
+
- 任务过小(如"写一行代码")
|
|
29
|
+
- 缺少验收标准
|
|
30
|
+
- 忽略依赖关系
|
|
31
|
+
|
|
32
|
+
✅ **正确做法**:
|
|
33
|
+
- **三级层次**: System → Phase → Task
|
|
34
|
+
- **合理粒度**: 每个Task 1-2周
|
|
35
|
+
- **清晰验收**: 明确的Done When标准
|
|
36
|
+
- **完整元数据**: ID, [REQ-XXX], 描述, 输入, 输出, 验收, 估时, 依赖, 优先级
|
|
37
|
+
|
|
38
|
+
---
|
|
39
|
+
|
|
40
|
+
## 🎯 WBS方法:Work Breakdown Structure
|
|
41
|
+
|
|
42
|
+
### Level 1: System (系统级)
|
|
43
|
+
**按系统分组**,从Architecture Overview获取系统清单。
|
|
44
|
+
|
|
45
|
+
**示例**:
|
|
46
|
+
```markdown
|
|
47
|
+
## System 1: Frontend UX System
|
|
48
|
+
## System 2: Backend API System
|
|
49
|
+
## System 3: Database System
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
**规则**:
|
|
53
|
+
- 每个系统对应Architecture Overview中的一个系统
|
|
54
|
+
- 系统顺序按依赖关系排列(被依赖的在前)
|
|
55
|
+
|
|
56
|
+
---
|
|
57
|
+
|
|
58
|
+
### Level 2: Phase (阶段级)
|
|
59
|
+
**每个系统内按实施阶段分组**。
|
|
60
|
+
|
|
61
|
+
**标准Phases**:
|
|
62
|
+
1. **Foundation** (基础设施) - 环境配置、项目初始化、依赖安装
|
|
63
|
+
2. **Core** (核心功能) - 主要业务逻辑实现
|
|
64
|
+
3. **Integration** (集成) - 跨系统集成、API对接
|
|
65
|
+
4. **Polish** (优化) - 性能优化、错误处理、测试完善
|
|
66
|
+
|
|
67
|
+
**示例**:
|
|
68
|
+
```markdown
|
|
69
|
+
### Phase 1: Foundation (基础设施)
|
|
70
|
+
### Phase 2: Core Components (核心组件)
|
|
71
|
+
### Phase 3: Integration (集成)
|
|
72
|
+
### Phase 4: Polish (优化)
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
**规则**:
|
|
76
|
+
- Phase按自然顺序排列(Foundation → Core → Integration → Polish)
|
|
77
|
+
- 每个Phase有明确的目标说明
|
|
78
|
+
|
|
79
|
+
---
|
|
80
|
+
|
|
81
|
+
### Level 3: Task (任务级)
|
|
82
|
+
**每个Phase内的具体任务**。
|
|
83
|
+
|
|
84
|
+
**Task结构**:
|
|
85
|
+
```markdown
|
|
86
|
+
- [ ] **T{System}.{Phase}.{Seq}** [REQ-XXX]: 任务描述
|
|
87
|
+
- **描述**: 简洁说明"做什么"(不是"怎么做")
|
|
88
|
+
- **输入**: 需要什么前置条件
|
|
89
|
+
- **输出**: 产出什么交付物
|
|
90
|
+
- **验收标准**:
|
|
91
|
+
- [ ] Done When 1
|
|
92
|
+
- [ ] Done When 2
|
|
93
|
+
- **验证说明**: 如何确认任务完成 (检查什么,如何确认)
|
|
94
|
+
- **估时**: 预估工时(如: 2h, 1d, 1w)
|
|
95
|
+
- **依赖**: T{X}.{Y}.{Z} (依赖的Task ID)
|
|
96
|
+
- **优先级**: P0 | P1 | P2
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
**示例**:
|
|
100
|
+
```markdown
|
|
101
|
+
- [ ] **T1.1.1** [基础]: 设置 Vite + React 项目
|
|
102
|
+
- **描述**: 初始化前端项目,配置Vite、React、TypeScript
|
|
103
|
+
- **输入**: PRD (React技术栈要求)
|
|
104
|
+
- **输出**: 可运行的Hello World应用
|
|
105
|
+
- **验收标准**:
|
|
106
|
+
- [ ] `npm run dev` 正常启动
|
|
107
|
+
- [ ] 页面显示"Hello World"
|
|
108
|
+
- [ ] TypeScript类型检查通过
|
|
109
|
+
- **估时**: 2h
|
|
110
|
+
- **依赖**: 无
|
|
111
|
+
- **优先级**: P0
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
---
|
|
115
|
+
|
|
116
|
+
## 📋 任务元数据完整性
|
|
117
|
+
|
|
118
|
+
### 必需字段
|
|
119
|
+
|
|
120
|
+
| 字段 | 格式 | 说明 | 示例 |
|
|
121
|
+
|------|------|------|------|
|
|
122
|
+
| **ID** | T{System}.{Phase}.{Seq} | 唯一标识符 | T1.2.3 |
|
|
123
|
+
| **[REQ-XXX]** | [REQ-001] 或 [基础] | 关联PRD需求或类型 | [REQ-001] |
|
|
124
|
+
| **描述** | 简洁的动词短语 | "做什么",不是"怎么做" | 实现LoginForm组件 |
|
|
125
|
+
| **输入** | 前置条件列表 | 需要什么才能开始 | PRD, 设计稿 |
|
|
126
|
+
| **输出** | 交付物列表 | 产出什么 | LoginForm.tsx |
|
|
127
|
+
| **验收标准** | [ ] 列表 | Done When清单 | [ ] 组件渲染正常 |
|
|
128
|
+
| **估时** | h, d, w | 预估工时 | 4h, 2d, 1w |
|
|
129
|
+
| **依赖** | Task ID列表 | 依赖哪些Task | T1.1.1, T2.1.2 |
|
|
130
|
+
| **优先级** | P0, P1, P2 | Must/Should/Nice | P0 |
|
|
131
|
+
|
|
132
|
+
---
|
|
133
|
+
|
|
134
|
+
### 可选字段
|
|
135
|
+
|
|
136
|
+
| 字段 | 说明 | 示例 |
|
|
137
|
+
|------|------|------|
|
|
138
|
+
| **负责人** | 建议的负责人 | @frontend-dev |
|
|
139
|
+
| **风险** | 潜在风险 | 依赖外部API,可能不稳定 |
|
|
140
|
+
| **备注** | 额外说明 | 参考System Design第5章 |
|
|
141
|
+
|
|
142
|
+
---
|
|
143
|
+
|
|
144
|
+
## 🔗 依赖关系类型
|
|
145
|
+
|
|
146
|
+
### 1. 逻辑依赖 (Logical Dependency)
|
|
147
|
+
**定义**: 技术上必须的先后顺序
|
|
148
|
+
|
|
149
|
+
**示例**:
|
|
150
|
+
```
|
|
151
|
+
T3.1.1 (数据库Schema) → T2.2.1 (后端API实现)
|
|
152
|
+
T2.2.1 (后端API实现) → T1.2.1 (前端组件消费API)
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
**如何识别**: 问"如果A没完成,B能开始吗?"
|
|
156
|
+
|
|
157
|
+
---
|
|
158
|
+
|
|
159
|
+
### 2. 资源依赖 (Resource Dependency)
|
|
160
|
+
**定义**: 共享资源导致的依赖
|
|
161
|
+
|
|
162
|
+
**示例**:
|
|
163
|
+
```
|
|
164
|
+
T1.2.1 和 T1.2.2 由同一个开发者负责
|
|
165
|
+
→ 必须串行执行(资源依赖)
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
**如何识别**: 问"A和B能否由不同人并行执行?"
|
|
169
|
+
|
|
170
|
+
---
|
|
171
|
+
|
|
172
|
+
### 3. 偏好依赖 (Preference Dependency)
|
|
173
|
+
**定义**: 最佳实践建议的顺序(技术上可以并行)
|
|
174
|
+
|
|
175
|
+
**示例**:
|
|
176
|
+
```
|
|
177
|
+
T1.2.1 (前端UI设计) → T2.2.1 (后端API实现)
|
|
178
|
+
虽然可以并行,但先有UI设计更好
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
**如何识别**: 问"虽然可以并行,但有推荐顺序吗?"
|
|
182
|
+
|
|
183
|
+
---
|
|
184
|
+
|
|
185
|
+
## 📊 任务拆分原则
|
|
186
|
+
|
|
187
|
+
### 原则1: 1-2周规则
|
|
188
|
+
**规则**: 单个Task应该在1-2周内完成。
|
|
189
|
+
|
|
190
|
+
**为什么?**
|
|
191
|
+
- 太大: 难以估时、风险不可控
|
|
192
|
+
- 太小: 管理成本高、碎片化
|
|
193
|
+
|
|
194
|
+
**检查**:
|
|
195
|
+
- Task估时 > 2周 → 继续拆分
|
|
196
|
+
- Task估时 < 2小时 → 考虑合并
|
|
197
|
+
|
|
198
|
+
---
|
|
199
|
+
|
|
200
|
+
### 原则2: 单一交付物
|
|
201
|
+
**规则**: 每个Task应该产出一个可验证的交付物。
|
|
202
|
+
|
|
203
|
+
**示例**:
|
|
204
|
+
- ✅ 好: "实现LoginForm组件" → 交付物: LoginForm.tsx
|
|
205
|
+
- ❌ 差: "做前端" → 交付物不明确
|
|
206
|
+
|
|
207
|
+
---
|
|
208
|
+
|
|
209
|
+
### 原则3: Git-Friendly
|
|
210
|
+
**规则**: 每个Task应该对应一个可审查的PR。
|
|
211
|
+
|
|
212
|
+
**示例**:
|
|
213
|
+
- ✅ 好: Task完成 = 1个PR(~200-500行代码)
|
|
214
|
+
- ❌ 差: Task完成 = 10个PR
|
|
215
|
+
|
|
216
|
+
---
|
|
217
|
+
|
|
218
|
+
### 原则4: 可验证性
|
|
219
|
+
**规则**: 每个Task必须有明确的Done When标准。
|
|
220
|
+
|
|
221
|
+
**示例**:
|
|
222
|
+
- ✅ 好: "Done When: 单元测试通过, Lint无错误, 页面渲染正常"
|
|
223
|
+
- ❌ 差: "Done When: 差不多完成了"
|
|
224
|
+
|
|
225
|
+
---
|
|
226
|
+
|
|
227
|
+
## 🛡️ 任务规划守则
|
|
228
|
+
|
|
229
|
+
### 守则1: 追溯链完整
|
|
230
|
+
**规则**: 每个Task必须关联PRD需求 [REQ-XXX]。
|
|
231
|
+
|
|
232
|
+
**为什么?** 确保所有实现都有需求依据,避免过度设计。
|
|
233
|
+
|
|
234
|
+
**示例**:
|
|
235
|
+
```markdown
|
|
236
|
+
- [ ] **T2.2.1** [REQ-001]: 实现 POST /auth/login 端点
|
|
237
|
+
```
|
|
238
|
+
|
|
239
|
+
**检查**:
|
|
240
|
+
- 所有PRD需求是否都映射到了至少一个Task?
|
|
241
|
+
- 所有Task是否都关联了PRD需求?
|
|
242
|
+
|
|
243
|
+
---
|
|
244
|
+
|
|
245
|
+
### 守则2: 验收标准具体化
|
|
246
|
+
**规则**: Done When必须具体、可测试、可观察。
|
|
247
|
+
|
|
248
|
+
**好的验收标准**:
|
|
249
|
+
- [ ] 单元测试通过(`npm test`)
|
|
250
|
+
- [ ] Lint无错误(`npm run lint`)
|
|
251
|
+
- [ ] API返回200状态码
|
|
252
|
+
- [ ] 页面在Chrome/Firefox正常渲染
|
|
253
|
+
|
|
254
|
+
**差的验收标准**:
|
|
255
|
+
- [ ] 功能正常(太模糊)
|
|
256
|
+
- [ ] 代码写完了(无法验证)
|
|
257
|
+
|
|
258
|
+
---
|
|
259
|
+
|
|
260
|
+
### 守则3: 依赖关系可视化
|
|
261
|
+
**规则**: 必须提供Mermaid依赖图。
|
|
262
|
+
|
|
263
|
+
**示例**:
|
|
264
|
+
```mermaid
|
|
265
|
+
graph TD
|
|
266
|
+
T1.1.1[前端项目初始化] --> T1.2.1[实现LoginForm]
|
|
267
|
+
T2.1.1[后端项目初始化] --> T2.2.1[实现/auth/login]
|
|
268
|
+
T3.1.1[数据库Schema] --> T2.2.1
|
|
269
|
+
T2.2.1 --> T1.2.1
|
|
270
|
+
```
|
|
271
|
+
|
|
272
|
+
**为什么?** 一图胜千言,帮助理解任务顺序。
|
|
273
|
+
|
|
274
|
+
---
|
|
275
|
+
|
|
276
|
+
### 守则4: 估时保守
|
|
277
|
+
**规则**: 估时应该偏保守,包含测试和文档时间。
|
|
278
|
+
|
|
279
|
+
**估时公式**:
|
|
280
|
+
```
|
|
281
|
+
总估时 = 开发时间 × 1.5 + 测试时间 + 文档时间
|
|
282
|
+
```
|
|
283
|
+
|
|
284
|
+
**示例**:
|
|
285
|
+
- 开发: 4h
|
|
286
|
+
- 测试: 1h
|
|
287
|
+
- 文档: 0.5h
|
|
288
|
+
- **总估时**: 4 × 1.5 + 1 + 0.5 = 7.5h → 向上取整为 **1d**
|
|
289
|
+
|
|
290
|
+
---
|
|
291
|
+
|
|
292
|
+
## 🧰 工具箱
|
|
293
|
+
|
|
294
|
+
> **输出路径**: 任务清单应保存到 `genesis/v{N}/05_TASKS.md`,由调用方 (blueprint workflow) 指定具体的 `v{N}` 版本号。
|
|
295
|
+
|
|
296
|
+
### 工具1: Tasks模板
|
|
297
|
+
使用WBS三级层次结构组织任务。
|
|
298
|
+
|
|
299
|
+
**模板**:
|
|
300
|
+
```markdown
|
|
301
|
+
# 任务清单 (Task List)
|
|
302
|
+
|
|
303
|
+
## 依赖图总览
|
|
304
|
+
[Mermaid依赖图]
|
|
305
|
+
|
|
306
|
+
## System 1: [System Name]
|
|
307
|
+
|
|
308
|
+
### Phase 1: Foundation
|
|
309
|
+
[Tasks列表]
|
|
310
|
+
|
|
311
|
+
### Phase 2: Core
|
|
312
|
+
[Tasks列表]
|
|
313
|
+
|
|
314
|
+
...
|
|
315
|
+
```
|
|
316
|
+
|
|
317
|
+
---
|
|
318
|
+
|
|
319
|
+
### 工具2: 依赖分析Checklist
|
|
320
|
+
在拆分任务后,使用此Checklist分析依赖:
|
|
321
|
+
|
|
322
|
+
- [ ] 识别所有逻辑依赖(A必须在B之前)
|
|
323
|
+
- [ ] 识别资源依赖(同一人负责的任务)
|
|
324
|
+
- [ ] 识别偏好依赖(推荐顺序)
|
|
325
|
+
- [ ] 找出可并行的任务(标记[P])
|
|
326
|
+
- [ ] 绘制Mermaid依赖图
|
|
327
|
+
|
|
328
|
+
---
|
|
329
|
+
|
|
330
|
+
### 工具3: 任务粒度检查表
|
|
331
|
+
|
|
332
|
+
| 检查项 | 标准 | 如何修正 |
|
|
333
|
+
|--------|------|---------|
|
|
334
|
+
| 估时 | 1-2周 | 过大→拆分, 过小→合并 |
|
|
335
|
+
| 交付物 | 单一明确 | 多个→拆分为多个Task |
|
|
336
|
+
| 验收标准 | 3-5条具体标准 | 模糊→细化为可测试条件 |
|
|
337
|
+
| 依赖 | < 5个依赖 | 过多→重新组织Phase |
|
|
338
|
+
|
|
339
|
+
---
|
|
340
|
+
|
|
341
|
+
## 💡 常见场景与模式
|
|
342
|
+
|
|
343
|
+
### 场景1: 新功能开发
|
|
344
|
+
**特征**: 实现一个新的User Story
|
|
345
|
+
|
|
346
|
+
**拆分模式**:
|
|
347
|
+
```
|
|
348
|
+
Phase 1: 数据层 (Database)
|
|
349
|
+
- T3.1.1: 设计Schema
|
|
350
|
+
- T3.1.2: 创建Migration
|
|
351
|
+
|
|
352
|
+
Phase 2: 业务层 (Backend)
|
|
353
|
+
- T2.2.1: 实现API端点
|
|
354
|
+
- T2.2.2: 单元测试
|
|
355
|
+
|
|
356
|
+
Phase 3: 表现层 (Frontend)
|
|
357
|
+
- T1.3.1: 实现UI组件
|
|
358
|
+
- T1.3.2: 集成API
|
|
359
|
+
|
|
360
|
+
Phase 4: 验证
|
|
361
|
+
- T99.1: E2E测试
|
|
362
|
+
```
|
|
363
|
+
|
|
364
|
+
---
|
|
365
|
+
|
|
366
|
+
### 场景2: 性能优化
|
|
367
|
+
**特征**: 优化现有功能的性能
|
|
368
|
+
|
|
369
|
+
**拆分模式**:
|
|
370
|
+
```
|
|
371
|
+
Phase 1: 分析 (Profiling)
|
|
372
|
+
- T1.1: 性能基准测试
|
|
373
|
+
- T1.2: 识别瓶颈
|
|
374
|
+
|
|
375
|
+
Phase 2: 优化 (Optimization)
|
|
376
|
+
- T2.1: 添加缓存
|
|
377
|
+
- T2.2: 优化数据库查询
|
|
378
|
+
|
|
379
|
+
Phase 3: 验证 (Validation)
|
|
380
|
+
- T3.1: 性能对比测试
|
|
381
|
+
```
|
|
382
|
+
|
|
383
|
+
---
|
|
384
|
+
|
|
385
|
+
### 场景3: Bug修复
|
|
386
|
+
**特征**: 修复已知缺陷
|
|
387
|
+
|
|
388
|
+
**拆分模式**:
|
|
389
|
+
```
|
|
390
|
+
Phase 1: 复现 (Reproduction)
|
|
391
|
+
- T1.1: 编写复现步骤
|
|
392
|
+
- T1.2: 创建失败的测试用例
|
|
393
|
+
|
|
394
|
+
Phase 2: 修复 (Fix)
|
|
395
|
+
- T2.1: 实现修复
|
|
396
|
+
- T2.2: 测试用例通过
|
|
397
|
+
|
|
398
|
+
Phase 3: 回归测试 (Regression)
|
|
399
|
+
- T3.1: 确保未引入新Bug
|
|
400
|
+
```
|
|
401
|
+
|
|
402
|
+
---
|
|
403
|
+
|
|
404
|
+
## 📊 质量检查清单
|
|
405
|
+
|
|
406
|
+
完成任务拆解后,使用此清单自检:
|
|
407
|
+
|
|
408
|
+
### 结构完整性
|
|
409
|
+
- [ ] 使用WBS三级层次(System → Phase → Task)
|
|
410
|
+
- [ ] 每个System有清晰的Phase划分
|
|
411
|
+
- [ ] 每个Task有完整的元数据
|
|
412
|
+
|
|
413
|
+
### 任务质量
|
|
414
|
+
- [ ] 每个Task估时 1-2周
|
|
415
|
+
- [ ] 每个Task有3-5条验收标准
|
|
416
|
+
- [ ] 每个Task关联PRD需求 [REQ-XXX]
|
|
417
|
+
- [ ] 每个Task描述清晰("做什么")
|
|
418
|
+
|
|
419
|
+
### 依赖关系
|
|
420
|
+
- [ ] 提供Mermaid依赖图
|
|
421
|
+
- [ ] 标注逻辑依赖、资源依赖、偏好依赖
|
|
422
|
+
- [ ] 无循环依赖
|
|
423
|
+
- [ ] 识别可并行任务
|
|
424
|
+
|
|
425
|
+
### 追溯链
|
|
426
|
+
- [ ] 所有PRD需求映射到至少一个Task
|
|
427
|
+
- [ ] 所有Task关联PRD需求或标注为[基础]
|
|
428
|
+
- [ ] 跨系统集成任务已识别
|
|
429
|
+
|
|
430
|
+
---
|
|
431
|
+
|
|
432
|
+
## 🚀 快速上手示例
|
|
433
|
+
|
|
434
|
+
**任务**: 为"用户登录"功能拆解任务
|
|
435
|
+
|
|
436
|
+
**Step 1: 确定涉及的系统**
|
|
437
|
+
- Frontend System, Backend API System, Database System
|
|
438
|
+
|
|
439
|
+
**Step 2: 按Phase组织**
|
|
440
|
+
```
|
|
441
|
+
Database System:
|
|
442
|
+
Phase 1: Foundation
|
|
443
|
+
- T3.1.1: 创建users表Schema
|
|
444
|
+
|
|
445
|
+
Backend API System:
|
|
446
|
+
Phase 2: Core
|
|
447
|
+
- T2.2.1: 实现 POST /auth/login
|
|
448
|
+
- T2.2.2: 单元测试
|
|
449
|
+
|
|
450
|
+
Frontend System:
|
|
451
|
+
Phase 2: Core
|
|
452
|
+
- T1.2.1: 实现LoginForm组件
|
|
453
|
+
- T1.2.2: 集成/auth/login API
|
|
454
|
+
```
|
|
455
|
+
|
|
456
|
+
**Step 3: 分析依赖**
|
|
457
|
+
```
|
|
458
|
+
T3.1.1 → T2.2.1 → T1.2.1 (逻辑依赖)
|
|
459
|
+
```
|
|
460
|
+
|
|
461
|
+
**Step 4: 定义验收标准**
|
|
462
|
+
```
|
|
463
|
+
T2.2.1验收:
|
|
464
|
+
- [ ] API返回JWT Token
|
|
465
|
+
- [ ] 单元测试通过
|
|
466
|
+
- [ ] Postman测试成功
|
|
467
|
+
```
|
|
468
|
+
|
|
469
|
+
---
|
|
470
|
+
|
|
471
|
+
**记住**: 好的任务拆解是平衡的艺术。
|
|
472
|
+
不要过度拆分(管理成本高),也不要过度聚合(风险不可控)。
|
|
473
|
+
|
|
474
|
+
Happy Planning! 📋
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
# Task Decomposition Template
|
|
2
|
+
|
|
3
|
+
**Project**: [Project Name]
|
|
4
|
+
**Blueprint Phase**: Approved
|
|
5
|
+
**RFC Reference**: `genesis/v{N}/02_ARCHITECTURE_OVERVIEW.md`
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## 📋 Task List
|
|
10
|
+
|
|
11
|
+
### Legend
|
|
12
|
+
- **ID**: Unique task identifier (T001, T002...)
|
|
13
|
+
- **[P]**: Parallelizable (can run independently)
|
|
14
|
+
- **[Verification]**: Checkpoint task (manual/E2E validation)
|
|
15
|
+
- **User Story**: Maps to PRD (US01, US02...)
|
|
16
|
+
- **Done When**: Verification criterion
|
|
17
|
+
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
### Phase 1: Foundation
|
|
21
|
+
|
|
22
|
+
#### T001 - Database Schema Setup
|
|
23
|
+
- **User Story**: US01
|
|
24
|
+
- **Description**: Create `users` table with fields: `id`, `email`, `password_hash`, `created_at`.
|
|
25
|
+
- **Dependencies**: None
|
|
26
|
+
- **Done When**: `psql -c "\d users"` shows correct schema.
|
|
27
|
+
|
|
28
|
+
#### T002 - [P] Environment Configuration
|
|
29
|
+
- **User Story**: US01
|
|
30
|
+
- **Description**: Add `.env` file with `DATABASE_URL`, `JWT_SECRET`.
|
|
31
|
+
- **Dependencies**: None
|
|
32
|
+
- **Done When**: `docker-compose up` starts DB without errors.
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
---
|
|
36
|
+
|
|
37
|
+
### Phase 2: Core Logic
|
|
38
|
+
|
|
39
|
+
#### T003 - User Registration Endpoint
|
|
40
|
+
- **User Story**: US01
|
|
41
|
+
- **Description**: Implement `POST /api/register` that hashes password and stores user.
|
|
42
|
+
- **Dependencies**: T001 (DB Schema)
|
|
43
|
+
- **Done When**: `curl -X POST /api
|
|
44
|
+
|
|
45
|
+
#### T004 - [P] JWT Token Generation
|
|
46
|
+
- **User Story**: US01
|
|
47
|
+
- **Description**: Create `generate_token(user_id)` helper function.
|
|
48
|
+
- **Dependencies**: T002 (JWT_SECRET configured)
|
|
49
|
+
- **Done When**: Unit test `test_generate_token()` passes.
|
|
50
|
+
|
|
51
|
+
---
|
|
52
|
+
|
|
53
|
+
### Phase 3: Integration
|
|
54
|
+
|
|
55
|
+
#### T005 - Login Endpoint
|
|
56
|
+
- **User Story**: US01
|
|
57
|
+
- **Description**: Implement `POST /api/login` that validates credentials and returns JWT.
|
|
58
|
+
- **Dependencies**: T003 (User table populated), T004 (JWT generator ready)
|
|
59
|
+
- **Done When**:
|
|
60
|
+
1. Valid login returns `{token: "..."}`.
|
|
61
|
+
2. Invalid login returns 401.
|
|
62
|
+
|
|
63
|
+
#### T005-CHK - [Verification] Verify US01 - User Authentication
|
|
64
|
+
- **User Story**: US01
|
|
65
|
+
- **Type**: Checkpoint (Story Milestone)
|
|
66
|
+
- **Description**: Validate entire authentication flow works end-to-end.
|
|
67
|
+
- **Dependencies**: All US01 tasks (T001-T005)
|
|
68
|
+
- **Done When**:
|
|
69
|
+
1. Run `npm run dev` or equivalent
|
|
70
|
+
2. Register a new user via `/api/register`
|
|
71
|
+
3. Login with valid credentials → receives JWT token
|
|
72
|
+
4. Login with invalid credentials → receives 401 error
|
|
73
|
+
5. All unit tests pass (`npm test`)
|
|
74
|
+
6. No linter errors (`npm run lint`)
|
|
75
|
+
|
|
76
|
+
---
|
|
77
|
+
|
|
78
|
+
## 🔗 Dependency Graph
|
|
79
|
+
|
|
80
|
+
```
|
|
81
|
+
T001 (DB Schema)
|
|
82
|
+
→ T003 (Register)
|
|
83
|
+
→ T005 (Login)
|
|
84
|
+
|
|
85
|
+
T002 (Env Config) [P]
|
|
86
|
+
→ T004 (JWT Helper) [P]
|
|
87
|
+
→ T005 (Login)
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
---
|
|
91
|
+
|
|
92
|
+
## 📊 Summary
|
|
93
|
+
|
|
94
|
+
| Phase | Total Tasks | Parallelizable |
|
|
95
|
+
|-------|-------------|----------------|
|
|
96
|
+
| 1 | 2 | 1 |
|
|
97
|
+
| 2 | 2 | 1 |
|
|
98
|
+
| 3 | 1 | 0 |
|
|
99
|
+
| **Total** | **5** | **2** |
|
|
100
|
+
|
|
101
|
+
---
|
|
102
|
+
|
|
103
|
+
## ✅ Acceptance Criteria
|
|
104
|
+
|
|
105
|
+
Before marking Blueprint as complete:
|
|
106
|
+
- [ ] All tasks have unique IDs
|
|
107
|
+
- [ ] Dependencies are explicit (→ notation)
|
|
108
|
+
- [ ] Each task has "Done When" criterion
|
|
109
|
+
- [ ] No task contains actual code (only descriptions <10 lines)
|
|
110
|
+
- [ ] Total estimated time is realistic
|
|
111
|
+
- [ ] User has approved this task list
|
|
112
|
+
|
|
113
|
+
---
|
|
114
|
+
|
|
115
|
+
## 🚫 Anti-Patterns to Avoid
|
|
116
|
+
|
|
117
|
+
❌ **Bad Task**:
|
|
118
|
+
```
|
|
119
|
+
T001 - Build Authentication System
|
|
120
|
+
- Implement everything related to auth
|
|
121
|
+
- Make it secure and fast
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
✅ **Good Task**:
|
|
125
|
+
```
|
|
126
|
+
T001 - Database Schema Setup
|
|
127
|
+
- Description: Create `users` table with `id`, `email`, `password_hash`.
|
|
128
|
+
- Done When: `psql -c "\d users"` shows correct schema.
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
---
|
|
132
|
+
|
|
133
|
+
**Next Step**: Proceed to `/build` workflow to implement tasks sequentially.
|