Zusammenarbeit

Verteilter Workflow

Need User Feedback

REAP unterstützt einen verteilten Workflow für Zusammenarbeitsumgebungen, in denen mehrere Entwickler oder KI-Agenten parallel am selben Projekt arbeiten — ohne zentralen Server. Git ist die einzige Transportschicht.

Der verteilte Workflow befindet sich derzeit in einem frühen Stadium und erfordert weitere Tests. Verwenden Sie ihn mit Vorsicht in Produktionsumgebungen. Wir sammeln aktiv Benutzerfeedback — bitte melden Sie Probleme oder Vorschläge unter GitHub Issues

Funktionsweise

Jeder Entwickler oder Agent arbeitet unabhängig auf seinem eigenen Branch und seiner eigenen Generation. Wenn es Zeit ist zusammenzuführen, orchestriert REAP den Merge mit einer Genome-first-Strategie.

  1. Maschine A schließt gen-046-a auf branch-a ab → /reap.push
  2. Maschine B schließt gen-046-b auf branch-b ab → /reap.push
  3. Maschine A führt /reap.pull branch-b aus → Fetch + vollständiger Merge-Generations-Lebenszyklus

Schlüsselprinzipien

Opt-in

git pull/push funktionieren immer normal. REAP-Befehle sind additiv — Sie entscheiden, wann Sie den verteilten Workflow nutzen.

Genome-first

Genome-Konflikte werden vor dem Quellcode-Merge aufgelöst. Wie eine Verfassungsänderung vor der Gesetzesanpassung.

Kein Server

Alles ist lokal + Git. Keine externen Dienste, keine zentrale Koordination.

DAG-Lineage

Jede Generation referenziert ihre Eltern über eine hash-basierte ID (gen-046-a3f8c2) und bildet einen gerichteten azyklischen Graphen, der parallele Arbeit natürlich unterstützt.

Anwendungsszenarien

Remote-Branches (Multi-Maschine)

Verschiedene Entwickler oder Agenten arbeiten auf separaten Maschinen und pushen zu Remote-Branches. Verwenden Sie /reap.push zum Veröffentlichen, /reap.pull <branch> zum Abrufen und Zusammenführen.

/reap.push → /reap.pull branch-b
Lokale Worktrees (Multi-Agent)

Mehrere KI-Agenten arbeiten parallel auf derselben Maschine mit Git-Worktrees. Jeder Worktree hat seinen eigenen Branch und seine eigene Generation. Verwenden Sie /reap.merge.start zum direkten Zusammenführen — kein Fetch nötig.

/reap.merge.start worktree-branch
Gemischt

Einige Arbeiten sind lokal (Worktrees), einige remote (andere Maschinen). Kombinieren Sie /reap.pull für Remote-Branches und /reap.merge.start für lokale Branches nach Bedarf.

Pull & Push (Remote)

/reap.pull <branch> ist das verteilte Äquivalent von /reap.evolve. Es ruft den Remote ab, erkennt neue Generationen und führt einen vollständigen Merge-Generations-Lebenszyklus aus — von Detect bis Completion.

/reap.push validiert den aktuellen REAP-Zustand (warnt wenn eine Generation in Arbeit ist) und pusht den aktuellen Branch zum Remote.

Merge (Lokal / Worktree)

/reap.merge.start <branch> erstellt eine Merge-Generation direkt von einem lokalen Branch — ideal für Worktree-basierte parallele Entwicklung, wo kein Fetch benötigt wird. Verwenden Sie /reap.merge.evolve um den vollständigen Merge-Lebenszyklus auszuführen, oder gehen Sie manuell durch jede Phase.

Git-Ref-basiertes Lesen

Vor einem Merge werden Genome und Lineage des Zielbranches über Git-Refs gelesen (git show, git ls-tree) — kein Checkout erforderlich. Dies funktioniert sowohl für Remote- als auch für lokale Branches.