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