AI-powered code review agent for CI/CD pipelines
Project description
AI ReviewBot
AI-powered code review tool for GitHub and GitLab that provides intelligent feedback with inline suggestions and one-click "Apply" button.
📚 Documentation • 🚀 Quick Start • 🛒 GitHub Marketplace
✨ Features
- 🤖 AI-Powered Analysis — Uses Google Gemini for deep code understanding
- 💡 Inline Suggestions — Comments directly on code lines with GitHub's "Apply suggestion" button
- 🔒 Security Focus — Identifies vulnerabilities with severity levels (Critical, Warning, Info)
- 🌍 Multi-Language — Responds in your PR/MR language (adaptive mode)
- ✨ Good Practices — Highlights what you're doing right, not just issues
- 📊 Transparent Metrics — Shows tokens, latency, and estimated cost
- 🦊 GitHub & GitLab — Native support for both platforms
🚀 Quick Start
GitHub Actions (Recommended)
# .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:
github_token: ${{ secrets.GITHUB_TOKEN }}
google_api_key: ${{ secrets.GOOGLE_API_KEY }}
GitLab CI
# .gitlab-ci.yml
ai-review:
image: ghcr.io/konstziv/ai-code-reviewer:1
script:
- ai-review
rules:
- if: $CI_PIPELINE_SOURCE == "merge_request_event"
variables:
GOOGLE_API_KEY: $GOOGLE_API_KEY
GITLAB_TOKEN: $GITLAB_TOKEN # Project Access Token with 'api' scope
PyPI
pip install ai-reviewbot
# Set environment variables
export GOOGLE_API_KEY="your-key"
export GITHUB_TOKEN="your-token"
# Run review
ai-review --repo owner/repo --pr 123
Docker
# DockerHub
docker pull koszivdocker/ai-reviewbot:1
# GitHub Container Registry
docker pull ghcr.io/konstziv/ai-code-reviewer:1
📖 Documentation
Full documentation available in 6 languages:
| Language | Link |
|---|---|
| 🇬🇧 English | Documentation |
| 🇺🇦 Українська | Документація |
| 🇩🇪 Deutsch | Dokumentation |
| 🇪🇸 Español | Documentación |
| 🇲🇪 Crnogorski | Dokumentacija |
| 🇮🇹 Italiano | Documentazione |
⚙️ Configuration
| Variable | Default | Description |
|---|---|---|
GOOGLE_API_KEY |
— | Required. Google Gemini API key |
GITHUB_TOKEN |
— | GitHub token (for GitHub) |
GITLAB_TOKEN |
— | GitLab token (for GitLab) |
LANGUAGE |
en |
Response language (ISO 639 code) |
LANGUAGE_MODE |
adaptive |
adaptive (detect from PR) or fixed |
GEMINI_MODEL |
gemini-2.5-flash |
Gemini model to use |
LOG_LEVEL |
INFO |
Logging level |
See Configuration Guide for all options.
🎯 Example Output
The reviewer provides structured feedback with inline suggestions:
Summary Comment
🤖 AI Code Review
📊 Summary — Found 2 issues and 1 good practice.
Category Critical Warning Info Security 1 0 0 Code Quality 0 1 0 ✨ Good Practices — Excellent error handling in
api/handlers.py
⏱️ 1.2s | 🪙 1,540 tokens | 💰 ~$0.002
Inline Comment with "Apply" Button
⚠️ SQL Injection Risk
User input is concatenated directly into SQL query.
cursor.execute("SELECT * FROM users WHERE id = ?", (user_id,))💡 Why this matters: SQL injection allows attackers to execute arbitrary SQL commands. Always use parameterized queries.
🛠️ Development
# Clone repository
git clone https://github.com/KonstZiv/ai-code-reviewer.git
cd ai-code-reviewer
# Install dependencies with uv
uv sync --all-groups
# Run tests
uv run pytest
# Run linters
uv run ruff check .
uv run mypy src/
# Build documentation
uv run mkdocs serve
📦 Installation Options
| Method | Command | Best For |
|---|---|---|
| GitHub Action | uses: KonstZiv/ai-code-reviewer@v1 |
GitHub projects |
| Docker | docker pull koszivdocker/ai-reviewbot |
GitLab CI |
| PyPI | pip install ai-reviewbot |
Local testing |
💰 Cost Estimate
Using Gemini 2.5 Flash:
- Input: $0.075 / 1M tokens
- Output: $0.30 / 1M tokens
- Average review: ~$0.002 (1,500 tokens)
100 reviews/month ≈ $0.20
📄 License
Apache 2.0 — See LICENSE for details.
🤝 Contributing
Contributions are welcome! See Contributing Guide.
📬 Support
Made with ❤️ by Kostyantin Zivenko
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ai_reviewbot-1.0.0a3.tar.gz.
File metadata
- Download URL: ai_reviewbot-1.0.0a3.tar.gz
- Upload date:
- Size: 377.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d5aeec5ee709feb44b106d17c436c60b9bfbfc4aec852b040731cdc9bada8520
|
|
| MD5 |
0f7a7a6f7cd17d8f660b7bc2b2667362
|
|
| BLAKE2b-256 |
c629eb47c7713ed6f3928d2788b2412959cf4b003519188486c8519a3bebfec3
|
Provenance
The following attestation bundles were made for ai_reviewbot-1.0.0a3.tar.gz:
Publisher:
release.yml on KonstZiv/ai-code-reviewer
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ai_reviewbot-1.0.0a3.tar.gz -
Subject digest:
d5aeec5ee709feb44b106d17c436c60b9bfbfc4aec852b040731cdc9bada8520 - Sigstore transparency entry: 872513707
- Sigstore integration time:
-
Permalink:
KonstZiv/ai-code-reviewer@78226e884f03de6a81e4543cd7992943d329f6b3 -
Branch / Tag:
refs/tags/v1.0.0a3 - Owner: https://github.com/KonstZiv
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@78226e884f03de6a81e4543cd7992943d329f6b3 -
Trigger Event:
push
-
Statement type:
File details
Details for the file ai_reviewbot-1.0.0a3-py3-none-any.whl.
File metadata
- Download URL: ai_reviewbot-1.0.0a3-py3-none-any.whl
- Upload date:
- Size: 50.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ba693f223c7600b68e4f1c53f87f77cea6b18b71d8c6f5475f4dca1e7225bba6
|
|
| MD5 |
1e78872fced0b3c77e5033cd03d4eed6
|
|
| BLAKE2b-256 |
d88becfb438836bb8a85c13f91e5b3865423e1a082127ed097645be37c45299e
|
Provenance
The following attestation bundles were made for ai_reviewbot-1.0.0a3-py3-none-any.whl:
Publisher:
release.yml on KonstZiv/ai-code-reviewer
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ai_reviewbot-1.0.0a3-py3-none-any.whl -
Subject digest:
ba693f223c7600b68e4f1c53f87f77cea6b18b71d8c6f5475f4dca1e7225bba6 - Sigstore transparency entry: 872513768
- Sigstore integration time:
-
Permalink:
KonstZiv/ai-code-reviewer@78226e884f03de6a81e4543cd7992943d329f6b3 -
Branch / Tag:
refs/tags/v1.0.0a3 - Owner: https://github.com/KonstZiv
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@78226e884f03de6a81e4543cd7992943d329f6b3 -
Trigger Event:
push
-
Statement type: