Ataraxy-Labs/weave

Entity-level git merge driver. Resolves false conflicts git invents when independent agents edit the same file. ~95% reduction vs. line-based merge.

解决的问题

Git 的行级合并经常在两个开发者(或 AI 代理)向同一文件添加独立代码(如不同的函数)时产生「虚假冲突」。Weave 用实体级合并取代了这一方式,确保对不同函数、类或 JSON 键的更改能自动解决,无需人工干预。

工作原理

Weave 使用 tree-sitter 将代码解析为语义实体(函数、类等),覆盖文件的三个版本:基础版本、当前分支(ours)和传入分支(theirs)。它通过身份(名称、类型和作用域)匹配这些实体,并逐个合并。如果两个分支修改了不同的实体,将自动解决;如果修改了同一实体,Weave 会尝试实体内合并,或标记语义冲突并提供详细上下文。

适用人群

频繁对同一代码库进行并发编辑的软件开发者和 AI 代理框架,希望减少合并冲突开销。

特色亮点

  • 实体级粒度:合并函数和类而非行,解决 Git 无法处理的冲突。
  • 广泛的语言支持:支持 TypeScript、Python、Go、Rust、Java、C++ 等多种语言。
  • MCP Server 集成:为代理框架提供 22 个工具,支持合并分析、实体检查和通过 CRDT 实现的实时协作。
  • 确定性合并:作为无状态的三路合并驱动程序,兼容 Git 和 Jujutsu (jj)。
  • 详细的冲突标记:提供合并被拒绝的具体原因(例如,哪个内部保护条件失败)以及涉及的实体。

相关

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