AI ReviewBot¶
AI-pokretan asistent za automatizovanu reviziju koda u vašem CI/CD pipeline-u.
Šta je to?¶
AI Code Reviewer je alat koji automatski analizira vaše Pull Request-e (GitHub) i Merge Request-e (GitLab), pronalazi probleme i predlaže ispravke sa dugmetom "Apply Suggestion". U suštini, dobijate nepristrasan pogled senior programera na vaš kod zajedno sa prijedlozima za poboljšanje.
Moguća je integracija sa širokim spektrom postojećih LLM provajdera (podrazumijevano Google Gemini, model gemini-2.5-flash — u trenutku ovog izdanja, besplatni nivo ograničenja zahtjeva po minuti i po danu je dovoljan za normalan radni tok tima od 4-8 programera sa punim radnim vremenom).
Šta dobijate?¶
Komentari koda — ukupna ocjena koda i preporuke
Usklađenost sa zadatkom — usklađenost PR/MR sa kontekstom zadatka
Inline komentari — komentari direktno na linijama koda
Apply Suggestion — dugme za primjenu ispravki jednim klikom
Mentorska objašnjenja — zašto je to važno + linkovi na resurse
Jezička adaptivnost — prepoznaje jezik iz konteksta PR/MR
Metrike — vrijeme izvršavanja, tokeni
Otpornost — logika ponovnog pokušaja za 429/5xx greške
Brzi početak¶
Važno: da biste pratili sljedeće korake, trebat će vam lični Google API ključ. Možete ga dobiti besplatno na Google AI Studio ili Google Cloud Console.
AI Code Reviewer se može konfigurisati da koristi različite LLM provajdere i modele, besplatne i plaćene. Sljedeći primjeri koriste model gemini-2.5-flash. Drugi dijelovi dokumentacije objašnjavaju kako povezati druge provajdere i koristiti druge modele. Zainteresovani smo za vaše mišljenje o razlikama između različitih modela — rado bismo čitali o vašem iskustvu u komentarima.
GitHub¶
U vašem repozitorijumu kreirajte:
- u Settings → Secrets and variables [Security] → Actions → pritisnite New repository secret:
- kreirajte tajnu pod imenom AI_REVIEWER_GOOGLE_API_KEY sa vašim Google API ključem kao vrijednošću.
- u korijenu vašeg projektnog repozitorijuma:
- kreirajte fajl .github/workflows/ai-review.yml sa sljedećim sadržajem:
# .github/workflows/ai-review.yml
name: AI Code Review
on:
pull_request:
types: [opened, synchronize]
jobs:
review:
runs-on: ubuntu-latest
permissions:
contents: read
pull-requests: write
steps:
- uses: KonstZiv/ai-code-reviewer@v1
with:
google_api_key: ${{ secrets.AI_REVIEWER_GOOGLE_API_KEY }}
GitLab¶
U vašem repozitorijumu kreirajte:
-
GitLab Token (za pisanje komentara):
- Personal Access Token (svi planovi, uključujući Free) —
User Settings→Access Tokens, Scopeapi. Komentari će se pojavljivati pod vašim korisničkim imenom. - Project Access Token (Premium/Ultimate) —
Settings→Access Tokens→Add new token: Token nameai-reviewer, RoleDeveloper, Scopesapi
- Personal Access Token (svi planovi, uključujući Free) —
-
CI/CD varijable u
Settings→CI/CD→Variables: AI_REVIEWER_GOOGLE_API_KEY: vaš Google API ključ (Masked)-
AI_REVIEWER_GITLAB_TOKEN: token iz koraka 1 (Masked) -
Workflow fajl
.gitlab-ci.ymlu korijenu repozitorijuma:
# .gitlab-ci.yml
ai-review:
image: ghcr.io/konstziv/ai-code-reviewer:1
script:
- ai-review
rules:
- if: $CI_PIPELINE_SOURCE == "merge_request_event"
Kreirajte novi PR/MR — dobijte reviziju.
Kvalitet revizije direktno zavisi od razumijevanja AI Code Reviewer-a o vašim namjerama (baš kao i kod pravog ljudskog recenzenta). Stoga je dobra ideja pratiti razvojni proces dokumentacijom: - kreirajte issue koji opisuje problem i željene rezultate - kreirajte povezanu granu/povezani PR/MR u issue-u, detaljnije opisujući problem, pristup rješenju, ograničenja, željene rezultate, granične slučajeve — sve što dodaje razumijevanje konteksta, alate, rezultate - ako radite u timu — komunicirajte u issue-ima, komentarišite PR/MR-ove — sve ovo dodaje kontekst i poboljšava kvalitet revizije
Podržane platforme¶
| Platforma | Status | Integracija |
|---|---|---|
| GitHub | GitHub Actions / GitHub Action | |
| GitLab | GitLab CI / Docker image | |
| Self-hosted | Docker / PyPI |
Kako funkcioniše?¶
graph TD
A[PR/MR kreiran] --> B[CI pokreće AI Review]
B --> C[Preuzmi diff + kontekst]
C --> D[Analiziraj sa Gemini]
D --> E[Objavi Inline komentare]
E --> F[Apply Suggestion dugme]
Korak po korak:
- Vi kreirate PR/MR
- CI pipeline pokreće AI Code Reviewer
- Alat preuzima diff, PR opis, povezani zadatak
- Gemini analizira kod i generiše preporuke
- Rezultati se objavljuju kao inline komentari sa dugmetom "Apply"
Primjer revizije¶
🔴 KRITIČNO: Hardkodovana tajna
Fajl: config.py:15
Pronađen hardkodovan API ključ u kodu.
Zašto je ovo važno?
Tajne u kodu završavaju u git historiji i mogu biti ukradene. Koristite varijable okruženja ili menadžere tajni.
Kategorije problema¶
| Kategorija | Opis |
|---|---|
| Ranjivosti, hardkodovane tajne | |
| Čitljivost, imenovanje, DRY | |
| SOLID, dizajn patterni | |
| N+1, neefikasni algoritmi | |
| Pokrivenost, granični slučajevi |
Instalacija¶
Konfiguracija¶
Minimalna konfiguracija — samo API ključ:
Dodatne opcije:
| Varijabla | Opis | Podrazumijevano |
|---|---|---|
AI_REVIEWER_LANGUAGE |
Jezik odgovora (ISO 639) | en |
AI_REVIEWER_LANGUAGE_MODE |
adaptive / fixed |
adaptive |
AI_REVIEWER_GEMINI_MODEL |
Gemini model | gemini-2.5-flash |
AI_REVIEWER_LOG_LEVEL |
Nivo logovanja | INFO |
Stari nazivi
Stari nazivi varijabli bez AI_REVIEWER_ prefiksa i dalje rade kao fallback.
Dokumentacija¶
-
Copy-paste instrukcije za GitHub i GitLab
-
Sve varijable okruženja i opcije
-
Dozvole, tajne, savjeti za workflow
-
Job tokeni, MR triggeri, self-hosted
-
Komande i parametri
-
FAQ i rješavanje problema
Cijena¶
AI Code Reviewer koristi Google Gemini 3 Flash — u Free Tier režimu. Ograničenja besplatnog nivoa su dovoljna za opsluživanje PR/MR-ova za tim od 4-8 programera sa punim radnim vremenom, uključujući i revizije i smislene komentare (bez flood-a i off-topic-a).
Ako koristite plaćeni nivo (Pay-as-you-go), cijena tipične revizije je ~$0.003–$0.01.
~1000 revizija = ~$3 ... ~$10
Licenca¶
Apache 2.0 — slobodno za korišćenje, modifikovanje i distribuciju.
Podrška¶
GitHub Issues — bagovi i prijedlozi
GitHub Discussions — pitanja i diskusije
Spremni da poboljšate svoje revizije koda? Započnite →