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
  • 專案