<h1 align="center"><a href="#"><img alt="Gito: AI Code Reviewer" src="https://raw.githubusercontent.com/Nayjest/Gito/main/press-kit/logo/gito-ai-code-reviewer_logo-180.png" align="center" width="180"></a></h1>
<p align="center">
<a href="https://pypi.org/project/gito.bot/" target="_blank"><img src="https://img.shields.io/pypi/v/gito.bot" alt="PYPI Release"></a>
<a href="https://github.com/Nayjest/Gito/actions/workflows/code-style.yml" target="_blank"><img src="https://github.com/Nayjest/Gito/actions/workflows/code-style.yml/badge.svg" alt="PyLint"></a>
<a href="https://github.com/Nayjest/Gito/actions/workflows/tests.yml" target="_blank"><img src="https://github.com/Nayjest/Gito/actions/workflows/tests.yml/badge.svg" alt="Tests"></a>
<img src="https://raw.githubusercontent.com/Nayjest/Gito/main/coverage.svg" alt="Code Coverage">
<a href="https://github.com/Nayjest/Gito/blob/main/LICENSE" target="_blank"><img src="https://img.shields.io/static/v1?label=license&message=MIT&color=d08aff" alt="License"></a>
</p>
**Gito** is an open-source **AI code reviewer** that works with any language model provider.
It detects issues in GitHub pull requests or local changes—instantly, reliably, and without vendor lock-in.
Get consistent, thorough code reviews in seconds—no waiting for human availability.
## ✨ 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](https://github.com/Nayjest/Gito/pull/99) ✨
## 🚀 Quickstart
### 1. Review Pull Requests via GitHub Actions
Create a `.github/workflows/gito-code-review.yml` file:
```yaml
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](https://github.com/Nayjest/Gito/blob/main/documentation/github_setup.md) for more details.
### 2. Running Code Analysis Locally
#### Initial Local Setup
**Prerequisites:** [Python](https://www.python.org/downloads/) 3.11 / 3.12 / 3.13
**Step1:** Install [gito.bot](https://github.com/Nayjest/Gito) using [pip](https://en.wikipedia.org/wiki/Pip_(package_manager)).
```bash
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`.
```bash
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
```bash
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**
```bash
gito remote git@github.com:owner/repo.git <FEATURE_BRANCH>..<MAIN_BRANCH>
```
Use interactive help for details:
```bash
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](https://github.com/Nayjest/Gito/blob/main/gito/config.toml).
More details can be found in [📖 Configuration Cookbook](https://github.com/Nayjest/Gito/blob/main/documentation/config_cookbook.md)
## 💻 Development Setup
Install dependencies:
```bash
make install
```
Format code and check style:
```bash
make black
make cs
```
Run tests:
```bash
pytest
```
## 🤝 Contributing
**Looking for a specific feature or having trouble?**
Contributions are welcome! ❤️
See [CONTRIBUTING.md](https://github.com/Nayjest/Gito/blob/main/CONTRIBUTING.md) for details.
## 📝 License
Licensed under the [MIT License](https://github.com/Nayjest/Gito/blob/main/LICENSE).
© 2025 [Vitalii Stepanenko](mailto:mail@vitaliy.in)
Raw data
{
"_id": null,
"home_page": null,
"name": "ai-code-review",
"maintainer": null,
"docs_url": null,
"requires_python": "<4.0,>=3.11",
"maintainer_email": null,
"keywords": "static code analysis, code review, code quality, ai, coding, assistant, llm, github, automation, devops, developer tools, github actions, workflows, git",
"author": "Nayjest",
"author_email": "mail@vitaliy.in",
"download_url": "https://files.pythonhosted.org/packages/03/29/346ab140fcd7c8d7dbea6fe5472a9cd9d62a8fa0f82b18083238f4919297/ai_code_review-3.1.0.tar.gz",
"platform": null,
"description": "<h1 align=\"center\"><a href=\"#\"><img alt=\"Gito: AI Code Reviewer\" src=\"https://raw.githubusercontent.com/Nayjest/Gito/main/press-kit/logo/gito-ai-code-reviewer_logo-180.png\" align=\"center\" width=\"180\"></a></h1>\n<p align=\"center\">\n<a href=\"https://pypi.org/project/gito.bot/\" target=\"_blank\"><img src=\"https://img.shields.io/pypi/v/gito.bot\" alt=\"PYPI Release\"></a>\n<a href=\"https://github.com/Nayjest/Gito/actions/workflows/code-style.yml\" target=\"_blank\"><img src=\"https://github.com/Nayjest/Gito/actions/workflows/code-style.yml/badge.svg\" alt=\"PyLint\"></a>\n<a href=\"https://github.com/Nayjest/Gito/actions/workflows/tests.yml\" target=\"_blank\"><img src=\"https://github.com/Nayjest/Gito/actions/workflows/tests.yml/badge.svg\" alt=\"Tests\"></a>\n<img src=\"https://raw.githubusercontent.com/Nayjest/Gito/main/coverage.svg\" alt=\"Code Coverage\">\n<a href=\"https://github.com/Nayjest/Gito/blob/main/LICENSE\" target=\"_blank\"><img src=\"https://img.shields.io/static/v1?label=license&message=MIT&color=d08aff\" alt=\"License\"></a>\n</p>\n\n**Gito** is an open-source **AI code reviewer** that works with any language model provider.\nIt detects issues in GitHub pull requests or local changes\u2014instantly, reliably, and without vendor lock-in.\n\nGet consistent, thorough code reviews in seconds\u2014no waiting for human availability.\n\n## \u2728 Why Gito?\n\n- [\u26a1] **Lightning Fast:** Get detailed code reviews in seconds, not days \u2014 powered by parallelized LLM processing \n- [\ud83d\udd27] **Vendor Agnostic:** Works with any language model provider (OpenAI, Anthropic, Google, local models, etc.) \n- [\ud83c\udf10] **Universal:** Supports all major programming languages and frameworks \n- [\ud83d\udd0d] **Comprehensive Analysis:** Detect issues across security, performance, maintainability, best practices, and much more \n- [\ud83d\udcc8] **Consistent Quality:** Never tired, never biased\u2014consistent review quality every time \n- [\ud83d\ude80] **Easy Integration:** Automatically reviews pull requests via GitHub Actions and posts results as PR comments \n- [\ud83c\udf9b\ufe0f] **Infinitely Flexible:** Adapt to any project's standards\u2014configure review rules, severity levels, and focus areas, build custom workflows \n\n## \ud83c\udfaf Perfect For\n\n- Solo developers who want expert-level code review without the wait\n- Teams looking to catch issues before human review\n- Open source projects maintaining high code quality at scale\n- CI/CD pipelines requiring automated quality gates\n\n\u2728 See [code review in action](https://github.com/Nayjest/Gito/pull/99) \u2728\n\n## \ud83d\ude80 Quickstart\n\n### 1. Review Pull Requests via GitHub Actions\n\nCreate a `.github/workflows/gito-code-review.yml` file:\n\n```yaml\nname: \"Gito: AI Code Review\"\non:\n pull_request:\n types: [opened, synchronize, reopened]\n workflow_dispatch:\n inputs:\n pr_number:\n description: \"Pull Request number\"\n required: true\njobs:\n review:\n runs-on: ubuntu-latest\n permissions: { contents: read, pull-requests: write } # 'write' for leaving the summary comment\n steps:\n - uses: actions/checkout@v4\n with: { fetch-depth: 0 }\n - name: Set up Python\n uses: actions/setup-python@v5\n with: { python-version: \"3.13\" }\n - name: Install AI Code Review tool\n run: pip install gito.bot~=3.0\n - name: Run AI code analysis\n env:\n LLM_API_KEY: ${{ secrets.LLM_API_KEY }}\n LLM_API_TYPE: openai\n MODEL: \"gpt-4.1\"\n GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}\n PR_NUMBER_FROM_WORKFLOW_DISPATCH: ${{ github.event.inputs.pr_number }}\n run: |\n gito --verbose review\n gito github-comment --token ${{ secrets.GITHUB_TOKEN }}\n - uses: actions/upload-artifact@v4\n with:\n name: ai-code-review-results\n path: |\n code-review-report.md\n code-review-report.json\n```\n\n> \u26a0\ufe0f Make sure to add `LLM_API_KEY` to your repository\u2019s GitHub secrets.\n\n\ud83d\udcaa Done! \nPRs to your repository will now receive AI code reviews automatically. \u2728 \nSee [GitHub Setup Guide](https://github.com/Nayjest/Gito/blob/main/documentation/github_setup.md) for more details.\n\n### 2. Running Code Analysis Locally\n\n#### Initial Local Setup\n\n**Prerequisites:** [Python](https://www.python.org/downloads/) 3.11 / 3.12 / 3.13 \n\n**Step1:** Install [gito.bot](https://github.com/Nayjest/Gito) using [pip](https://en.wikipedia.org/wiki/Pip_(package_manager)).\n```bash\npip install gito.bot\n```\n\n> **Troubleshooting:** \n> pip may be also available via cli as `pip3` depending on your Python installation.\n\n**Step2:** Perform initial setup\n\nThe following command will perform one-time setup using an interactive wizard.\nYou will be prompted to enter LLM configuration details (API type, API key, etc).\nConfiguration will be saved to `~/.gito/.env`.\n\n```bash\ngito setup\n```\n\n> **Troubleshooting:** \n> On some systems, `gito` command may not became available immediately after installation. \n> Try restarting your terminal or running `python -m gito` instead.\n\n\n#### Perform your first AI code review locally\n\n**Step1:** Navigate to your repository root directory. \n**Step2:** Switch to the branch you want to review. \n**Step3:** Run following command\n```bash\ngito review\n```\n\n> **Note:** This will analyze the current branch against the repository main branch by default. \n> Files that are not staged for commit will be ignored. \n> See `gito --help` for more options.\n\n**Reviewing remote repository**\n\n```bash\ngito remote git@github.com:owner/repo.git <FEATURE_BRANCH>..<MAIN_BRANCH>\n```\nUse interactive help for details:\n```bash\ngito remote --help\n```\n\n## \ud83d\udd27 Configuration\n\nChange behavior via `.gito/config.toml`:\n\n- Prompt templates, filtering and post-processing using Python code snippets\n- Tagging, severity, and confidence settings\n- Custom AI awards for developer brilliance\n- Output customization\n\nYou can override the default config by placing `.gito/config.toml` in your repo root.\n\n\nSee default configuration [here](https://github.com/Nayjest/Gito/blob/main/gito/config.toml).\n\nMore details can be found in [\ud83d\udcd6 Configuration Cookbook](https://github.com/Nayjest/Gito/blob/main/documentation/config_cookbook.md)\n\n## \ud83d\udcbb Development Setup\n\nInstall dependencies:\n\n```bash\nmake install\n```\n\nFormat code and check style:\n\n```bash\nmake black\nmake cs\n```\n\nRun tests:\n\n```bash\npytest\n```\n\n## \ud83e\udd1d Contributing\n\n**Looking for a specific feature or having trouble?** \nContributions are welcome! \u2764\ufe0f \nSee [CONTRIBUTING.md](https://github.com/Nayjest/Gito/blob/main/CONTRIBUTING.md) for details.\n\n## \ud83d\udcdd License\n\nLicensed under the [MIT License](https://github.com/Nayjest/Gito/blob/main/LICENSE).\n\n\u00a9 2025 [Vitalii Stepanenko](mailto:mail@vitaliy.in)\n\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "AI code review tool that works with any language model provider. It detects issues in GitHub pull requests or local changes\u2014instantly, reliably, and without vendor lock-in.",
"version": "3.1.0",
"project_urls": {
"Homepage": "https://github.com/Nayjest/Gito",
"Repository": "https://github.com/Nayjest/Gito"
},
"split_keywords": [
"static code analysis",
" code review",
" code quality",
" ai",
" coding",
" assistant",
" llm",
" github",
" automation",
" devops",
" developer tools",
" github actions",
" workflows",
" git"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "12b68189227b31b60dfe2e3f03ea16c4201dd18ce58617e2ac2065b420190943",
"md5": "19473336db47d363aa1d7ffa7b6230ad",
"sha256": "174d4c3b8ab6e0b37544bdf083b65402abfff2b78902d04541cb9012f97db2ed"
},
"downloads": -1,
"filename": "ai_code_review-3.1.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "19473336db47d363aa1d7ffa7b6230ad",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<4.0,>=3.11",
"size": 46912,
"upload_time": "2025-07-14T16:20:28",
"upload_time_iso_8601": "2025-07-14T16:20:28.148165Z",
"url": "https://files.pythonhosted.org/packages/12/b6/8189227b31b60dfe2e3f03ea16c4201dd18ce58617e2ac2065b420190943/ai_code_review-3.1.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "0329346ab140fcd7c8d7dbea6fe5472a9cd9d62a8fa0f82b18083238f4919297",
"md5": "a56f1679873057863bd05ccb666a8759",
"sha256": "20c1ee8afa3f7b89ba23aa5b2856e55058a4d96202fce8bd9882e69a3ea21dd5"
},
"downloads": -1,
"filename": "ai_code_review-3.1.0.tar.gz",
"has_sig": false,
"md5_digest": "a56f1679873057863bd05ccb666a8759",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4.0,>=3.11",
"size": 37957,
"upload_time": "2025-07-14T16:20:29",
"upload_time_iso_8601": "2025-07-14T16:20:29.688673Z",
"url": "https://files.pythonhosted.org/packages/03/29/346ab140fcd7c8d7dbea6fe5472a9cd9d62a8fa0f82b18083238f4919297/ai_code_review-3.1.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-07-14 16:20:29",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "Nayjest",
"github_project": "Gito",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "ai-code-review"
}