Files
agent-aide/.aide/task-plans/spec-05.md
2025-12-19 02:30:45 +08:00

195 lines
4.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 子计划 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
## 依赖
- 前置:子计划 4user-docs 命令)
- 后续:无
## 风险评估
- **风险等级**:高
- **潜在影响**
- 大型项目可能需要多次对话完成
- 区块划分不当可能导致重复工作
- 流程图质量影响用户理解
- **缓解措施**
- 完善的进度跟踪机制
- 用户确认关键决策
- 参考优秀的流程图设计