325 lines
7.0 KiB
Markdown
325 lines
7.0 KiB
Markdown
|
|
# /aide:exec 命令设计文档
|
|||
|
|
|
|||
|
|
## 一、背景
|
|||
|
|
|
|||
|
|
### 1.1 解决的问题
|
|||
|
|
|
|||
|
|
任务执行阶段面临的挑战:
|
|||
|
|
|
|||
|
|
| 问题 | 影响 |
|
|||
|
|
|------|------|
|
|||
|
|
| 流程不完整 | 遗漏验证、文档更新等环节 |
|
|||
|
|
| 状态难追踪 | 不清楚当前进度和历史 |
|
|||
|
|
| git 操作分散 | 提交不规范,难以追溯 |
|
|||
|
|
| 返工无记录 | 问题原因和解决方案丢失 |
|
|||
|
|
|
|||
|
|
### 1.2 设计目标
|
|||
|
|
|
|||
|
|
提供**完整的任务执行闭环**:
|
|||
|
|
- 明确的环节划分(流程设计→实现→验证→文档→收尾)
|
|||
|
|
- 自动化的状态记录和 git 提交
|
|||
|
|
- 规范的问题处理和返工机制
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 二、职责
|
|||
|
|
|
|||
|
|
### 2.1 做什么
|
|||
|
|
|
|||
|
|
1. 读取任务细则,理解执行目标
|
|||
|
|
2. 设计执行流程(流程图、计划)
|
|||
|
|
3. 按计划迭代实现
|
|||
|
|
4. 验证交付物满足成功标准
|
|||
|
|
5. 更新相关文档(README、CHANGELOG)
|
|||
|
|
6. 清理收尾,汇报成果
|
|||
|
|
|
|||
|
|
### 2.2 不做什么
|
|||
|
|
|
|||
|
|
- 不进行任务分析和优化(那是 prep 的职责)
|
|||
|
|
- 不主动关注 git 操作和状态记录(由 aide flow 自动处理)
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 三、参数
|
|||
|
|
|
|||
|
|
| 参数 | 类型 | 说明 |
|
|||
|
|
|------|------|------|
|
|||
|
|
| `$ARGUMENTS` | 可选 | 任务细则文档路径 |
|
|||
|
|
|
|||
|
|
**未传入参数时**:使用 `aide config get task.spec` 获取默认路径(通常为 task-spec.md)
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 四、执行流程
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
@startuml
|
|||
|
|
skinparam defaultFontName "PingFang SC"
|
|||
|
|
|
|||
|
|
start
|
|||
|
|
|
|||
|
|
:确定任务细则路径;
|
|||
|
|
note right: 使用参数或配置默认值
|
|||
|
|
|
|||
|
|
:读取任务细则;
|
|||
|
|
|
|||
|
|
if (文档存在?) then (是)
|
|||
|
|
else (否)
|
|||
|
|
:提示先执行 /aide:prep;
|
|||
|
|
stop
|
|||
|
|
endif
|
|||
|
|
|
|||
|
|
:aide flow next-part flow-design "进入流程设计环节";
|
|||
|
|
|
|||
|
|
partition "环节1: 流程设计 (flow-design)" {
|
|||
|
|
:理解任务细则;
|
|||
|
|
:分析项目环境;
|
|||
|
|
:制定执行计划;
|
|||
|
|
|
|||
|
|
if (需要流程图?) then (是)
|
|||
|
|
:创建 PlantUML 流程图;
|
|||
|
|
:aide flow next-step "流程图设计完成";
|
|||
|
|
endif
|
|||
|
|
|
|||
|
|
:aide flow next-part impl "流程设计完成,进入实现环节";
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
partition "环节2: 迭代实现 (impl)" {
|
|||
|
|
while (还有待实现步骤?) is (是)
|
|||
|
|
:执行当前步骤;
|
|||
|
|
:aide flow next-step "<完成内容>";
|
|||
|
|
|
|||
|
|
if (遇到问题?) then (是)
|
|||
|
|
if (严重错误?) then (是)
|
|||
|
|
:aide flow error "<描述>";
|
|||
|
|
:尝试解决 (最多3次);
|
|||
|
|
if (解决成功?) then (是)
|
|||
|
|
:在 discuss/ 创建分析文档;
|
|||
|
|
else (否)
|
|||
|
|
:停止并告知用户;
|
|||
|
|
stop
|
|||
|
|
endif
|
|||
|
|
else (否)
|
|||
|
|
:aide flow issue "<描述>";
|
|||
|
|
endif
|
|||
|
|
endif
|
|||
|
|
|
|||
|
|
if (需要回退?) then (是)
|
|||
|
|
:aide flow back-step "<原因>";
|
|||
|
|
endif
|
|||
|
|
endwhile (否)
|
|||
|
|
|
|||
|
|
:aide flow next-part verify "实现完成,进入验证环节";
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
partition "环节3: 验证交付 (verify)" {
|
|||
|
|
:对照任务细则验证;
|
|||
|
|
:执行测试;
|
|||
|
|
|
|||
|
|
if (验证通过?) then (是)
|
|||
|
|
:aide flow next-step "验证完成";
|
|||
|
|
:aide flow next-part docs "验证通过,进入文档环节";
|
|||
|
|
else (否)
|
|||
|
|
:aide flow back-part impl "验证失败: <原因>";
|
|||
|
|
endif
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
partition "环节4: 文档更新 (docs)" {
|
|||
|
|
:更新 README.md (如需要);
|
|||
|
|
:更新 CHANGELOG.md;
|
|||
|
|
:aide flow next-step "文档更新完成";
|
|||
|
|
:aide flow next-part finish "文档更新完成,进入收尾";
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
partition "环节5: 收尾 (finish)" {
|
|||
|
|
:清理临时文件;
|
|||
|
|
:检查遗漏 TODO;
|
|||
|
|
:aide flow next-step "任务完成";
|
|||
|
|
:向用户汇报成果;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
stop
|
|||
|
|
@enduml
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 五、环节详解
|
|||
|
|
|
|||
|
|
### 5.1 环节1:流程设计 (flow-design)
|
|||
|
|
|
|||
|
|
**目标**:制定清晰的执行计划
|
|||
|
|
|
|||
|
|
**内容**:
|
|||
|
|
- 理解任务目标和成功标准
|
|||
|
|
- 分析执行步骤和依赖关系
|
|||
|
|
- 识别技术决策和约束
|
|||
|
|
- 制定具体实现步骤和预期产出
|
|||
|
|
|
|||
|
|
**流程图**:
|
|||
|
|
- 复杂任务建议创建 PlantUML 流程图
|
|||
|
|
- aide flow 会在此环节自动校验 PlantUML 语法
|
|||
|
|
- 进入下一环节时自动生成 PNG
|
|||
|
|
|
|||
|
|
### 5.2 环节2:迭代实现 (impl)
|
|||
|
|
|
|||
|
|
**目标**:按计划完成实际实现
|
|||
|
|
|
|||
|
|
**工作方式**:
|
|||
|
|
- 逐步执行计划中的步骤
|
|||
|
|
- 每完成一个步骤调用 `aide flow next-step`
|
|||
|
|
- 遇到问题及时记录和处理
|
|||
|
|
|
|||
|
|
**问题处理**:
|
|||
|
|
|
|||
|
|
| 问题类型 | 处理方式 |
|
|||
|
|
|----------|----------|
|
|||
|
|
| 一般问题 | `aide flow issue "<描述>"` 记录后继续 |
|
|||
|
|
| 严重错误 | `aide flow error "<描述>"` 尝试解决 |
|
|||
|
|
| 需要回退 | `aide flow back-step "<原因>"` |
|
|||
|
|
| 需要返回设计 | `aide flow back-part flow-design "<原因>"` |
|
|||
|
|
|
|||
|
|
### 5.3 环节3:验证交付 (verify)
|
|||
|
|
|
|||
|
|
**目标**:确保交付物满足要求
|
|||
|
|
|
|||
|
|
**验证内容**:
|
|||
|
|
- 每个成功标准是否满足
|
|||
|
|
- 每个交付物是否完成
|
|||
|
|
- 功能是否正常工作
|
|||
|
|
|
|||
|
|
**验证失败**:
|
|||
|
|
- 调用 `aide flow back-part impl "验证失败: <原因>"`
|
|||
|
|
- 返回实现环节修复
|
|||
|
|
|
|||
|
|
### 5.4 环节4:文档更新 (docs)
|
|||
|
|
|
|||
|
|
**目标**:更新相关文档
|
|||
|
|
|
|||
|
|
**必须更新**:
|
|||
|
|
- CHANGELOG.md(aide flow 会校验)
|
|||
|
|
|
|||
|
|
**按需更新**:
|
|||
|
|
- README.md(如有用户可见变更)
|
|||
|
|
- 其他相关文档
|
|||
|
|
|
|||
|
|
### 5.5 环节5:收尾 (finish)
|
|||
|
|
|
|||
|
|
**目标**:清理和汇报
|
|||
|
|
|
|||
|
|
**清理内容**:
|
|||
|
|
- 删除临时文件和调试代码
|
|||
|
|
- 确保代码格式规范
|
|||
|
|
- 检查遗漏的 TODO
|
|||
|
|
|
|||
|
|
**汇报内容**:
|
|||
|
|
- 完成了什么
|
|||
|
|
- 主要变更点
|
|||
|
|
- 遗留问题(如有)
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 六、与 aide 程序的交互
|
|||
|
|
|
|||
|
|
### 6.1 aide flow next-part
|
|||
|
|
|
|||
|
|
**调用时机**:进入新环节时
|
|||
|
|
|
|||
|
|
**命令**:
|
|||
|
|
```bash
|
|||
|
|
aide flow next-part <环节名> "<总结>"
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**环节名**:flow-design / impl / verify / docs / finish
|
|||
|
|
|
|||
|
|
### 6.2 aide flow next-step
|
|||
|
|
|
|||
|
|
**调用时机**:完成一个步骤时
|
|||
|
|
|
|||
|
|
**命令**:
|
|||
|
|
```bash
|
|||
|
|
aide flow next-step "<完成内容简述>"
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 6.3 aide flow back-step / back-part
|
|||
|
|
|
|||
|
|
**调用时机**:需要回退时
|
|||
|
|
|
|||
|
|
**命令**:
|
|||
|
|
```bash
|
|||
|
|
aide flow back-step "<原因>"
|
|||
|
|
aide flow back-part <环节名> "<原因>"
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 6.4 aide flow issue / error
|
|||
|
|
|
|||
|
|
**调用时机**:遇到问题时
|
|||
|
|
|
|||
|
|
**命令**:
|
|||
|
|
```bash
|
|||
|
|
aide flow issue "<问题描述>"
|
|||
|
|
aide flow error "<错误描述>"
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 6.5 aide config get
|
|||
|
|
|
|||
|
|
**调用时机**:未传入参数时
|
|||
|
|
|
|||
|
|
**命令**:
|
|||
|
|
```bash
|
|||
|
|
aide config get task.spec
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 七、注意事项
|
|||
|
|
|
|||
|
|
1. **不要主动提及 git 操作**:由 aide flow 自动处理
|
|||
|
|
2. **不要主动提及状态记录**:由 aide flow 自动处理
|
|||
|
|
3. **专注于任务实现**:这是 exec 的核心价值
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 八、依赖
|
|||
|
|
|
|||
|
|
| 依赖项 | 类型 | 说明 |
|
|||
|
|
|--------|------|------|
|
|||
|
|
| /aide:init | Command | 需要先完成环境初始化 |
|
|||
|
|
| /aide:prep | Command | 需要先完成任务准备(产出 task-spec.md) |
|
|||
|
|
| aide flow | aide 子命令 | 流程追踪 |
|
|||
|
|
| aide config | aide 子命令 | 读取配置 |
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 九、被依赖
|
|||
|
|
|
|||
|
|
无。exec 是工作流的最后一个命令。
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 十、修改指南
|
|||
|
|
|
|||
|
|
### 10.1 修改环节划分
|
|||
|
|
|
|||
|
|
1. 更新本文档的流程图和环节详解
|
|||
|
|
2. 修改执行文件 `../../commands/exec.md`
|
|||
|
|
3. 同步更新 [aide flow 设计](../../../../aide-program/docs/commands/flow.md) 中的环节校验规则
|
|||
|
|
|
|||
|
|
### 10.2 修改问题处理机制
|
|||
|
|
|
|||
|
|
1. 更新本文档的"问题处理"部分
|
|||
|
|
2. 修改执行文件中的相关指导
|
|||
|
|
|
|||
|
|
### 10.3 修改汇报格式
|
|||
|
|
|
|||
|
|
1. 更新本文档的"收尾"章节
|
|||
|
|
2. 修改执行文件中的汇报模板
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 十一、相关文档
|
|||
|
|
|
|||
|
|
- [执行文件](../../commands/exec.md)
|
|||
|
|
- [aide flow 设计](../../../../aide-program/docs/commands/flow.md)
|
|||
|
|
- [plugin 导览](../README.md)
|