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 工作区中运行的代理能够共享一块“语义白板”。
- 意图发布:在编码之前,代理会声明其目标(例如,“我正在修改
sendEmail函数”)以及操作(例如replace或extend)。 - 冲突检测:Foremerge 将这些声明与其他代理的计划进行比对。如果两个代理以冲突的操作锁定同一个符号,它会发出建议性警告。
- 验证门禁:当工作完成后,Foremerge 要求针对特定的代码指纹运行验证检查(例如测试套件),之后才能将工作标记为已接受。
- 非阻塞:它不会锁定文件或阻塞代理;它提供建议性警告与证据,以便人类或代理自行决定如何继续。
适用对象
在同一代码库上并行使用多个 AI 编码代理(例如 Claude Code、Codex 或 Cursor)的开发者,他们需要防止逻辑碰撞并保留代理决策的审计轨迹。
亮点
- 语义感知:检测基于符号与意图的冲突,而不仅仅是文本行。
- 本地优先:在
.git目录中使用本地 SQLite 存储,实现本地工作区之间的零配置共享。 - MCP 集成:提供 Model Context Protocol (MCP) 服务器,让 AI 代理能够原生注册、发布意图并查询冲突。
- 验证门禁:确保 ChangeSet 通过实际命令执行(例如
cargo test)进行验证,而非依赖代理报告的状态。
相关
- Dispatch
- 项目
- 项目
- 项目
- 项目