naw103/foremerge

Catch intent conflicts before code conflicts. The open-source coordination protocol for coding agents, built above Git.

它解决了什么问题

Foremerge 解决了多个 AI 编码代理同时在同一项目上工作时所发生的“意图冲突”。虽然 Git 能够检测两个代理何时编辑同一行代码,但它无法检测不同文件中两个逻辑上合理的变更何时互相矛盾(例如,一个代理取代了另一个代理正在扩展的服务)。Foremerge 让代理在编写任何代码之前先协调其计划,避免浪费精力并防止集成失败。

它如何运作

Foremerge 是一个构建在 Git 之上的协调协议。它使用存储在项目 .git 文件夹内的共享 SQLite 数据库,让在不同 Git 工作区中运行的代理能够共享一块“语义白板”。

  1. 意图发布:在编码之前,代理会声明其目标(例如,“我正在修改 sendEmail 函数”)以及操作(例如 replace 或 extend)。
  2. 冲突检测:Foremerge 将这些声明与其他代理的计划进行比对。如果两个代理以冲突的操作锁定同一个符号,它会发出建议性警告。
  3. 验证门禁:当工作完成后,Foremerge 要求针对特定的代码指纹运行验证检查(例如测试套件),之后才能将工作标记为已接受。
  4. 非阻塞:它不会锁定文件或阻塞代理;它提供建议性警告与证据,以便人类或代理自行决定如何继续。

适用对象

在同一代码库上并行使用多个 AI 编码代理(例如 Claude Code、Codex 或 Cursor)的开发者,他们需要防止逻辑碰撞并保留代理决策的审计轨迹。

亮点

  • 语义感知:检测基于符号与意图的冲突,而不仅仅是文本行。
  • 本地优先:在 .git 目录中使用本地 SQLite 存储,实现本地工作区之间的零配置共享。
  • MCP 集成:提供 Model Context Protocol (MCP) 服务器,让 AI 代理能够原生注册、发布意图并查询冲突。
  • 验证门禁:确保 ChangeSet 通过实际命令执行(例如 cargo test)进行验证,而非依赖代理报告的状态。

相关

  • Dispatch
  • 项目
  • 项目
  • 项目
  • 项目