Jeder Agent in seiner eigenen Kopie, sofort
Was du davon hast
Jeder Agent arbeitet in einem eigenen Workspace mit deinem aktuellen Stand: geänderte, gestagte und neue Dateien eingeschlossen. Dein Checkout, dein HEAD und dein Git-Index bleiben unberührt. Viele Agenten arbeiten parallel am selben Repository. Jeder liefert einen Commit, den du prüfst und übernimmst.
Vorher und nachher
Du arbeitest an serde und hast drei geänderte Dateien und eine neue Datei PLAN.md, nichts davon committet. Die Aufgabe: Ein zweiter Agent soll mit genau diesem Stand arbeiten, ohne dir in den Checkout zu schreiben.
Ohne greppy
Mit Git baust du die Kopie von Hand: Worktree anlegen, Änderungen übertragen, neue Dateien finden und kopieren.
$ git worktree add --detach ../agent-1
Preparing worktree (detached HEAD 7fc3b4c)
HEAD is now at 7fc3b4c Release 1.0.229
$ git diff HEAD | git -C ../agent-1 apply && git -C ../agent-1 status --short
M README.md
M serde/src/lib.rs
M serde_core/src/private/size_hint.rs
$ git ls-files --others --exclude-standard
PLAN.md
$ cp PLAN.md ../agent-1/ && git -C ../agent-1 status --short
M README.md
M serde/src/lib.rs
M serde_core/src/private/size_hint.rs
?? PLAN.md
Du brauchst vier Befehle pro Agent, bevor er anfängt. Sein Ergebnis landet als Branch in diesem Worktree, den du selbst zusammenführst und aufräumst.
Mit greppy
greppy -p "AUFGABE" legt den Workspace selbst an. Denselben Workspace legt greppy index --agent-worktree vorab an und wärmt seinen Index, so siehst du, was der Agent bekommt.
$ greppy index --agent-worktree
…
store mode: overlay (Base 61d1f6b54eac, reused)
…
indexed Delta generation 1: 4 changed/deleted paths, 9 private nodes (project: serde)
$ greppy workspace status
agent workspace ready (ordinary backend; provider inactive); 0 workspace(s), 378 chunks, 1575696 physical bytes
Der Workspace enthält alle vier offenen Pfade und übernimmt den geteilten Index; neu indiziert werden nur diese vier.
| ohne greppy | mit greppy | |
|---|---|---|
| Befehle, bis die Kopie steht | 4 | 0, greppy -p legt sie an |
| Offene Pfade in der Kopie | 4 von 4, von Hand übertragen | 4 von 4, automatisch |
| Index der Kopie | keiner | geteilte Base, 4 Pfade im eigenen Delta |
| Ergebnis | Branch im Worktree | Commit unter refs/greppy/agent/<run-id> |
So funktioniert es
greppy hält den Stand deines Repositorys in einem Blockspeicher: Dateien in Blöcken bis 1 MiB, adressiert über ihren BLAKE3-Hash, die Verwaltung in SQLite im WAL-Modus. Jeder Workspace bekommt deinen Commit plus alles, was du geändert, gestagt oder neu angelegt hast; ignorierte Dateien bleiben draußen. Gespeichert wird nur, was neu ist: Ein weiterer Workspace mit demselben Stand legte 0 neue Blöcke an, einer mit einer zusätzlich geänderten Datei 6 neue Blöcke mit zusammen 54.340 Byte. Git-Objekte liest der Workspace gemeinsam mit deinem Repository; Index, Refs und neue Commits bleiben privat. Mit aktivem Provider (FSKit auf macOS, FUSE3 auf Linux, eingerichtet mit greppy workspace setup) bindet greppy den Workspace per Copy-on-Write ein. Ohne Provider legt es private Verzeichnisse an, mit demselben Ablauf und demselben Ergebnis. Am Ende steht ein Commit unter refs/greppy/agent/<run-id>. Sein Elternteil ist dein Stand samt offener Änderungen, der Commit enthält also genau die Arbeit des Agenten. Ist er gespeichert, räumt greppy den Workspace weg.
Die Befehle
| Befehl | was er tut |
|---|---|
greppy -p "AUFGABE" |
startet den Agenten in einem eigenen Workspace mit deinem Stand; das Ergebnis ist ein Commit unter refs/greppy/agent/<run-id> |
greppy index --agent-worktree |
legt den Workspace des Agenten vorab an und wärmt seinen Index |
greppy workspace status |
Workspaces, Blockspeicher und Provider auf einen Blick |
greppy workspace setup |
richtet den Copy-on-Write-Provider ein |
git show refs/greppy/agent/<run-id> |
den Commit des Agenten prüfen |
greppy agent apply REF |
übernimmt genau die Änderungen des Agenten; dein Git-Index bleibt byte-gleich |
git cherry-pick -n REF |
übernehmen mit reinem Git |
Mehr in der Doku
- Eingebauter Agent: Workspace, Sandbox, Vorschlag prüfen und übernehmen
- Worktrees und geteilter Index: wie Agent-Workspaces den Index teilen