|
| 1 | += ADR-006: Auswahl des Code-Review-Tools |
| 2 | +:toc: |
| 3 | +:icons: font |
| 4 | + |
| 5 | +== Status |
| 6 | + |
| 7 | +**Proposed** - 2026-03-24 |
| 8 | + |
| 9 | +== Context |
| 10 | + |
| 11 | +Das Projekt nutzt aktuell CodeRabbit (Free Tier) für automatisierte Code-Reviews auf Pull Requests. |
| 12 | +CodeRabbit liefert gute Reviews (hat z.B. den SemVer-Syntaxfehler in PR #343 gefunden und falsche ATAM/Gherkin-Specs erkannt), aber wir stoßen regelmäßig an das kostenlose Limit. |
| 13 | + |
| 14 | +Drei Alternativen stehen zur Verfügung: |
| 15 | + |
| 16 | +* **GitHub Copilot Code Review**: Native GitHub-Integration, kostenlos für Open-Source-Projekte |
| 17 | +* **Claude Code (CLI)**: Bereits im Devcontainer installiert, versteht CLAUDE.md-Kontext |
| 18 | +* **CodeRabbit**: Bewährt, aber Free-Tier-Limit ist ein Problem |
| 19 | + |
| 20 | +=== Betrachtete Alternativen |
| 21 | + |
| 22 | +[cols="1,1,1,1"] |
| 23 | +|=== |
| 24 | +|Alternative |Kosten |Integration |Kontext |
| 25 | + |
| 26 | +|CodeRabbit Free |
| 27 | +|Gratis, aber Limit (~3 PRs/Woche) |
| 28 | +|GitHub App, automatisch auf jedem PR |
| 29 | +|Nutzt diff + PR-Beschreibung |
| 30 | + |
| 31 | +|GitHub Copilot Review |
| 32 | +|Gratis (Open-Source-Projekt) |
| 33 | +|Native GitHub, `@copilot review` oder automatisch |
| 34 | +|Nutzt Repository-Kontext |
| 35 | + |
| 36 | +|Claude Code CLI |
| 37 | +|Pro-Plan (bereits vorhanden) |
| 38 | +|Manuell: `claude -p "review PR #xxx"` |
| 39 | +|Nutzt CLAUDE.md, volles Repository-Verständnis |
| 40 | + |
| 41 | +|Claude Code GitHub App |
| 42 | +|Teuer (pro Review) |
| 43 | +|GitHub App, automatisch |
| 44 | +|Nutzt Repository-Kontext |
| 45 | +|=== |
| 46 | + |
| 47 | +== Decision |
| 48 | + |
| 49 | +_Noch nicht entschieden — Evaluation läuft._ |
| 50 | + |
| 51 | +Der nächste inhaltliche PR wird parallel von allen drei Tools reviewed. |
| 52 | +Bewertungskriterien: |
| 53 | + |
| 54 | +. **Review-Qualität**: Findet es echte Bugs? |
| 55 | +. **False-Positive-Rate**: Wie viele Findings sind Rauschen? |
| 56 | +. **Actionability**: Sind die Vorschläge direkt umsetzbar? |
| 57 | +. **Kontext-Verständnis**: Versteht es die Projekt-Architektur? |
| 58 | +. **Kosten/Limit**: Können wir es unbegrenzt nutzen? |
| 59 | +. **Aufwand**: Automatisch vs. manuell? |
| 60 | + |
| 61 | +=== Pugh-Matrix |
| 62 | + |
| 63 | +[cols="3,1,1,1,1"] |
| 64 | +|=== |
| 65 | +|Kriterium |CodeRabbit Free |Copilot Review |Claude CLI |Claude App |
| 66 | + |
| 67 | +|Review-Qualität |
| 68 | +|Baseline (0) |
| 69 | +|? |
| 70 | +|? |
| 71 | +|? |
| 72 | + |
| 73 | +|False-Positive-Rate |
| 74 | +|0 |
| 75 | +|? |
| 76 | +|? |
| 77 | +|? |
| 78 | + |
| 79 | +|Actionability |
| 80 | +|0 |
| 81 | +|? |
| 82 | +|? |
| 83 | +|? |
| 84 | + |
| 85 | +|Kontext-Verständnis |
| 86 | +|0 |
| 87 | +|? |
| 88 | +|? |
| 89 | +|? |
| 90 | + |
| 91 | +|Kosten/Limit |
| 92 | +|-1 (Limit!) |
| 93 | +|+1 (gratis, unlimited) |
| 94 | +|0 (Pro-Plan) |
| 95 | +|-1 (teuer) |
| 96 | + |
| 97 | +|Automatisierung |
| 98 | +|+1 (automatisch) |
| 99 | +|+1 (automatisch) |
| 100 | +|-1 (manuell) |
| 101 | +|+1 (automatisch) |
| 102 | + |
| 103 | +|**Summe** |
| 104 | +|**0** |
| 105 | +|? |
| 106 | +|? |
| 107 | +|? |
| 108 | +|=== |
| 109 | + |
| 110 | +Die Pugh-Matrix wird nach der Evaluation ausgefüllt. |
| 111 | + |
| 112 | +== Consequences |
| 113 | + |
| 114 | +=== Positive |
| 115 | + |
| 116 | +* Klare Entscheidungsgrundlage für Tool-Wahl |
| 117 | +* Reduzierung der Kosten oder Aufhebung des Limits |
| 118 | +* Dokumentierte Bewertungskriterien für zukünftige Tool-Wechsel |
| 119 | + |
| 120 | +=== Negative |
| 121 | + |
| 122 | +* Einmaliger Aufwand für die parallele Evaluation |
| 123 | +* Bei Tool-Wechsel: Verlust der CodeRabbit-Konfiguration und -Historie |
| 124 | + |
| 125 | +=== Risiken |
| 126 | + |
| 127 | +* GitHub Copilot Review ist relativ neu — Qualität könnte schwanken |
| 128 | +* Claude Code CLI erfordert manuellen Trigger — wird in der Praxis möglicherweise vergessen |
0 commit comments