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 透過理解程式碼的實際結構,而非僅僅是行號,消除這些不必要的手動解決。

它如何運作

Weave 作為 Git 的語意合併驅動程式,使用 tree‑sitter 將檔案解析成「實體」(如函式、類別或 JSON 鍵),並在 base、local、remote 三個版本之間進行匹配。

它不比較行,而是在實體層面合併:若兩個不同的實體被修改,則自動解決;若同一實體被雙方修改,則嘗試在實體內部合併,或以清晰的上下文標示語意衝突。對於二進位檔案、不支援的類型或大於 1 MB 的檔案,則回退至標準的行為合併。

目標使用者

使用 Git 的軟體開發者與團隊,特別是同時使用多個 AI 代理修改同一程式碼庫,想要減少處理瑣碎合併衝突的時間。

重點特色

  • 實體層解決:自動解決同一檔案中本應觸發 Git 衝突的獨立變更。
  • 廣泛語言支援:支援多種語言,包括 TypeScript、Python、Go、Rust、Java、C、C++,以及 JSON、YAML 等設定格式。
  • 語意衝突標記:當真正衝突發生時,提供描述性的標記(例如 function 'process' (both modified))。
  • 高準確度:在真實開源倉庫中基準測試,未報告任何回歸。