93d1b21的任务收尾
This commit is contained in:
194
.aide/task-plans/spec-05.md
Normal file
194
.aide/task-plans/spec-05.md
Normal file
@@ -0,0 +1,194 @@
|
||||
# 子计划 5:用户流程图命令实现
|
||||
|
||||
## 目标
|
||||
|
||||
创建 `/aide:user-graph` 命令,实现面向用户的长期维护流程图系统,支持分步执行和接续执行。
|
||||
|
||||
## 具体步骤
|
||||
|
||||
### 5.1 添加配置项
|
||||
|
||||
**位置**:`aide-program/aide/` 配置模块
|
||||
|
||||
**新增配置项**:
|
||||
|
||||
```toml
|
||||
[user_docs]
|
||||
# 用户流程图目录路径(相对于项目根目录)
|
||||
graph_path = "docs/graph-guide"
|
||||
|
||||
# 流程图计划文件路径
|
||||
graph_plan_path = "docs/graph-guide/plan.md"
|
||||
```
|
||||
|
||||
### 5.2 创建命令文件
|
||||
|
||||
**位置**:`aide-marketplace/aide-plugin/commands/user-graph.md`
|
||||
|
||||
**命令流程**:
|
||||
|
||||
```
|
||||
开始
|
||||
│
|
||||
├─ 检查计划文件是否存在
|
||||
│ │
|
||||
│ ├─ 不存在 → 进入分析和计划阶段
|
||||
│ │
|
||||
│ └─ 存在 → 进入接续执行阶段
|
||||
│
|
||||
└─ 结束
|
||||
```
|
||||
|
||||
### 5.3 流程图目录结构设计
|
||||
|
||||
以用户示例为参考(api-lib + api + user-interface):
|
||||
|
||||
```
|
||||
docs/graph-guide/
|
||||
├── plan.md # 计划和进度文档
|
||||
├── guide.puml # 总导览流程图
|
||||
├── api-lib/ # 子项目 1
|
||||
│ ├── guide.puml # 子项目导览
|
||||
│ ├── module-a.puml # 模块 A 流程图
|
||||
│ └── module-b.puml # 模块 B 流程图
|
||||
├── api/ # 子项目 2
|
||||
│ ├── guide.puml
|
||||
│ └── ...
|
||||
└── user-interface/ # 子项目 3
|
||||
├── guide.puml
|
||||
└── ...
|
||||
```
|
||||
|
||||
### 5.4 分析和计划阶段
|
||||
|
||||
当计划文件不存在时:
|
||||
|
||||
1. **加载项目文档**:
|
||||
- 读取 `.aide/project-docs/` 下的项目文档
|
||||
- 了解项目结构和模块
|
||||
|
||||
2. **区块划分**(按业务逻辑整体):
|
||||
- 不同于项目文档的深度全覆盖
|
||||
- 目标是呈现整体形式
|
||||
- 识别独立的开发项目/模块
|
||||
|
||||
3. **复杂度分析**:
|
||||
- 评估每个区块的复杂度
|
||||
- 估算每个区块需要的工作量
|
||||
- 识别可能需要细分的大型区块
|
||||
|
||||
4. **生成计划文档**(plan.md):
|
||||
|
||||
```markdown
|
||||
# 用户流程图编写计划
|
||||
|
||||
## 项目概述
|
||||
[基于项目文档的简要描述]
|
||||
|
||||
## 区块划分
|
||||
|
||||
| # | 区块名称 | 类型 | 复杂度 | 状态 |
|
||||
|---|----------|------|--------|------|
|
||||
| 1 | api-lib | 库项目 | 高 | pending |
|
||||
| 2 | api | 应用 | 中 | pending |
|
||||
| 3 | user-interface | 前端 | 中 | pending |
|
||||
|
||||
## 执行步骤
|
||||
|
||||
### 区块 1: api-lib
|
||||
- [ ] 步骤 1.1: 分析模块结构
|
||||
- [ ] 步骤 1.2: 编写 guide.puml
|
||||
- [ ] 步骤 1.3: 编写 module-a.puml
|
||||
- [ ] 步骤 1.4: 编写 module-b.puml
|
||||
...
|
||||
|
||||
### 区块 2: api
|
||||
...
|
||||
|
||||
## 当前进度
|
||||
- 当前区块:1
|
||||
- 当前步骤:1.1
|
||||
- 最后更新:[时间戳]
|
||||
|
||||
## 备注
|
||||
[执行过程中的记录]
|
||||
```
|
||||
|
||||
5. **用户确认**:
|
||||
- 展示计划摘要
|
||||
- 询问是否开始执行
|
||||
|
||||
### 5.5 接续执行阶段
|
||||
|
||||
当计划文件存在时:
|
||||
|
||||
1. **读取计划文档**
|
||||
2. **定位当前进度**
|
||||
3. **继续执行未完成的步骤**
|
||||
4. **每完成一个步骤,更新计划文档**
|
||||
|
||||
### 5.6 流程图类型
|
||||
|
||||
根据项目内容决定流程图类型:
|
||||
|
||||
**不含程序的项目**:
|
||||
- 引导用户了解项目的流程图
|
||||
- 内容导航图
|
||||
- 学习路径图
|
||||
|
||||
**含程序的项目**:
|
||||
- 引导流程图(如何了解项目)
|
||||
- 程序逻辑流图(参考 /aide:run 中的规范)
|
||||
- 入口点
|
||||
- 控制结构
|
||||
- 语义化抽象
|
||||
- 模块化表示
|
||||
- 层次化组织
|
||||
|
||||
### 5.7 一套流程图的标准
|
||||
|
||||
每个开发项目/区块应包含:
|
||||
|
||||
1. **guide.puml**:子项目导览
|
||||
- 模块概览
|
||||
- 调用关系
|
||||
- 数据流向
|
||||
|
||||
2. **子模块 puml**:详细流程
|
||||
- 核心逻辑
|
||||
- 关键函数
|
||||
- 状态转换
|
||||
|
||||
### 5.8 分步执行机制
|
||||
|
||||
为支持大型项目的分步执行:
|
||||
|
||||
1. **进度持久化**:通过 plan.md 记录进度
|
||||
2. **接续点精确定位**:通过区块+步骤编号
|
||||
3. **上下文恢复**:每次执行前读取项目文档和计划
|
||||
4. **增量产出**:每步完成后保存产出的 puml 文件
|
||||
|
||||
## 验证标准
|
||||
|
||||
- [ ] 计划文档格式正确,信息完整
|
||||
- [ ] 区块划分合理,符合业务逻辑
|
||||
- [ ] 接续执行能正确定位进度
|
||||
- [ ] 生成的流程图符合 PlantUML 语法
|
||||
- [ ] 流程图能正确生成 PNG
|
||||
|
||||
## 依赖
|
||||
|
||||
- 前置:子计划 4(user-docs 命令)
|
||||
- 后续:无
|
||||
|
||||
## 风险评估
|
||||
|
||||
- **风险等级**:高
|
||||
- **潜在影响**:
|
||||
- 大型项目可能需要多次对话完成
|
||||
- 区块划分不当可能导致重复工作
|
||||
- 流程图质量影响用户理解
|
||||
- **缓解措施**:
|
||||
- 完善的进度跟踪机制
|
||||
- 用户确认关键决策
|
||||
- 参考优秀的流程图设计
|
||||
Reference in New Issue
Block a user