| name | dev-planning |
| description | 开发计划工作流。基于需求文档制定详细开发计划,拆解任务,明确依赖关系和文件修改范围。在"/dev-plan"、"/开发计划"、"制定计划"时使用。 |
开发计划工作流
定位
开发流程第二阶段:制定开发计划
核心目标:基于技术背景制定可执行的开发计划
前置条件
- 需求文档已存在:
docs/requirements/feature-xxx.md
- 需求文档状态为"已确认"
工作流程
1. 读取需求
- 读取对应的需求文档
- 确认需求状态为"已确认"
- 如有待澄清问题,先与用户澄清
2. 技术调研
理解项目背景:
- 技术栈是什么?
- 现有代码结构如何?
- 有哪些可复用的模块?
- 代码规范是什么?
评估技术方案:
- 有几种实现方式?
- 各方案的优缺点?
- 推荐哪种方案?为什么?
识别技术风险:
- 有没有技术难点?
- 需要引入新依赖吗?
- 有没有性能/安全风险?
3. 任务拆解
拆解原则:一个任务 = 可独立验证的最小单元
- ✅ 完成后能看到明确效果
- ✅ 不依赖其他未完成任务即可验证
- ✅ 一般对应 1-3 个文件修改
- ✅ 预期 1 个 commit 完成
任务要素:
- 任务 ID(全局唯一,如 T1, T2)
- 任务描述
- 涉及文件
- 依赖关系
- 分配(如果多 Agent)
4. 依赖分析
- 哪些任务可以并行?
- 哪些任务必须串行?
- 关键路径是什么?
5. 多 Agent 分配(如需要)
分配原则:
- 相关性高的任务分给同一 Agent
- 减少 Agent 之间的依赖
- 明确交接点
创建任务分配文档:
docs/dev-plans/tasks/agent-1.md
docs/dev-plans/tasks/agent-2.md
6. 生成开发计划
保存到 docs/dev-plans/feature-xxx.md
交付物格式
开发计划文档
# [Feature 名称] 开发计划
> 创建日期:YYYY-MM-DD
> 需求文档:[feature-xxx.md](../requirements/feature-xxx.md)
> 状态:草稿 / 已确认
## 技术背景
### 技术栈
- 前端:
- 后端:
- 数据库:
### 相关模块
- `src/xxx`:[描述]
- `src/yyy`:[描述]
### 代码规范
- [规范1]
- [规范2]
## 技术方案
### 方案选择
[选择的方案及理由]
### 技术风险
- 风险1:[描述] → 应对:[措施]
- 风险2:[描述] → 应对:[措施]
## 任务列表
### T1: [任务名称]
- **描述**:[详细描述]
- **文件**:
- `src/xxx.ts`(新增)
- `src/yyy.ts`(修改)
- **依赖**:无
- **分配**:Agent-1
- **预估**:1 commit
- **状态**:⬜ 待开始
### T2: [任务名称]
- **描述**:[详细描述]
- **文件**:
- `src/zzz.ts`(修改)
- **依赖**:T1
- **分配**:Agent-1
- **预估**:1 commit
- **状态**:⬜ 待开始
### T3: [任务名称]
- **描述**:[详细描述]
- **文件**:
- `src/components/xxx.tsx`(新增)
- **依赖**:无
- **分配**:Agent-2
- **预估**:1 commit
- **状态**:⬜ 待开始
## 依赖关系
T1 ──→ T2 ──→ T4
↗
T3 ──────────┘
### 关键路径
T1 → T2 → T4
### 可并行任务
- T1 和 T3 可并行
- T2 和 T3 可并行
## 任务分配(多 Agent)
| Agent | 任务 | 依赖 |
|-------|-----|------|
| Agent-1 | T1, T2 | - |
| Agent-2 | T3, T4 | T4 依赖 T2 |
详见:
- [Agent-1 任务清单](./tasks/agent-1.md)
- [Agent-2 任务清单](./tasks/agent-2.md)
## 验收检查点
- [ ] T1 完成后:[可验证的效果]
- [ ] T2 完成后:[可验证的效果]
- [ ] 全部完成后:[整体验收标准]
Agent 任务分配文档
# Agent-1 任务清单
> Feature:[feature-xxx]
> 开发计划:[feature-xxx.md](../feature-xxx.md)
## 分配任务
### T1: [任务名称]
- **状态**:⬜ 待开始
- **描述**:[详细描述]
- **文件**:`src/xxx.ts`
- **依赖**:无
- **验收**:[完成标准]
### T2: [任务名称]
- **状态**:⬜ 待开始
- **描述**:[详细描述]
- **文件**:`src/yyy.ts`
- **依赖**:T1
- **验收**:[完成标准]
## 依赖说明
- T2 等待 T1 完成后开始
## 完成记录
| 任务 | 完成时间 | Commit |
|-----|---------|--------|
| T1 | - | - |
| T2 | - | - |
任务状态标记
流转条件
开发计划经用户确认后,可进入下一阶段:代码开发
确认方式:
- 用户明确表示"计划确认"
- 或用户说"开始开发"
- 或用户触发 plan mode
注意事项
- 任务粒度适中:太细碎增加管理成本,太粗放难以追踪
- 依赖关系清晰:避免循环依赖,明确关键路径
- 文件范围明确:每个任务涉及哪些文件要写清楚
- 预留缓冲:复杂任务可能需要多个 commit
- 及时更新状态:任务状态变化要同步更新文档