多彩编程 多彩编程MZPH · CODE BLOG
ARTICLE DETAIL

文章详情

深耕前端与后端开发技术的一线实战笔记与踩坑复盘。

Cursor 中的 Post-Merge Cleanup 循环实战:用 Automations 定时扫描合并后技术债,从 L1 报告渐进升级到 L2 自动修复

Cursor 中的 Post-Merge Cleanup 循环实战:用 Automations 定时扫描合并后技术债,从 L1 报告渐进升级到 L2 自动修复 人工智能AI AgentAgent 工作流CLI研发协作AI 技能MCP 服务【免费下载链接】loop-engineeringPractical patterns, starters CLI tools for loop engineering with AI coding agents. Design systems that prompt and orchestrate agents (inspired by Addy Osmani and Boris Cherny). Includes loop-audit, loop-init, loop-cost.项目地址https://gitcode.com/gh_mirrors/lo/loop-engineering点击查看免费下载本篇技术指南围绕 loop-engineering 仓库中Post-Merge Cleanup模式在 Cursor 编辑器上的落地展开由于 Cursor 没有原生/loop调度器你需要把循环映射到Cloud Automationcron或按节奏在 Agent 对话中手动触发。读完本文你将掌握一套可直接复制粘贴的第一周自动化 Prompt、post-merge-state.md状态文件的完整结构、以及从仅报告到文档级自动修复 独立 Verifier 审批的 L2 渐进升级路径。一、循环定位Post-Merge Cleanup 解决什么问题在 patterns/post-merge-cleanup.md 中这一循环的目标被明确定义为在合并到 main 之后清扫遗留的跟进工作——弃用deprecations、TODO、技术债工单、过期的特性开关feature flags和文档缺口——同时不阻塞合并本身。它不是一个抢占开发时段的实时任务。模式文档给出的推荐节奏是/loop 1d或/loop 6h紧迫度低于 CI sweeper可以通过 GitHub webhook → Action 的事件驱动方式触发小团队也可以用每周 cron无论如何尽量安排在下班后或夜间运行避免与活跃开发分支的构建抢占资源。Cursor 侧的示例文档 examples/cursor/post-merge-cleanup.md 正是在这一模式规范之上给出针对 Cursor 这一具体宿主工具的落地配方。二、Cursor 上的循环映射Automations / Agent 双通道Cursor 没有原生/loop调度器因此循环的调度原语要映射到两条通道之一通道适用场景说明Cloud Automationcron无人值守的周期运行在 Cursor → Automations 中创建一个定时任务填入循环 Prompt按 cadence 自动执行Agent 对话手动触发第一周、低频、人工在场在 Agent chat 中用同样的 Prompt 按你自己的节奏手动调用成本可控、便于观察这与 docs/primitives-matrix.md 中编辑器迁移配方的 Cursor 列完全一致Scheduling → Cloud Automation (cron) 或 manual Agent prompt on cadenceSkills 放在.cursor/skills/always-on 约束放在.cursor/rules/。值得注意的是examples/cursor/README.md 明确指出目前没有loop-init --tool cursor这类脚手架命令需要从任一 starter例如 starters/minimal-loop手动复制SKILL.mdSTATE.md再按示例文档接线调度。复制完成后可以用npx cobusgreyling/loop-audit . --suggest审计目录结构是否符合循环约定。三、前置准备三份关键文件在写自动化 Prompt 之前需要先准备好三个文件它们分别是循环的状态、扫描技能和验证技能1. 状态文件post-merge-state.md仓库根目录从 starters/post-merge-cleanup/post-merge-state.md.example 复制。它是循环的记忆记录每次运行发现、已完成和延期交给人类决策的清理项。2. 扫描技能post-merge-scan放在.cursor/skills/post-merge-scan/SKILL.md。示例文档给出的来源是starters/post-merge-cleanup/.claude/skills/post-merge-scan/SKILL.md或类似的多工具技能目录。仓库中同一模式在各工具下都有对应副本.grok/、.codex/以及 opencode 版 starters/post-merge-cleanup-opencode/skills/post-merge-scan/SKILL.md内容同源、仅宿主目录不同——这也是 examples/README.md 强调的Skills 和 state schema 跨工具共享只有调度与调用方式不同。3. 验证技能verifier放在.cursor/skills/verifier/SKILL.md从 templates/SKILL.md.verifier 复制。它是 L2 文档级修复的检查者在 maker/checker 分离中负责拒绝不合格的改动。模板中明确要求默认立场是没有充分证据就 REJECT、不能相信实现者的测试通过声明而必须亲自运行、无法运行测试时ESCALATE_HUMAN。三个文件就位后循环的技能 / 状态 / 验证三个原语即在 Cursor 侧落地。四、第一周自动化 Prompt可直接复制粘贴在 Cursor → Automations 中创建一个任务填入下面这段 Prompt或者把同样的 Prompt 在 Agent chat 中手动触发。这是 examples/cursor/post-merge-cleanup.md 给出的官方第一周report-only模板Run the post-merge-scan skill on recent merges to main in the last 48h. Update post-merge-state.md. Do not modify source code or open PRs in week one — report only. Flag anything ambiguous or high-risk for human review in post-merge-state.md.这段 Prompt 对应了 issue 验收标准中L1 默认行为的全部要点扫描最近合并、更新post-merge-state.md、第一周不做任何代码改动。它刻意不包含任何修复动作让循环先以零风险的方式建立合并后清理清单这一习惯。五、状态文件post-merge-state.md的完整结构examples/cursor/post-merge-cleanup.md 给出了一个可直接对照的真实示例结构包含五个区块# Post-Merge Cleanup State — Project X Last run: 2026-07-06 23:00 UTC Status: report-only (week 1) ## Pending Cleanup (from recent merges) - [ ] PR #456 merged — update API docs for new user fields Source: commit def4567, line 82 in docs/api.md Risk: low | Effort: small - [ ] PR #452 merged — clean up deprecated config warning message Source: commit abc1234, line 12 in config/settings.ts Risk: low | Effort: small ## Completed (last 14d) - (none) ## Deferred (human decision) - PR #448 merged — database schema refactor deferred; ticket ENG-1005 created ## Denylist paths - auth/ - payments/ - infra/区块含义与配套 starter 模板post-merge-state.md.example一致Last run / Status记录运行时间与当前阶段report-only / L2Pending Cleanup每条清理项标注Risk与Effort这是后续排序与自动修复授权的依据Completed (last 14d)近 14 天已完成项周期性剪枝Deferred (human decision)交回人类的项——在示例中是数据库 schema 重构已创建工单 ENG-1005Denylist pathsauth/、payments/、infra/等禁止自动改动的路径是安全策略的显式表达与 docs/safety.md 中的安全要求呼应。六、L1 → L2 渐进升级路径examples/cursor/post-merge-cleanup.md 给出了四步升级路线每一步都对应仓库中可验证的组件第一周 — 仅报告report only只更新post-merge-state.md在做出任何改动前人工审查清单加入文档级 / 低风险修复扩展自动化让它针对白名单内的低风险文件文档更新、注释修正、简单 lint 修正在隔离 worktree中起草最小修复——这正是 templates/SKILL.md.minimal-fix 定义的用最小 diff 解决一个明确问题、禁止顺手重构加入 Verifier 审批在提交 / push 之前用独立的 verifier agent / 步骤确认文档级 / 低风险修复正确——对应 templates/SKILL.md.verifier 的 maker/checker 分离你永远不要与实现者处于同一角色接入工单系统通过 GitHub/Linear MCP 为不应该被自动修复的大型架构任务创建工单。这条升级曲线与 starters/post-merge-cleanup/LOOP.md 中配置的人类闸门保持一致架构债 → 建工单而非修复特性开关移除 → 需人工批准多文件重构 → 升级给人类。七、源码级支撑扫描技能与验证策略post-merge-scan 扫描什么从 starters/post-merge-cleanup/.claude/skills/post-merge-scan/SKILL.md 可以看到扫描技能要求的检查面合并引入的TODO/FIXME、仍被引用的已弃用 API、损坏的内部文档链接、标记待移除的过期特性开关、未使用的 import 或死代码簇仅限小型。它对每个合并输出结构化结果### PR #N — title (merged DATE) - Follow-ups found: (list with file:line) - Risk: low | medium | high - Effort: small | medium | large - Suggested loop action: minimal-fix | ticket | escalate-human | skip约束包括默认只扫描最近 7 天的合并大型重构 → 建工单而非自动修复中高风险路径 → 升级给人类。这套分类 → 输出 → 约束的流程正是 patterns/post-merge-cleanup.md 中典型循环周期第 14 步在技能层的落地。验证策略与电路熔断模式文档 patterns/post-merge-cleanup.md 定义了硬性验证规则清理不得改变行为除非是明确删除死代码Verifier 必须运行完整测试套件回归意味着立即移交人工触及超过 10 个文件的清理 PR 未经人工批准不得自动合并。此外由于该模式是**可修复L2**模式loop-init会为其自动脚手架loop-guard技能和种子化的loop-ledger.json。在针对同一回归问题重试之前先运行电路熔断检查npx cobusgreyling/loop-context --check --ledger loop-ledger.json \ --budget-from-pattern post-merge-cleanup --budget-level L2非零退出码意味着同一失败已重复出现或触达尝试上限——停止并升级给人类详见 docs/safety.md。八、成本画像与节奏patterns/post-merge-cleanup.md 给出了可预估的成本画像场景Tokens/次说明无操作No-op~5k没有新合并需要扫描扫描 排序~40k合并列表 TODO 扫描小型修复L2~150kworktree verifier节奏1d–6h ·层级low ·建议每日上限200k tokens。可用成本估算命令校准npx cobusgreyling/loop-cost --pattern post-merge-cleanup --cadence 1d --level L1并在 loop-budget.md 中设置每日自动 PR 数量上限。九、与仓库生态的衔接Cursor 示例只是同一模式的一种宿主映射仓库为其提供了完整的配套资源模式规范patterns/post-merge-cleanup.md——调度建议、七步典型循环、电路熔断、验证策略、人类移交点、失败模式表脚手架starters/post-merge-cleanup/——post-merge-state.md.example、各工具的post-merge-scan技能与LOOP.md其中记录了每次运行最多 2 次修复尝试L2、off-peak 运行等预算约束替代宿主如果希望事件驱动可参考 examples/github-actions/post-merge-cleanup.ymlpush 到 main 触发 每晚 22:00 cron 聚合清扫先用git log --merges列合并、再用grep扫 TODO/deprecated 信号其余宿主Grok、Claude Code、Codex、OpenClaw、Windsurf、Opencode、Hermes的对照见 examples/README.md 的覆盖矩阵原语映射Cursor 如何对应统一的六段循环结构Skills / State / Scheduling / Verification / Connectors见 docs/primitives-matrix.md 的编辑器迁移配方附录——Cursor 列对应templates/SKILL.md.loop-triage→.cursor/skills/、starters/minimal-loop/STATE.md.example→ 仓库根目录STATE.md、templates/SKILL.md.verifier→.cursor/agents/loop-verifier.md、GitHub MCP 只读用于 issue/PR 发现。十、运行注意事项收尾前examples/cursor/post-merge-cleanup.md 明确提示了三件事错峰运行安排在非高峰时段夜间 / 下班后避免与活跃开发分支的构建冲突——这也写进了 starter 的LOOP.md预算一节组合.cursor/rules/把 always-on 约束如 denylist、禁止大重构放进.cursor/rules/让所有 Agent 会话都遵守失败模式预防模式文档列出过度删除用 Verifier no behavior change 规则 大 diff 人工闸门、漏掉合并用 GitHub API 合并列表而非仅本地git log、每个 TODO 都成噪音只处理带合并上下文或关联工单的 TODO等已知失败模式及缓解手段。这套组合让 Post-Merge Cleanup 成为仓库中风险低于 CI sweeper 的第二个循环——在 daily triage 稳定之后它是值得优先上马的后续循环。赞分享人工智能AI AgentAgent 工作流CLI研发协作AI 技能MCP 服务【免费下载链接】loop-engineeringPractical patterns, starters CLI tools for loop engineering with AI coding agents. Design systems that prompt and orchestrate agents (inspired by Addy Osmani and Boris Cherny). Includes loop-audit, loop-init, loop-cost.项目地址https://gitcode.com/gh_mirrors/lo/loop-engineering点击查看免费下载相关推荐Loop Engineering 实战用 OpenClaw 搭建 Post-Merge Cleanup 循环自动清扫合并主分支后的技术债Loop Engineering 实战用 OpenClaw 搭建 Post Merge Cleanup 循环自动清扫合并主分支后的技术债 Post Merg人工智能AI AgentAgent 工作流CLI研发协作AI 技能MCP 服务Loop Engineering 实战用 Opencode 搭建 Post-Merge Cleanup 循环清理合并后的技术债Loop Engineering 实战用 Opencode 搭建 Post Merge Cleanup 循环清理合并后的技术债 核心导读 本文基于 exa人工智能AI AgentAgent 工作流CLI研发协作AI 技能MCP 服务Post-Merge Cleanup Starter 实战指南用 loop-engineering 在合并后自动清扫技术债Post Merge Cleanup Starter 实战指南用 loop engineering 在合并后自动清扫技术债 合并到 main 之后遗留的 T人工智能AI AgentAgent 工作流CLI研发协作AI 技能MCP 服务创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表