Má cesta s CodeRabbitem: Jak jsem se naučil nebát AI review
11. 08. 2025
Bezplatné rozšíření CodeRabbit IDE přináší AI kontroly kódu do lokálního[2] vyvojového prostředí, což umožňuje vývojářům zkontrolovat a vylepšit změny před samotným vytvořením Pull Requestu (PR).
V Media Factory jsme s kolegou na projektu dělali ve dvou. Já jsem měl na starost frontend, on dodával backend. Ačkoliv mou silnou stránkou je JavaScript, tak jsem musel pracovat s PHP serverem. Nastavení transpilace TypeScriptu a bundlování JavaScriptu vyřešilo část problému, ale i tak jsem se PHP nevyhnul. A silně jsem pociťoval nedostatek code review, které mi kolega na backendu neměl jak poskytnout.
Když se mě šéfové ptali, co bych na projektu zlepšil, tohle jsem zmínil. Padla dobrá otázka, jestli by mi nepomohlo AI. Po pěti minutách google-fu[1] jsem vybral CodeRabbit.
Poslední tři měsíce na projektu jsem využíval CodeRabbit rozšíření do IDE a s těmito zkušenostmi se můžu podělit.
Coderabbit IDE rozšíření
Bezplatné rozšíření CodeRabbit IDE přináší AI kontroly kódu do lokálního[2] vývojového prostředí, což umožňuje vývojářům zkontrolovat a vylepšit změny před samotným vytvořením Pull Requestu (PR).
Kompatibilita a přístup
Rozšíření je navrženo pro VSCode (Visual Studio Code) a je kompatibilní s jeho forky jako jsou Cursor a Windsurf. Instalace pluginu přidá novou položku do activity baru editoru. Z postranního panelu CodeRabbit mohou uživatelé spravovat účet (přihlášení/odhlášení) a přistupovat k nastavení konfigurace.
Pracovní postup a kontextová kontrola
Rozšíření dává uživatelům kontrolu nad rozsahem review, které lze spustit ručně, nebo se dá nakonfigurovat tak, aby proběhly automaticky po každém lokálním commitu.
Pro manuální kontrolu má uživatel na výběr:
- Vybrat si base branch, se kterou chce změny porovnat. Lze nastavit, jestli chce provést kontrolu pro změny v současné větvi, nebo jakékoliv jiné větvi.
- Vybrat rozsah změn, který chce zkontrolovat: Všechny změny, pouze commitnuté nebo Pouze necommitnuté[3].
Lokální revize pro platící uživatele získávají:
- Learnings (naučené preference týmu z minulých interakcí)
- Integrace s více než 40 nástroji pro kontrolu kvality (linters a bezpečnostní skenery)
- Dodržování týmových Code Guidelines (pravidla z existujících konfiguračních souborů jako .cursorrules nebo CLAUDE.md)
Výsledky kontroly a opravy
Po dokončení review (které trvá několik minut, a režim spánku ho nenávratně ukončí) přidá CodeRabbit komentáře k vybraným změnám. Zobrazí se dva typy nálezů:
- kritické nálezy, které stojí za to opravit ihned
- sekce nitpicks, která identifikuje drobné věci, které by se daly zlepšit
Rozdělení odpovídá nastavenému profilu přísnosti review (chill nebo assertive)
Opravy na jedno kliknutí
CodeRabbit často poskytuje konkrétní opravy, které lze aplikovat okamžitě s jedním kliknutím, které bohužel nemusí vždy fungovat. Vypozoroval jsem, že má problémy s víceřádkovými opravami.
Pro složitější opravy lze použít funkci Fix with AI, která zkopíruje instrukce a kontext s nimi spojený do schránky, odkud je lze předat preferovanému AI agentovi.
Výhody CodeRabbit rozšíření
- Upozorní na překlepy, gramatiku a běžné chyby.
- Upozorní na neošetřené nulové hodnoty a podobné edge casy.
- Zvýšená důvěra ve správnost kódu (především PHP a Twig).
- Snadno se používá a nastavuje.
- Posílá notifikace, připomíná code review.
- Nezveřejňuje náš kód, ani jej nepoužívá, na trénink veřejného modelu.
- Je adaptativní, nemusí se nastavovat pravidla ručně.
- Sekce nitpicks nutí přemýšlet nad kódem hlubším způsobem.
Bolesti s rozšířením
- Neschopnost upozornit na špatné řešení.
- Rychlost. Čekat 2 až 5 minut na každý commit je obtěžující.
- Funkce automatické opravy ne vždy funguje.
- Nesbírá statistiky. To jsem nejvíc pocítil při psaní tohoto článku.
- Sekce nitpicks nutí přemýšlet nad kódem hlubším způsobem.
Integrace na firemním GitLabem
Moc dobře si uvědomuji, že většinu mých problémů s CodeRabbitem vychází z používání nástroje jako pluginu do IDE. CodeRabbit poskytuje plnou podporu pro self-managed instance GitLabu[4].
Proces propojení a administrátorská oprávnění
Účet GitLabu je vázán na self-hosted instanci. Pro jejich propojení je potřeba vytvořit Personal Access Token (PAT) pro komunikaci s GitLab API a aktivovat OAuth2 pro přihlášení jednotlivých uživatelů. Pro komunikaci se doporučuje vytvořit dedikovaného servisního uživatele, například CodeRabbitAI. Tento uživatel by měl mít alespoň Developer přístup k projektům, ve kterých má provádět revize.
Samotné připojení instance fungovalo až překvapivě dobře. Kde jsem však narazil na problém, bylo nastavení CodeRabbitu na jednotlivé repozitáře, kde mi chyběl ovládací prvek pro aktivaci repozitáře.
Aktivace repozitářů zahrnuje instalaci webhooku, který je klíčový pro monitorování Merge Request (MR) událostí. Po opakovaném generování nových tokenů tu samou operaci zkusil kolega přes servisního uživatele a vše bylo vyřešeno.
Po vyřešení problémů s oprávněními[5] máme nyní automatické code reviews na několika našich repozitářích. CodeRabbit je chytřejší díky přístupu ke kódu jiných projektů, což je zásadní pro zajištění konzistentní kvality napříč různými kódovými základnami.
Poznámky pod čarou
[1]: Duckduckgo-fu, mám rád soukromí a Google nepoužívám
[2]: Lokální vyžaduje připojení k internetu. Znamená prostředí na počítači vývojáře, na rozdíl od cloudového nebo vzdáleného prostředí.
[3]: CodeRabbit uvádí snížení hluku v komentářích k Pull Requestům až o 80 %.
[4]: Podpora GitLab verze 16.x a vyšší.
[5]: Klasická daň za self-hosted prostředí.