Skip to main content

AI-powered code review agent for CI/CD pipelines

Project description

AI ReviewBot

PyPI version Python 3.13+ License Tests codecov

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: konstziv/ai-reviewbot:latest
  script:
    - ai-review
  rules:
    - if: $CI_PIPELINE_SOURCE == "merge_request_event"
  variables:
    GOOGLE_API_KEY: $GOOGLE_API_KEY
    GITLAB_TOKEN: $CI_JOB_TOKEN

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 konstziv/ai-reviewbot:latest

# GitHub Container Registry
docker pull ghcr.io/konstziv/ai-reviewbot:latest

📖 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.

```suggestion
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.

📚 Learn more

```

🛠️ 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 konstziv/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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ai_reviewbot-1.0.0a1.tar.gz (359.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ai_reviewbot-1.0.0a1-py3-none-any.whl (50.3 kB view details)

Uploaded Python 3

File details

Details for the file ai_reviewbot-1.0.0a1.tar.gz.

File metadata

  • Download URL: ai_reviewbot-1.0.0a1.tar.gz
  • Upload date:
  • Size: 359.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for ai_reviewbot-1.0.0a1.tar.gz
Algorithm Hash digest
SHA256 c59dd80ecd680ce936bac6a0e7edfda190f8990d71cee455f98de04d50275312
MD5 3fae69bd24a7bed3fb4031c463159554
BLAKE2b-256 b1ced779bd5f50a763fca6bfab7935c989911b0fd0e08580a82ee57b74328f01

See more details on using hashes here.

Provenance

The following attestation bundles were made for ai_reviewbot-1.0.0a1.tar.gz:

Publisher: release.yml on KonstZiv/ai-code-reviewer

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ai_reviewbot-1.0.0a1-py3-none-any.whl.

File metadata

  • Download URL: ai_reviewbot-1.0.0a1-py3-none-any.whl
  • Upload date:
  • Size: 50.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for ai_reviewbot-1.0.0a1-py3-none-any.whl
Algorithm Hash digest
SHA256 0debc6ca4cb02418168b1dc5b05ee621980adc0f41e6c273208709c0975c0750
MD5 ed4b9c9db74b22c6bed6b4264b9ca03f
BLAKE2b-256 04666b8b995db6b5bd4825580e5c4a4af2aec7a875562135eceffa0f4cc9f8a5

See more details on using hashes here.

Provenance

The following attestation bundles were made for ai_reviewbot-1.0.0a1-py3-none-any.whl:

Publisher: release.yml on KonstZiv/ai-code-reviewer

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page