naw103/foremerge

AIエージェント同士の作業をGit上で調整し、意図の衝突をコード衝突の前に検出するプロトコル

インストール型ツール自由に使える · Apache-2.0AI エージェントRust難易度
5340 保存
24フォーク3Issue
デモ・公式サイトをひらくforemerge.com

中辛 の解説

Rustで実装された、Git上の意図共有プロトコルです。CLI・JSON API・MCPサーバー・SQLiteデータベース・決定論的な競合検出・検証ゲート付きライフサイクルを備えており、v0.4.1は本番前のローカルファースト版です。Claude Code・Codex・Cursorといったエージェントに1行貼り付けるだけで自動セットアップでき、デモ効果は5分以内に見られます。Git worktreeを使用した複数エージェントの並行開発で、intent publish・work claim・conflicts check といった宣言的コマンドにより、実装前の段階で高リスク競合を特定し助言します。

こんなリポジトリです

こんなときに便利です

  • 複数のAIコーディングエージェントが並行開発しているとき、コード競合の前に意図の矛盾を検出したい場合
  • Cursor・Claude Code・Codexなど異なるエージェント間で作業を調整し、互いに何を変更しようとしているかを透過的に共有したいとき
  • デストラクティブな変更(クラス削除)と追加的な変更(メソッド追加)が同じシンボルに対して計画されている場合を事前に警告したいとき

主な機能

意図ベースの競合検出(テキスト行ではなく操作宣言を比較)検証ゲート付きライフサイクル(テスト通過を条件に変更を受け入れ)Git worktreeによる分離作業域と共有awareness(SQLiteによる統一状態管理)

ほかとの違い

Gitはテキスト行の重複のみ検出するのに対し、Foremergeは「シンボルの置換」「既存スコープの拡張」といった操作宣言を比較するため、異なるファイルの見かけ上無関係な変更でも意図的な衝突を捉えることができます。

このリポジトリの作り方

はじめてですか? むずかしくありません — 上から順にたどれば、自分の環境で動かして味見できます。

準備するもの

  • Git 最新版
  • jq
  • Rust 1.85以上(ソースビルド時)

すぐに始める

  1. 公式スクリプトでForemergeをインストールします。
curl -fsSL https://foremerge.com/install.sh | sh
  1. リポジトリを初期化します。
foremerge init
foremerge doctor
  1. 使用するクライアント(Claude・Codex・Cursor)のセットアップを実行します。
foremerge setup all
  1. 検証対象となるテストコマンドを登録します。
foremerge checks set test -- cargo test --all-targets
  1. セットアップの完了を確認します。
foremerge doctor --client all
  1. デモとして、2つのエージェントが競合する意図を宣言して結果を確認します。
STRIPE_AGENT=$(foremerge --json agent register --name stripe-agent --no-worktree | jq -er '.data.id')
STRIPE_RESULT=$(foremerge --json intent publish --agent "$STRIPE_AGENT" --task "modernize-payments" --summary "Replace PaymentService with StripePaymentService" --scope symbol:PaymentService=replace)
PAYPAL_AGENT=$(foremerge --json agent register --name paypal-agent --no-worktree | jq -er '.data.id')
PAYPAL_RESULT=$(foremerge --json intent publish --agent "$PAYPAL_AGENT" --task "add-paypal" --summary "Add PayPal support to PaymentService" --scope symbol:PaymentService=extend)
printf '%s\n' "$PAYPAL_RESULT" | jq '.data.conflicts[] | {kind, severity, scope, explanation, suggestion}'

ギット飯トライで味見

入れるのが面倒で少し不安だったなら — 安全スキャンからインストールまで、ターミナル一行で終わります。

ターミナルに貼り付ければ、ギット飯の安全スキャン → 隔離フォルダへ clone → インストール → 実行方法の案内まで自動です。はじめてでも大丈夫 — この一行だけです。

npx gitbap-try naw103/foremerge

Node.js さえあれば、インストールなしで動きます · ギット飯トライとは? →

スター推移 · 7日

5347日間の増加数を計算するための比較データが不足しています

確認日時

使いやすさ · まねしやすいか

ベストサンプルサンプル評点 68/100
  • ゆるいライセンス
  • テストあり
  • サンプル集
  • 最近の更新
  • AGENTS.md
  • llms.txt
  • テンプレート

最近の更新あり · 2026 年に作成

「AI エージェント」 こういうリポジトリを毎週受け取りませんか?

毎週月曜の朝、選んだ一膳だけ。広告なし · いつでも解除。

自分のリポジトリですか? README にギット飯バッジを貼る
[![깃밥](https://www.gitbap.com/badge/naw103/foremerge.svg)](https://www.gitbap.com/r/naw103/foremerge)
Claude からそのまま使う — ギット飯のつなぎ方

ギット飯を Claude につなぐと、こうしたリポジトリを Claude・Cursor・Codex から直接さがして試せます。

方法 ① コネクタ URL

Claude の設定 → コネクタにこのアドレスを貼り付け。

https://www.gitbap.com/api/mcp
方法 ② プラグイン(試用まで)

プラグインを入れると /gitbap-trending·/gitbap-try のスラッシュコマンドで、その場でリポジトリを試せます。Claude Code で下の 2 行を順に実行してください。

/plugin marketplace add jakeparkcolde/gitbap-cowork
/plugin install gitbap-cowork@gitbap
つなぎ方をくわしく →

AI が README をもとに要約しました · 原文を見る