diff --git a/.aide/branches.json b/.aide/branches.json index 42253b0..eeb0fa7 100644 --- a/.aide/branches.json +++ b/.aide/branches.json @@ -1,5 +1,5 @@ { - "next_number": 21, + "next_number": 22, "branches": [ { "number": 1, @@ -234,6 +234,18 @@ "status": "finished", "end_commit": "3ed7848bd721f2c7f5fb7b247259c5c3a201ded6", "finished_at": "2025-12-19T03:58:34+08:00" + }, + { + "number": 21, + "branch_name": "aide/021", + "source_branch": "master", + "start_commit": "af6605e5b98073727129e613cc5d37e27dc300f8", + "task_id": "2025-12-19T04-09-25", + "task_summary": "开始任务准备: 将任务计划文件清理功能从 command/run 迁移到 aide", + "started_at": "2025-12-19T04:09:25+08:00", + "status": "finished", + "end_commit": "d93eecca44169cf88d0d1397dcf80e507487d1c0", + "finished_at": "2025-12-19T04:25:16+08:00" } ] } diff --git a/.aide/branches.md b/.aide/branches.md index 7175ce0..ad1bf39 100644 --- a/.aide/branches.md +++ b/.aide/branches.md @@ -1,5 +1,16 @@ # Git 分支概况 +## aide/021 + +- **任务**: 开始任务准备: 将任务计划文件清理功能从 command/run 迁移到 aide +- **任务ID**: 2025-12-19T04-09-25 +- **源分支**: master +- **起始提交**: af6605e +- **结束提交**: d93eecc +- **状态**: finished +- **起始时间**: 2025-12-19 04:09 +- **结束时间**: 2025-12-19 04:25 + ## aide/020 - **任务**: 开始任务准备: 调整 commands/skills/aide-program 体系 diff --git a/.aide/logs/2025-12-19T04-09-25-status.json b/.aide/logs/2025-12-19T04-09-25-status.json new file mode 100644 index 0000000..6d4b965 --- /dev/null +++ b/.aide/logs/2025-12-19T04-09-25-status.json @@ -0,0 +1,139 @@ +{ + "task_id": "2025-12-19T04-09-25", + "current_phase": "finish", + "current_step": 16, + "started_at": "2025-12-19T04:09:25+08:00", + "history": [ + { + "timestamp": "2025-12-19T04:09:25+08:00", + "action": "start", + "phase": "task-optimize", + "step": 1, + "summary": "开始任务准备: 将任务计划文件清理功能从 command/run 迁移到 aide", + "git_commit": "94c9f2fad7b174e85c9b840c8064c2b01517b6ea" + }, + { + "timestamp": "2025-12-19T04:15:15+08:00", + "action": "next-step", + "phase": "task-optimize", + "step": 2, + "summary": "任务细则已确认", + "git_commit": "1895b5619b3d3edd2bc7631ed25940686376251c" + }, + { + "timestamp": "2025-12-19T04:15:33+08:00", + "action": "next-part", + "phase": "flow-design", + "step": 3, + "summary": "进入流程设计环节", + "git_commit": "625036addd0f5acc8df78f394380d0aebb034c4f" + }, + { + "timestamp": "2025-12-19T04:17:08+08:00", + "action": "next-step", + "phase": "flow-design", + "step": 4, + "summary": "流程图设计完成", + "git_commit": "a894c6c0ffc10893bf032e7cf41ca39d258f48c8" + }, + { + "timestamp": "2025-12-19T04:17:59+08:00", + "action": "next-part", + "phase": "impl", + "step": 5, + "summary": "流程设计完成,进入实现环节", + "git_commit": "5a781cbd92a7c76e4016e2334da6f006c3733539" + }, + { + "timestamp": "2025-12-19T04:19:01+08:00", + "action": "next-step", + "phase": "impl", + "step": 6, + "summary": "完成 hooks.py 修改:添加 _hook_clean_task_plans 函数", + "git_commit": "7c269070045f4e2f29efeda778bc92c8a1391d71" + }, + { + "timestamp": "2025-12-19T04:19:49+08:00", + "action": "next-step", + "phase": "impl", + "step": 7, + "summary": "完成 run.md 修改:删除手动清理指令", + "git_commit": "1fc90a92a44e62a85e230f4441914c1ec9640041" + }, + { + "timestamp": "2025-12-19T04:20:35+08:00", + "action": "next-step", + "phase": "impl", + "step": 8, + "summary": "auto-run.md 无需修改(已确认无手动清理指令)", + "git_commit": "fe04fcffa8fb5a950da5ca08b397a36387d9993a" + }, + { + "timestamp": "2025-12-19T04:22:09+08:00", + "action": "next-step", + "phase": "impl", + "step": 9, + "summary": "测试通过:清理功能正常工作,边界情况处理正确", + "git_commit": "28600865c77dd401a9a07287a3329ff66cc6f2be" + }, + { + "timestamp": "2025-12-19T04:22:33+08:00", + "action": "next-part", + "phase": "verify", + "step": 10, + "summary": "实现完成,进入验证环节", + "git_commit": "33bc0bce3e3e057493b3e56391dbc57379402fea" + }, + { + "timestamp": "2025-12-19T04:23:16+08:00", + "action": "next-step", + "phase": "verify", + "step": 11, + "summary": "验证完成: 所有验证标准通过", + "git_commit": "8ffeca17159a5f27258ec9c4357d651cda7f407b" + }, + { + "timestamp": "2025-12-19T04:23:32+08:00", + "action": "next-part", + "phase": "docs", + "step": 12, + "summary": "验证通过,进入文档环节", + "git_commit": "c15b1d961570041f0d9680beab8c37b855eec28c" + }, + { + "timestamp": "2025-12-19T04:24:09+08:00", + "action": "next-step", + "phase": "docs", + "step": 13, + "summary": "文档更新完成", + "git_commit": "27723abf8db5551db38897a314d68435e85f032c" + }, + { + "timestamp": "2025-12-19T04:24:25+08:00", + "action": "next-part", + "phase": "confirm", + "step": 14, + "summary": "文档更新完成,进入用户确认环节", + "git_commit": "2390eb44423b65b38210ad8ba68cf92fb95bd6ce" + }, + { + "timestamp": "2025-12-19T04:25:02+08:00", + "action": "next-step", + "phase": "confirm", + "step": 15, + "summary": "用户确认通过", + "git_commit": "c8b90cbf95c916b75b2337fb4591763f69833dc4" + }, + { + "timestamp": "2025-12-19T04:25:16+08:00", + "action": "next-part", + "phase": "finish", + "step": 16, + "summary": "用户确认通过,进入收尾", + "git_commit": "d93eecca44169cf88d0d1397dcf80e507487d1c0" + } + ], + "source_branch": "master", + "start_commit": "af6605e5b98073727129e613cc5d37e27dc300f8", + "task_branch": "aide/021" +} diff --git a/CHANGELOG.md b/CHANGELOG.md index 9e3d434..79427b9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,9 +13,11 @@ - 新增 `plantuml.scale` 配置项:默认缩放 0.5 - run.md 流程图示例更新:添加配置获取说明和 skinparam/scale 示例 -**finish 环节清理任务计划文件** +**finish 环节自动清理任务计划文件** -- run.md finish 环节新增清理任务计划文件(`.aide/task-plans/`)的指导 +- `aide flow next-part finish` 时自动清理 `.aide/task-plans/` 目录下的所有文件 +- 功能由 `hooks.py` 中的 `_hook_clean_task_plans` 实现 +- 从 run.md 中删除了手动清理指令 **返工流程警告增强** diff --git a/CLAUDE.md b/CLAUDE.md index c61369e..88dcf41 100755 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -11,4 +11,4 @@ - 同时创建并维护项目README.md的相关部分信息和requirements.txt - 运行.py脚本程序时必须使用激活相应项目目录的虚拟环境后的`python`或直接使用目标虚拟环境下`python`的完整路径 -- 凡是将会涉及两个以上文件的移动、复制、重命名操作,必须在./cache/目录下创建临时.sh脚本,然后调用脚本完成文件操作, \ No newline at end of file +- 凡是将会涉及两个以上文件的移动、复制、重命名操作,必须在./cache/目录下创建临时.sh脚本,然后调用脚本完成文件操作, diff --git a/aide-marketplace/aide-plugin/commands/run.md b/aide-marketplace/aide-plugin/commands/run.md index 13e835a..b05e27a 100644 --- a/aide-marketplace/aide-plugin/commands/run.md +++ b/aide-marketplace/aide-plugin/commands/run.md @@ -410,12 +410,6 @@ aide flow next-part finish "用户确认通过,进入收尾" ``` - 清理临时文件 -- 清理任务计划文件(如有): - ```bash - # 获取任务计划目录 - aide config get task.plans_path - # 删除目录下的所有文件(guide.md, spec-*.md 等) - ``` - 检查遗漏的 TODO - 向用户汇报完成情况 diff --git a/aide-program/aide/flow/hooks.py b/aide-program/aide/flow/hooks.py index 543fb74..4c63fa2 100644 --- a/aide-program/aide/flow/hooks.py +++ b/aide-program/aide/flow/hooks.py @@ -27,6 +27,8 @@ def run_pre_commit_hooks( _hook_plantuml(root=root, config=config) if from_phase == "docs" and action in {"next-part", "back-part"}: _hook_changelog_on_leave_docs(root=root, git=git, status=status) + if to_phase == "finish" and action == "next-part": + _hook_clean_task_plans(root=root, config=config) def run_post_commit_hooks(*, to_phase: str, action: str) -> None: @@ -145,3 +147,29 @@ def _hook_changelog_on_leave_docs(*, root: Path, git: GitIntegration, status: Fl raise FlowError("离开 docs 前需要更新 CHANGELOG.md(未检测到 docs 阶段的更新记录)") + +def _hook_clean_task_plans(*, root: Path, config: dict[str, Any] | None) -> None: + """进入 finish 时清理任务计划文件。""" + # 获取任务计划目录配置 + plans_path = ".aide/task-plans" + if config: + plans_path = config.get("task", {}).get("plans_path", plans_path) + + # 移除末尾斜杠(如有) + plans_path = plans_path.rstrip("/") + + plans_dir = root / plans_path + if not plans_dir.exists(): + return + + # 收集所有文件 + files = [f for f in plans_dir.iterdir() if f.is_file()] + if not files: + return + + # 删除文件 + for f in files: + f.unlink() + + output.ok(f"已清理任务计划文件: {len(files)} 个") + diff --git a/task-now.md b/task-now.md index c744230..e69de29 100644 --- a/task-now.md +++ b/task-now.md @@ -1,5 +0,0 @@ -我在前的任务里:“在 finish 环节更新状态文件之后的清理过程,添加对任务计划文件的清理。” - -被实现为了command/run中的内容,这是错误的, - -把他删掉,改为集成到aide中 \ No newline at end of file