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.
weave – Git のためのエンティティレベルのセマンティックマージ
概要
- Rust ベースのツールで、Git の行単位のマージを、関数、クラス、JSON キー、その他の言語エンティティに対して機能する セマンティック マージに置き換えます。ファイルの 3 つのバージョン(base、ours、theirs)を tree-sitter で解析し、エンティティを名前/スコープで照合して、インテリジェントにマージします。
重要性
- 複数の AI エージェント(または開発者)が同じファイルを編集する場合、変更が独立していても(例:2 つの新しい関数が並んで追加された場合)、Git はしばしば競合をフラグします。
weaveはこれらの誤った競合を自動的に解決し、エージェントが人間の介入なしに続行できるようにします。
主な機能
- エンティティレベルの 3 方向マージ – 関数、クラス、オブジェクトキーなど、38 のサポート言語で動作します。
- 決定論的かつステートレス – 同じ 3 つのリビジョンが与えられると、常に同じ結果を生成します(
git merge-fileと同様)。 - 競合コンテキスト – 実際の競合が発生した場合、マーカーにはエンティティ名、タイプ、および短い「refused_by」理由が含まれ、手動解決が容易になります。
weave land– マージされたツリーを検証し、オプションでカスタムリゾルバを実行し、構造チェック(PROVEN、VERIFIED、REFUSED)を通過したファイルのみをステージングするコマンド。- Git および Jujutsu との統合 –
weave-driverマージドライバと、必要な.gitattributesルールを自動的に書き込むweave setupコマンドを提供。 - CRDT ベースの調整レイヤー(別の
weave-crdtcrate)は、変更が Git に到達する前のライブマルチエージェント編集用。 - ベンチマークとテスト – 441 のユニット/統合テストに加え、Git および Mergiraf と実世界のリポジトリ(git、Flask、CPython、Go、TypeScript)で比較する広範なベンチマークスイート。
インストール
# Homebrew (macOS / Linux)
brew install weave
# ソースから(Rust ツールチェーンが必要)
git clone https://github.com/Ataraxy-Labs/weave
cd weave
cargo install --path crates/weave-cli # `weave` コマンド
cargo install --path crates/weave-driver # Git によって呼び出されるドライバ
典型的なワークフロー
weave setup(または--global、--local、--off)を実行して、サポートされているすべてのファイルタイプにマージドライバをインストールします。- 通常どおりマージします:
git merge <branch>。 weaveが競合マーカーを生成した場合は、weave explain <file>を使用して詳細なエンティティレベル情報を取得します。- 編集後、
weave checkを実行してツリーを検証します。 weave land(オプションでカスタムリゾルバを提供)で完了し、解決済みファイルをステージします。
エコシステムと関連プロジェクト
- sem – セマンティックバージョン管理。
- inspect – セマンティックコードレビュー。
- opensessions – コーディングエージェント用の tmux サイドバー。
- weave-crdt – ライブマルチエージェントコラボレーション用の CRDT レイヤー(言及のみで、このリポジトリの一部ではありません)。
成熟度
- 最新安定版 0.5.3(2026 年 9 月時点)。
- CI は Linux と Windows で実行;すべてのテストが合格(441+ テスト)。
- 数千の実際のマージコミットでベンチマークされ、結果が公開されています。
ライセンス
- デュアルライセンス:MIT OR Apache-2.0。
結論
weave は、多くの自動エージェント(または開発者)が同じファイルを編集するコードベースで、誤ったマージ競合を減らすための本番対応のオープンソースソリューションです。生の行ではなく言語エンティティのレベルでマージすることで、チームはより速く、手動介入を減らして変更を出荷できます。
関連
- プロジェクト
- Dispatch
- プロジェクト
- プロジェクト
- Dispatch