Skip to main content

AI code review tool that works with any language model provider. It detects issues in GitHub pull requests or local changes—instantly, reliably, and without vendor lock-in.

Project description

Gito: AI Code Reviewer

PYPI Release PyLint Tests Code Coverage License

Gito is an open-source AI code reviewer that works with any language model provider. It detects issues in GitHub pull requests or local codebase changes—instantly, reliably, and without vendor lock-in.

Get consistent, thorough code reviews in seconds—no waiting for human availability.

📋 Table of Contents

✨ Why Gito?

  • [⚡] Lightning Fast: Get detailed code reviews in seconds, not days — powered by parallelized LLM processing
  • [🔧] Vendor Agnostic: Works with any language model provider (OpenAI, Anthropic, Google, local models, etc.)
  • [🌐] Universal: Supports all major programming languages and frameworks
  • [🔍] Comprehensive Analysis: Detect issues across security, performance, maintainability, best practices, and much more
  • [📈] Consistent Quality: Never tired, never biased—consistent review quality every time
  • [🚀] Easy Integration: Automatically reviews pull requests via GitHub Actions and posts results as PR comments
  • [🎛️] Infinitely Flexible: Adapt to any project's standards—configure review rules, severity levels, and focus areas, build custom workflows

🎯 Perfect For

  • Solo developers who want expert-level code review without the wait
  • Teams looking to catch issues before human review
  • Open source projects maintaining high code quality at scale
  • CI/CD pipelines requiring automated quality gates

✨ See code review in action

🚀 Quickstart

1. Review Pull Requests via GitHub Actions

Create a .github/workflows/gito-code-review.yml file:

name: "Gito: AI Code Review"
on:
  pull_request:
    types: [opened, synchronize, reopened]
  workflow_dispatch:
    inputs:
      pr_number:
        description: "Pull Request number"
        required: true
jobs:
  review:
    runs-on: ubuntu-latest
    permissions: { contents: read, pull-requests: write } # 'write' for leaving the summary comment
    steps:
    - uses: actions/checkout@v4
      with: { fetch-depth: 0 }
    - name: Set up Python
      uses: actions/setup-python@v5
      with: { python-version: "3.13" }
    - name: Install AI Code Review tool
      run: pip install gito.bot~=3.0
    - name: Run AI code analysis
      env:
        LLM_API_KEY: ${{ secrets.LLM_API_KEY }}
        LLM_API_TYPE: openai
        MODEL: "gpt-4.1"
        GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
        PR_NUMBER_FROM_WORKFLOW_DISPATCH: ${{ github.event.inputs.pr_number }}
      run: |
        gito --verbose review
        gito github-comment --token ${{ secrets.GITHUB_TOKEN }}
    - uses: actions/upload-artifact@v4
      with:
        name: ai-code-review-results
        path: |
          code-review-report.md
          code-review-report.json

⚠️ Make sure to add LLM_API_KEY to your repository's GitHub secrets.

💪 Done!
PRs to your repository will now receive AI code reviews automatically. ✨
See GitHub Setup Guide for more details.

2. Running Code Analysis Locally

Initial Local Setup

Prerequisites: Python 3.11 / 3.12 / 3.13

Step1: Install gito.bot using pip.

pip install gito.bot

Troubleshooting:
pip may be also available via cli as pip3 depending on your Python installation.

Step2: Perform initial setup

The following command will perform one-time setup using an interactive wizard. You will be prompted to enter LLM configuration details (API type, API key, etc). Configuration will be saved to ~/.gito/.env.

gito setup

Troubleshooting:
On some systems, gito command may not became available immediately after installation.
Try restarting your terminal or running python -m gito instead.

Perform your first AI code review locally

Step1: Navigate to your repository root directory.
Step2: Switch to the branch you want to review.
Step3: Run following command

gito review

Note: This will analyze the current branch against the repository main branch by default.
Files that are not staged for commit will be ignored.
See gito --help for more options.

Reviewing remote repository

gito remote git@github.com:owner/repo.git <FEATURE_BRANCH>..<MAIN_BRANCH>

Use interactive help for details:

gito remote --help

🔧 Configuration

Change behavior via .gito/config.toml:

  • Prompt templates, filtering and post-processing using Python code snippets
  • Tagging, severity, and confidence settings
  • Custom AI awards for developer brilliance
  • Output customization

You can override the default config by placing .gito/config.toml in your repo root.

See default configuration here.

More details can be found in 📖 Configuration Cookbook

📚 Documentation

💻 Development Setup

Install dependencies:

make install

Format code and check style:

make black
make cs

Run tests:

pytest

🤝 Contributing

Looking for a specific feature or having trouble?
Contributions are welcome! ❤️
See CONTRIBUTING.md for details.

📝 License

Licensed under the MIT License.

© 2025 Vitalii Stepanenko

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

gito_bot-3.2.0.tar.gz (41.3 kB view details)

Uploaded Source

Built Distribution

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

gito_bot-3.2.0-py3-none-any.whl (52.4 kB view details)

Uploaded Python 3

File details

Details for the file gito_bot-3.2.0.tar.gz.

File metadata

  • Download URL: gito_bot-3.2.0.tar.gz
  • Upload date:
  • Size: 41.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.13

File hashes

Hashes for gito_bot-3.2.0.tar.gz
Algorithm Hash digest
SHA256 642ecc57ad129201b898fbd6c1eb2f4980d823850e4c01f1cc45b435335bfcdb
MD5 0d1f7c2b8353b3108ca7d41354c55db5
BLAKE2b-256 5790cece388b1fead6dd3d0bb16a5c4d434a80b39de90c4b43ef6c4dbaf65c34

See more details on using hashes here.

File details

Details for the file gito_bot-3.2.0-py3-none-any.whl.

File metadata

  • Download URL: gito_bot-3.2.0-py3-none-any.whl
  • Upload date:
  • Size: 52.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.13

File hashes

Hashes for gito_bot-3.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f097cd162946d3795aa167dde4a15c017e1a958781e8b581dca1527a2c7111dc
MD5 932ca3a6bcbb096e2598b70b36f0bc94
BLAKE2b-256 062a8e4d7040ef6b45cf64136e59dce42e11cc58d6b24376bfb7db28192a1503

See more details on using hashes here.

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