SuperAPI AI 工具集

run-repo-cleanup

通用与其它

查看项目

更新于 10-16 03:37

技能介绍

用途:在项目完成后整理仓库,把并行产生的分支与 worktree 归并回 main,清扫散落的开发与 AI 产物,退役死分支,留下干净可复查的终态。全部操作在本地完成,不创建 PR、不使用 fork。

主要能力与流程(六个阶段,逐段设门禁): 0. 盘点:scripts/audit-state.py --base main 列出每个分支(本地与仅远程)的最后提交日期与天数、相对 main 的领先/落后、是否已合并、涉及文件与脏状态,以及 worktree 与脏工作区。分类为已合并、活跃(≤7 天)与陈旧(>7 天未合并,默认只报告不合并)。

  1. 提交脏工作区:逐文件 diff,按关注点分次提交,规范为 Conventional Commits + gitmoji,不使用 git commit -am。
  2. 合并计划:scripts/plan-merge-order.py --base main --stale-days 7 建议从基础到叶子的顺序,陈旧分支单列,最终顺序由使用者决定。
  3. 审查式合并:先读 diff 与提交信息,用一句话说明分支做什么;改动超过 300 行或 10 个文件时派子代理复核。scripts/merge-branches.py 默认 dry-run,加 --execute 才真正执行 --no-ff 合并;遇冲突则中止并记为 skipped-conflict,交由人工判断。
  4. 清扫:scripts/sweep-artifacts.py(默认 dry-run,--execute 生效)把非必要文件(含隐藏文件)移入被 gitignore 的 to-delete/,把散落文档并入 gitignored 的 docs/,保留 README*、AGENTS.md、CLAUDE.md、LICENSE* 及运行构建所需文件。
  5. 退役与验证:先 git fetch --all --prune,再运行 scripts/retire-merged-branches.py --base main(--execute 生效)删除已合并的本地与远程分支及对应 worktree,拒绝删除 main、当前分支或未完全合并的分支。随后核对 git status --short、git worktree list、git branch -vv、git branch -r,并以 audit-state.py 返回 CLEAN 为通过标准,最后依据 JSON 输出每分支的处置报告。

使用方式:技能内含仅依赖 Python 3 标准库的脚本(audit-state.py、plan-merge-order.py、merge-branches.py、sweep-artifacts.py、retire-merged-branches.py、list-worktrees.py),所有会改动状态的脚本默认 dry-run,须显式加 --execute。

适用场景:收尾已有多个未合并分支或 worktree、脏工作区、散落 AI/开发产物的仓库,如提示词“clean up this repo”“merge my branches into main”“retire the stale branches”。

限制与安全规则:不用于开发中途、不创建或审阅 PR、不做运行时调试;合并前必须读懂每个分支,禁止盲目解决冲突;文件只移动不 rm;陈旧分支默认跳过,未经确认不合并也不删除;除删除已合并远程分支外不做远程改动,不强制推送或重写已发布历史;重复运行于干净仓库时应报告“Repo is clean — nothing to do.”。默认参数(main 分支、7 天陈旧阈值、>300 行或 >10 文件视为重要改动等)可被仓库内 AGENTS.md / CLAUDE.md / CONTRIBUTING.md 覆盖。除以上资料所述外,安装方式、收费与平台支持暂未提供。