コラボレーション

分散ワークフロー

Need User Feedback

REAPは、複数の開発者やAIエージェントが同じプロジェクトで並行して作業するコラボレーション環境向けの分散ワークフローをサポートします — 中央サーバーは不要です。Gitが唯一のトランスポート層です。

分散ワークフローは現在初期段階であり、さらなるテストが必要です。本番環境では注意して使用してください。ユーザーフィードバックを積極的に収集しています — 問題や提案は GitHub Issues

仕組み

各開発者やエージェントは自分のブランチとGenerationで独立して作業します。統合の時が来たら、REAPがgenome優先の戦略でmergeをオーケストレーションします。

  1. マシンAがbranch-aでgen-046-aを完了 → /reap.push
  2. マシンBがbranch-bでgen-046-bを完了 → /reap.push
  3. マシンAが/reap.pull branch-bを実行 → フェッチ + 完全なmerge generationライフサイクル

主要原則

オプトイン

git pull/pushは通常通り動作します。REAPコマンドは追加的です — 分散ワークフローの使用タイミングは自由に選べます。

Genome優先

ソースmergeの前にGenomeの競合を解決します。法律を更新する前に憲法を修正するようなものです。

サーバー不要

すべてローカル + Git。外部サービスも中央コーディネーションも不要です。

DAG lineage

各GenerationはハッシュベースのID(gen-046-a3f8c2)で親を参照し、並行作業を自然にサポートする有向非巡回グラフを形成します。

使用シナリオ

リモートブランチ(マルチマシン)

異なる開発者やエージェントが別々のマシンで作業し、リモートブランチにプッシュします。/reap.pushで公開し、/reap.pull <branch>でフェッチとmergeを行います。

/reap.push → /reap.pull branch-b
ローカルworktree(マルチエージェント)

複数のAIエージェントがgit worktreeを使用して同じマシンで並行作業します。各worktreeには独自のブランチとGenerationがあります。/reap.merge.startで直接統合 — フェッチ不要。

/reap.merge.start worktree-branch
混合

一部の作業はローカル(worktree)、一部はリモート(他のマシン)。必要に応じてリモートブランチには/reap.pullを、ローカルブランチには/reap.merge.startを組み合わせて使用します。

Pull & Push(リモート)

/reap.pull <branch>は/reap.evolveの分散版です。リモートをフェッチし、新しいGenerationを検出し、Detectから Completionまでの完全なmerge generationライフサイクルを実行します。

/reap.pushは現在のREAP状態を検証(進行中のGenerationがある場合は警告)し、現在のブランチをリモートにプッシュします。

Merge(ローカル / Worktree)

/reap.merge.start <branch>はローカルブランチから直接merge generationを作成します — フェッチ不要のworktreeベースの並行開発に最適です。/reap.merge.evolveで完全なmergeライフサイクルを実行するか、各ステージを手動で進めます。

Git Refベースの読み取り

merge前に、対象ブランチのgenomeとlineageはgit ref(git show、git ls-tree)で読み取られます — チェックアウト不要。リモートとローカルの両方のブランチで動作します。