Ich wollte eine Schleife bauen, in der eine KI Code schreibt und in die Versionsverwaltung pusht, ich ihn reviewe, und der Agent diese Reviews liest und darauf reagiert. Gerrit fiel mir dabei ein: ein Code-Review-Tool auf Basis von Git, das pro Commit reviewt statt pro Pull Request. Dieses commit-zentrierte Modell ist ungewohnt, und ich wollte es ausprobieren.

Ehrliches Fazit vorweg: Die Agenten-Schleife wurde dadurch für mich nicht spürbar runder. Aber es hat Spaß gemacht, das aufzusetzen, und unten steht die kleinste Variante, bei der ich gelandet bin.

Gerrit in Docker starten

Ein Container, zwei Ports: die Web-UI auf 8080 und SSH auf 29418.

Terminal window
docker run -ti -p 8080:8080 -p 29418:29418 gerritcodereview/gerrit

SSH-Key hinzufügen

Die REST-API nimmt einen Public Key direkt entgegen:

Terminal window
curl -u admin:secret \
-X POST \
-d '{"ssh_public_key": "'"$(cat ~/.ssh/id_rsa.pub)"'"}' \
http://localhost:8080/a/accounts/admin/sshkeys

Bei mir hat das nicht funktioniert, also trage den Key stattdessen von Hand unter http://localhost:8080/#/settings/ssh-keys ein.

Projekt anlegen

Terminal window
ssh -p 29418 admin@localhost gerrit create-project vibecode --branch main

Legt ein Projekt namens vibecode mit einem Standard-Branch main an.

Über SSH klonen

Terminal window
git clone ssh://admin@localhost:29418/vibecode

commit-msg-Hook installieren

Gerrit identifiziert eine Änderung über eine Change-Id-Zeile in der Commit-Nachricht. Der commit-msg-Hook fügt sie automatisch hinzu.

Terminal window
curl -Lo `git rev-parse --git-dir`/hooks/commit-msg http://localhost:8080/tools/hooks/commit-msg && chmod +x `git rev-parse --git-dir`/hooks/commit-msg

Commit zum Review pushen

Der entscheidende Refspec ist refs/for/main - er leitet den Push in ein Review statt direkt auf den Branch.

Terminal window
git push origin main:refs/for/main

Das Review zurück an den Agenten geben

Frage eine Änderung samt Kommentaren über SSH ab, gib die Ausgabe an deinen Coding-Agenten und lass ihn die Verbesserungen selbst herausarbeiten.

Terminal window
ssh -p 29418 admin@localhost gerrit query --comments --current-patch-set 27eac4ed28b66d45e0ad30e795dda14ba70925d3

Genau das ist der Kern: Das Review wird zu strukturiertem Text, den ein Agent lesen und beantworten kann. Gerrit war nicht der Durchbruch, den ich erhofft hatte, aber die Idee "Review als Text, den der Agent konsumiert" lohnt sich unabhängig vom darunterliegenden Tool.