diff --git a/.aide/flow-status.json b/.aide/flow-status.json index 0521619..2233595 100644 --- a/.aide/flow-status.json +++ b/.aide/flow-status.json @@ -1,7 +1,7 @@ { "task_id": "2025-12-15T17-28-53", "current_phase": "impl", - "current_step": 12, + "current_step": 13, "started_at": "2025-12-15T17:28:53+08:00", "history": [ { @@ -98,6 +98,14 @@ "step": 12, "summary": "子计划2: aide flow 状态查看功能完成 - status/list/show 子命令", "git_commit": "6a1b230cc98ff5535fd8cbc1d9490293e2ef6845" + }, + { + "timestamp": "2025-12-15T18:12:50+08:00", + "action": "next-step", + "phase": "impl", + "step": 13, + "summary": "子计划3: aide flow 流程图集成完成 - PlantUML 校验/构建钩子增强", + "git_commit": "5f7c91afa1723e327f04f14f245c3e51d3e49fc7" } ] } diff --git a/.aide/flow-status.lock b/.aide/flow-status.lock index a824ea8..9a9d0a3 100755 --- a/.aide/flow-status.lock +++ b/.aide/flow-status.lock @@ -1 +1 @@ -120815 \ No newline at end of file +122362 \ No newline at end of file diff --git a/aide-marketplace/aide-plugin/.claude-plugin/plugin.json b/aide-marketplace/aide-plugin/.claude-plugin/plugin.json index a942d15..416ffc4 100644 --- a/aide-marketplace/aide-plugin/.claude-plugin/plugin.json +++ b/aide-marketplace/aide-plugin/.claude-plugin/plugin.json @@ -1,9 +1,9 @@ { "name": "aide-plugin", - "description": "Aide 工作流体系插件,提供任务准备和执行的标准化流程", - "version": "1.0.2", + "description": "Aide 工作流体系插件,提供环境配置、项目认知、文档管理和任务执行的标准化流程", + "version": "2.0.0", "author": { "name": "Aide Team" }, - "keywords": ["workflow", "task", "aide", "productivity"] + "keywords": ["workflow", "task", "aide", "productivity", "documentation"] } diff --git a/aide-marketplace/aide-plugin/commands/exec.md b/aide-marketplace/aide-plugin/commands/_deprecated_exec.md similarity index 100% rename from aide-marketplace/aide-plugin/commands/exec.md rename to aide-marketplace/aide-plugin/commands/_deprecated_exec.md diff --git a/aide-marketplace/aide-plugin/commands/init.md b/aide-marketplace/aide-plugin/commands/_deprecated_init.md similarity index 100% rename from aide-marketplace/aide-plugin/commands/init.md rename to aide-marketplace/aide-plugin/commands/_deprecated_init.md diff --git a/aide-marketplace/aide-plugin/commands/prep.md b/aide-marketplace/aide-plugin/commands/_deprecated_prep.md similarity index 100% rename from aide-marketplace/aide-plugin/commands/prep.md rename to aide-marketplace/aide-plugin/commands/_deprecated_prep.md diff --git a/aide-marketplace/aide-plugin/commands/docs.md b/aide-marketplace/aide-plugin/commands/docs.md new file mode 100644 index 0000000..4fbf337 --- /dev/null +++ b/aide-marketplace/aide-plugin/commands/docs.md @@ -0,0 +1,228 @@ +# Aide 项目文档管理 + +你正在执行 Aide 项目文档管理流程。创建和维护面向 LLM 的项目文档。 + +## 前置准备 + +**首先触发 `aide` skill 学习 aide 命令的使用方法。** + +--- + +## 开始 + +### 检查文档配置 + +```bash +aide config get docs.path +aide config get docs.block_plan_path +``` + +如果未配置,使用默认值: +- 文档目录:`.aide/project-docs` +- 区块计划:`.aide/project-docs/block-plan.md` + +### 检查文档状态 + +检查文档目录是否存在及其内容: +- 不存在或为空 → 进入**创建流程** +- 已存在 → 进入**更新流程** + +--- + +## 创建流程 + +### 阶段 1:目录探索 + +1. 遍历项目目录结构 +2. 统计文件数量和大小 +3. 识别 `.gitignore` 排除项 +4. 记录关键文件(README、配置文件、入口文件等) + +### 阶段 2:初步区块划分 + +根据以下规则划分区块: + +1. **按目录结构**:每个主要目录可作为一个区块 +2. **按功能模块**:相关功能的文件归为一个区块 +3. **大小控制**:单个区块不超过 5000 行代码 +4. **低耦合**:区块间依赖关系尽量简单 + +生成初步区块计划: + +```markdown +# 区块计划 + +## 项目概况 +- 项目名称:xxx +- 主要语言:xxx +- 文件总数:xxx +- 代码行数:xxx + +## 区块划分 + +### 区块 1:[名称] +- 路径:xxx/ +- 文件数:xx +- 状态:待处理 + +### 区块 2:[名称] +... + +## 进度追踪 +- [ ] 区块 1 +- [ ] 区块 2 +... +``` + +### 阶段 3:区块验证 + +对每个区块进行浅层探索: +1. 阅读区块内的关键文件(入口、配置、README) +2. 验证区块划分是否合理 +3. 调整区块边界(如需要) + +### 阶段 4:逐区块深度了解 + +对每个区块: + +1. **完整阅读**:阅读区块内所有文件 +2. **提取信息**: + - 模块职责 + - 核心组件/类/函数 + - 对外接口 + - 依赖关系 +3. **生成文档**:按子区块文档格式生成 + +### 阶段 5:生成总导览 + +整合所有区块信息,生成总导览文档。 + +--- + +## 更新流程 + +### 阶段 1:读取区块计划 + +读取现有的区块计划文档,了解当前文档结构。 + +### 阶段 2:分区块验证 + +对每个区块: +1. 对比文档与当前代码 +2. 识别差异(新增、删除、修改) + +### 阶段 3:增量更新 + +1. 更新有变化的区块文档 +2. 更新总导览(如需要) +3. 更新区块计划的时间戳 + +--- + +## 文档格式规范 + +### 总导览文档格式 + +```markdown +# [项目名称] 项目导览 + +> 本文档面向 LLM,用于快速了解项目结构和脉络。 +> 最后更新:YYYY-MM-DD + +## 项目简介 + +[1-2 段简要描述项目目的和核心功能] + +## 技术栈 + +- 语言:xxx +- 框架:xxx +- 主要依赖:xxx + +## 架构概述 + +[简要描述项目架构,可包含简单的 ASCII 图] + +## 区块索引 + +| 区块 | 路径 | 说明 | +|------|------|------| +| [区块名](./blocks/xxx.md) | xxx/ | 简要说明 | +| ... | ... | ... | + +## 快速导航 + +- 想了解 xxx → 查看 [区块名](./blocks/xxx.md) +- 想修改 xxx → 查看 [区块名](./blocks/xxx.md) +``` + +### 子区块文档格式 + +```markdown +# [区块名称] + +> 路径:xxx/ +> 最后更新:YYYY-MM-DD + +## 概述 + +[区块的职责和作用] + +## 文件清单 + +| 文件 | 说明 | +|------|------| +| xxx.py | 简要说明 | +| ... | ... | + +## 核心组件 + +### [组件/类/函数名] + +- **职责**:xxx +- **位置**:`文件:行号` +- **关键方法**: + - `method1()` - 说明 + - `method2()` - 说明 + +## 接口说明 + +[对外暴露的接口、API、命令等] + +## 依赖关系 + +- 依赖:[其他区块名] +- 被依赖:[其他区块名] + +## 注意事项 + +[开发时需要注意的点] +``` + +--- + +## 多对话续接 + +如果项目过大,可能需要多次对话完成: + +1. 每次开始时读取区块计划 +2. 找到未完成的区块 +3. 继续处理 +4. 更新区块计划的进度 + +--- + +## 完成 + +文档创建/更新完成后: + +1. 确认所有区块已处理 +2. 确认总导览已更新 +3. 向用户汇报完成情况 + +``` +项目文档已更新: +- 总导览:.aide/project-docs/README.md +- 区块数:N 个 +- 本次更新:[新增/更新的区块列表] +``` diff --git a/aide-marketplace/aide-plugin/commands/load.md b/aide-marketplace/aide-plugin/commands/load.md new file mode 100644 index 0000000..f4a8a27 --- /dev/null +++ b/aide-marketplace/aide-plugin/commands/load.md @@ -0,0 +1,95 @@ +# Aide 项目认知载入 + +你正在执行 Aide 项目认知载入流程。按需载入项目文档,建立对项目的认知。 + +## 前置准备 + +**首先触发 `aide` skill 学习 aide 命令的使用方法。** + +--- + +## 开始 + +### 1. 检查项目文档配置 + +```bash +aide config get docs.path +``` + +### 2. 检查文档是否存在 + +检查配置的文档目录是否存在且包含内容。 + +**如果文档不存在**: +- 提示用户先执行 `/aide:docs` 创建项目文档 +- 或者直接进行快速项目认知(见下文) + +**如果文档存在**: +- 进入文档载入流程 + +--- + +## 文档载入流程 + +### 阶段 1:载入总导览 + +读取总导览文档(通常是 `.aide/project-docs/README.md`): +- 了解项目简介 +- 了解技术栈 +- 了解架构概述 +- 获取区块索引 + +### 阶段 2:建立脉络认知 + +基于总导览,建立对项目的整体认知: +- 项目的核心功能是什么 +- 主要模块有哪些 +- 模块之间的关系 + +**此时仅了解脉络,不深入细节。** + +### 阶段 3:按需深入 + +后续根据任务需要,按需载入相关区块的详细文档: +- 任务涉及哪些模块 → 载入对应区块文档 +- 需要了解某个功能 → 载入相关区块文档 + +--- + +## 快速项目认知(无文档时) + +如果项目文档不存在,进行快速认知: + +### 1. 阅读关键文件 + +按优先级阅读: +1. `README.md` - 项目说明 +2. `CLAUDE.md` - Claude 指令(如存在) +3. 配置文件(`package.json`、`Cargo.toml`、`pyproject.toml` 等) +4. 入口文件(`main.py`、`index.js`、`main.rs` 等) + +### 2. 探索目录结构 + +```bash +# 了解项目结构 +ls -la +``` + +识别主要目录和它们的用途。 + +### 3. 建立初步认知 + +基于以上信息,建立对项目的初步认知: +- 项目类型和用途 +- 主要目录结构 +- 核心模块位置 + +--- + +## 完成 + +项目认知载入完成后: +- 已建立对项目的整体认知 +- 可以根据任务需要按需深入了解细节 + +**注意**:此命令通常由 `/aide:run` 自动调用,不需要单独执行。 diff --git a/aide-marketplace/aide-plugin/commands/run.md b/aide-marketplace/aide-plugin/commands/run.md new file mode 100644 index 0000000..bc4e905 --- /dev/null +++ b/aide-marketplace/aide-plugin/commands/run.md @@ -0,0 +1,287 @@ +# Aide 任务执行 + +你正在执行 Aide 任务执行流程。这是核心命令,整合了任务准备和任务执行。 + +## 参数 + +- `$ARGUMENTS`:任务文档路径(可选) +- 未传入时根据 flow 状态决定行为 + +--- + +## 前置准备 + +**首先触发 `aide` skill 学习 aide 命令的使用方法。** + +--- + +## 开始 + +### 检查 flow 状态 + +```bash +aide flow status +``` + +根据状态决定行为: + +- **无活跃任务** 或 **当前任务已 finish** → 进入**新任务流程** +- **当前任务未完成** → 进入**续接流程** + +--- + +## 新任务流程 + +### 阶段 1:任务准备 (task-optimize) + +#### 1.1 启动流程追踪 + +```bash +aide flow start task-optimize "开始任务准备: <任务简述>" +``` + +#### 1.2 确定任务文档 + +```bash +# 如果传入了参数 +任务文档 = $ARGUMENTS + +# 如果未传入参数,使用配置默认值 +aide config get task.source +``` + +读取任务文档内容。如文档不存在,询问用户提供任务内容。 + +#### 1.3 任务分析 + +- 任务要解决什么问题? +- 最终交付物是什么? +- 成功的标准是什么? +- 涉及哪些模块/系统? + +#### 1.4 复杂度评估 + +根据**任务复杂度评估指导原则**(见附录)评估任务复杂度: + +- **简单/中等任务**:直接生成任务细则 +- **复杂/超大任务**:拆分为多个子计划 + +#### 1.5 任务优化 + +- 识别歧义和不明确之处 +- 识别隐含假设 +- 明确任务边界 +- 生成待定项(如有) + +#### 1.6 待定项处理(如有) + +```bash +aide decide submit .aide/pending-items.json +# 用户完成后 +aide decide result +``` + +#### 1.7 生成任务细则 + +产出任务细则文档,保存到配置的路径。 + +```bash +aide flow next-step "任务准备完成" +``` + +### 阶段 2:流程设计 (flow-design) + +```bash +aide flow next-part flow-design "进入流程设计环节" +``` + +#### 2.1 制定执行计划 + +- 具体的实现步骤 +- 每个步骤的预期产出 +- 潜在风险和应对方案 + +#### 2.2 创建流程图 + +在配置的流程图目录创建 PlantUML 源文件: + +```bash +aide config get flow.diagram_path +``` + +**所有任务必须有流程图**,用于: +- 规范化思考 +- 方便用户审阅 +- 早期发现逻辑错误 + +```bash +aide flow next-step "流程图设计完成" +``` + +#### 2.3 进入实现环节 + +```bash +aide flow next-part impl "流程设计完成,进入实现环节" +``` + +> aide flow 会自动校验 PlantUML 并生成 PNG + +### 阶段 3:迭代实现 (impl) + +按计划执行,每完成一个步骤: + +```bash +aide flow next-step "<完成内容简述>" +``` + +遇到问题时: + +```bash +aide flow issue "<一般问题>" +aide flow error "<严重错误>" +``` + +需要回退时: + +```bash +aide flow back-step "<原因>" +aide flow back-part <环节名> "<原因>" +``` + +### 阶段 4:验证交付 (verify) + +```bash +aide flow next-part verify "实现完成,进入验证环节" +``` + +- 对照任务细则验证每个成功标准 +- 执行测试(如适用) +- 验证失败则回退修复 + +```bash +aide flow next-step "验证完成: <验证结论>" +``` + +### 阶段 5:文档更新 (docs) + +```bash +aide flow next-part docs "验证通过,进入文档环节" +``` + +更新相关文档: +- `README.md`(如有用户可见变更) +- `CHANGELOG.md` +- 其他相关文档 + +```bash +aide flow next-step "文档更新完成" +``` + +### 阶段 6:收尾 (finish) + +```bash +aide flow next-part finish "文档更新完成,进入收尾" +``` + +- 清理临时文件 +- 检查遗漏的 TODO +- 向用户汇报完成情况 + +```bash +aide flow next-step "任务完成" +``` + +--- + +## 续接流程 + +当检测到未完成的任务时: + +### 1. 分析当前进度 + +```bash +aide flow status +aide flow show +``` + +了解: +- 当前处于哪个环节 +- 已完成哪些步骤 +- 最后的操作是什么 + +### 2. 载入项目认知 + +调用 `/aide:load` 的逻辑,按需载入项目文档。 + +### 3. 读取任务细则 + +```bash +aide config get task.spec +``` + +读取任务细则,了解任务目标和计划。 + +### 4. 继续执行 + +根据当前环节,从中断处继续执行。 + +--- + +## 复杂任务的子计划执行 + +对于拆分为多个子计划的复杂任务: + +### 执行模式 + +``` +task-optimize → [flow-design → impl → verify → docs] × N → finish +``` + +### 流程 + +1. 完成 task-optimize,生成任务导览和所有子计划细则 +2. 对每个子计划: + - 进入 flow-design,为该子计划设计流程图 + - 进入 impl,实现该子计划 + - 进入 verify,验证该子计划 + - 进入 docs,更新该子计划相关文档 + - 标记子计划完成,更新任务导览 +3. 所有子计划完成后,进入 finish + +### 子计划切换 + +完成一个子计划的 docs 后: + +```bash +aide flow next-step "子计划 N 完成,开始子计划 N+1" +aide flow back-part flow-design "开始下一个子计划的流程设计" +``` + +--- + +## 附录:任务复杂度评估指导原则 + +### 评估维度 + +1. **结构维度**:模块数量、文件数量、依赖关系 +2. **逻辑维度**:业务复杂度、状态管理、边界条件 +3. **集成维度**:外部依赖、数据格式、兼容性 +4. **风险维度**:技术风险、影响范围、回滚难度 + +### 复杂度等级 + +| 等级 | 特征 | 处理方式 | +|------|------|----------| +| 简单 | 单文件或少量文件,逻辑清晰 | 直接执行 | +| 中等 | 2-4 个模块,有一定依赖 | 直接执行,注意顺序 | +| 复杂 | 5+ 模块,复杂依赖 | **拆分为子计划** | +| 超大 | 10+ 模块,全面重构 | 拆分为独立任务 | + +### 拆分判断标准 + +满足以下任一条件时应拆分: +1. 涉及 3 个以上独立功能模块 +2. 任务自然分为多个可独立交付的阶段 +3. 存在高风险环节,需要阶段性验证 +4. 存在明确的前后依赖关系 +5. 单次对话可能无法完成 diff --git a/aide-marketplace/aide-plugin/commands/setup.md b/aide-marketplace/aide-plugin/commands/setup.md new file mode 100644 index 0000000..b9cad4f --- /dev/null +++ b/aide-marketplace/aide-plugin/commands/setup.md @@ -0,0 +1,92 @@ +# Aide 环境配置 + +你正在执行 Aide 环境配置流程。这是一个**独立运行**的命令,专注于环境依赖分析、配置、检测和修复。 + +## 前置准备 + +**首先触发 `env-config` skill 学习详细的环境配置方法。** + +这是必要步骤,确保你了解各种环境模块的配置和故障排除方法。 + +--- + +## 开始 + +### 1. 检查 aide 运行时环境 + +```bash +aide env ensure --runtime +``` + +如果失败,根据 env-config skill 的指导进行修复。 + +### 2. 初始化 aide 目录 + +```bash +aide init +``` + +### 3. 分析项目依赖 + +探索项目结构,识别项目类型和依赖: + +- **Python 项目**:检查 `requirements.txt`、`pyproject.toml`、`setup.py` +- **Node.js 项目**:检查 `package.json` +- **Rust 项目**:检查 `Cargo.toml` +- **Flutter 项目**:检查 `pubspec.yaml` +- **多语言项目**:识别所有涉及的语言和框架 + +### 4. 配置环境模块 + +根据项目类型配置相应的环境模块: + +```bash +# 示例:Python 项目 +aide env set modules python,uv,venv,requirements +aide env set venv.path .venv +aide env set requirements.path requirements.txt + +# 示例:Node.js 项目 +aide env set modules node,node_deps +aide env set node_deps.path . +aide env set node_deps.manager npm + +# 示例:Rust 项目 +aide env set modules rust +``` + +### 5. 执行环境检测 + +```bash +aide env ensure +``` + +### 6. 处理问题 + +如果检测失败: + +1. 阅读错误信息 +2. 参考 env-config skill 的故障排除指南 +3. 尝试修复(最多 3 次) +4. 如果无法自动修复,向用户说明问题并请求帮助 + +--- + +## 完成 + +环境配置完成后,向用户汇报: + +``` +环境配置完成: +- 项目类型:[识别的项目类型] +- 启用模块:[模块列表] +- 检测结果:全部通过 / 部分问题(详情) +``` + +--- + +## 注意事项 + +- 此命令是**独立运行**的,通常在新项目开始时执行一次 +- 后续任务执行时不会再专门处理环境问题,除非遇到意外错误 +- 如果用户报告环境问题,可以重新执行此命令进行诊断和修复 diff --git a/cache/rename_old_commands.sh b/cache/rename_old_commands.sh new file mode 100755 index 0000000..3c95e7b --- /dev/null +++ b/cache/rename_old_commands.sh @@ -0,0 +1,10 @@ +#!/bin/bash +cd /home/user/temp/ccoptimize/aide-marketplace/aide-plugin/commands + +# 重命名旧命令文件 +mv init.md _deprecated_init.md 2>/dev/null || echo "init.md 不存在或已重命名" +mv prep.md _deprecated_prep.md 2>/dev/null || echo "prep.md 不存在或已重命名" +mv exec.md _deprecated_exec.md 2>/dev/null || echo "exec.md 不存在或已重命名" + +echo "旧命令文件已重命名" +ls -la