feat: 将 task 从 plan 文档提升为独立 SDD 阶段
This commit is contained in:
18
README.md
18
README.md
@@ -37,12 +37,13 @@ bunx @lanyuanxiaoyao/rune update claude-code # 更新 Claude Code 的命令
|
||||
|
||||
### SDD 流程
|
||||
|
||||
SDD 工作流包含固定的四个阶段,不可自定义增删:
|
||||
SDD 工作流包含固定的五个阶段,不可自定义增删:
|
||||
|
||||
1. **讨论阶段** — `/rune-discuss`:与 AI 自由讨论需求和方案。讨论结果保留在 AI 会话上下文中传递到后续阶段,不持久化到文件。结束前会引导是否进入规划阶段。
|
||||
2. **规划阶段** — `/rune-plan <变更名> <文档名>`:按配置的文档模板生成规划文档。变更名仅支持中文、英文和短横线(`-`)。默认包含 `design`(设计文档)和 `task`(任务清单,依赖 design)两个文档。文档间支持 `depend` 字段声明前置依赖,依赖未满足时有友好提示。plan 命令自身不写入文件,只输出提示词供 AI 消费。
|
||||
3. **构建阶段** — `/rune-build <变更名>`:按 task.md 中的任务顺序逐个实现。每个任务完成后更新对应的 checkbox 为 `[x]`。可多次执行直到所有任务完成。
|
||||
4. **归档阶段** — `/rune-archive <变更名>`:输出归档阶段提示词,引导 AI 汇总变更内容并确认归档。归档前自动检查 task.md 的完成状态,如有未完成任务会注入警告提示词,引导 AI 询问用户是否确认。确认后执行 `rune finish <变更名>` 将变更目录移动到 `archive/`。
|
||||
2. **规划阶段** — `/rune-plan <变更名> <文档名>`:按配置的文档模板生成规划文档。变更名仅支持中文、英文和短横线(`-`)。默认包含 `design`(设计文档)一个文档。文档间支持 `depend` 字段声明前置依赖,依赖未满足时有友好提示。plan 命令自身不写入文件,只输出提示词供 AI 消费。
|
||||
3. **任务拆解阶段** — `/rune-task <变更名>`:根据规划阶段生成的文档内容,拆分为 checkbox 格式的任务清单(task.md)。规划阶段的所有文档必须已完成。格式固定为 checkbox 列表(`- [ ] 待完成`、`- [x] 已完成`),不可自定义模板。
|
||||
4. **构建阶段** — `/rune-build <变更名>`:按 task.md 中的任务顺序逐个实现。每个任务完成后更新对应的 checkbox 为 `[x]`。可多次执行直到所有任务完成。
|
||||
5. **归档阶段** — `/rune-archive <变更名>`:输出归档阶段提示词,引导 AI 汇总变更内容并确认归档。归档前自动检查 task.md 的完成状态,如有未完成任务会注入警告提示词,引导 AI 询问用户是否确认。确认后执行 `rune finish <变更名>` 将变更目录移动到 `archive/`。
|
||||
|
||||
> **辅助命令**:`rune create <变更名>` 用于在 `.rune/changes/` 下创建变更目录。它不是 SDD 阶段,而是在 discuss 结束后或 plan 开始前通过 CLI 运行的辅助命令。discuss 和 plan 的编辑器命令中已内嵌 create 的使用引导。
|
||||
|
||||
@@ -70,6 +71,7 @@ bunx @lanyuanxiaoyao/rune version # 显示版本号
|
||||
| `bunx @lanyuanxiaoyao/rune discuss` | 输出讨论阶段提示词 |
|
||||
| `bunx @lanyuanxiaoyao/rune create <变更名>` | 创建变更目录(discuss 和 plan 之间的辅助命令) |
|
||||
| `bunx @lanyuanxiaoyao/rune plan <变更名> <文档名>` | 输出规划阶段提示词 |
|
||||
| `bunx @lanyuanxiaoyao/rune task <变更名>` | 输出任务拆解阶段提示词 |
|
||||
| `bunx @lanyuanxiaoyao/rune build <变更名>` | 输出构建阶段提示词 |
|
||||
| `bunx @lanyuanxiaoyao/rune archive <变更名>` | 输出归档阶段提示词 |
|
||||
| `bunx @lanyuanxiaoyao/rune finish <变更名>` | 归档变更(将变更目录移动到 archive/) |
|
||||
@@ -79,7 +81,7 @@ bunx @lanyuanxiaoyao/rune version # 显示版本号
|
||||
|
||||
编辑 `.rune/config.yaml` 自定义各阶段的提示词和文档模板。配置合并采用阶段级别全量覆盖策略:自定义某个阶段时需完整重写该阶段的配置,未配置的阶段使用内置默认配置。
|
||||
|
||||
规划阶段的文档支持 `depend` 字段声明前置依赖,如 `task` 依赖 `design`:
|
||||
规划阶段的文档支持 `depend` 字段声明前置依赖:
|
||||
|
||||
```yaml
|
||||
stages:
|
||||
@@ -87,8 +89,8 @@ stages:
|
||||
documents:
|
||||
- name: design
|
||||
prompt: 生成设计文档,包含背景、目标、方案、接口和注意事项
|
||||
- name: task
|
||||
prompt: 生成任务清单,将设计拆分为可独立执行的小任务
|
||||
- name: api
|
||||
prompt: 生成 API 设计文档
|
||||
depend: [design]
|
||||
```
|
||||
|
||||
@@ -96,7 +98,7 @@ stages:
|
||||
|
||||
## 设计决策
|
||||
|
||||
- **四阶段固定**:discuss → plan → build → archive 不可自定义增删
|
||||
- **五阶段固定**:discuss → plan → task → build → archive 不可自定义增删
|
||||
- **配置覆盖策略**:阶段级别全量覆盖,不支持字段级合并
|
||||
- **讨论结果不持久化**:完全依赖 AI 会话上下文传递
|
||||
- **plan 不写文件**:plan 命令只输出提示词,由 AI 负责写入文档
|
||||
|
||||
Reference in New Issue
Block a user