Skip to content

setkyar/ai-review

Repository files navigation

AIReview

PyPI Changelog Tests codecov License

AIReview is a command-line tool that leverages LLM to provide code reviews for your Git changes.

Features

  • Automatic detection of Git changes
  • AI-powered code review using OpenAI's GPT models
  • Customizable review prompts and project context
  • Markdown-formatted review output
  • Support for multiple file reviews in a single run

Installation

Install this tool using pip:

pip install aireview

Configuration

Create a configuration file named aireview.config with the following structure in your project root:

[ai]
model = gpt-4
api_key = your_openai_api_key
base_url = https://api.openai.com/v1  # Optional: for custom OpenAI-compatible endpoints

[review]
output = ai-review.md # Output file for the review comments

[context]
project_context = Your project context description... # Example, I am working on Nodejs, typescript project

[prompt]
prompt_template = Your custom review prompt... # Example, Review the changes and provide feedback on the code quality and best practices

Usage

  1. Make some changes in your Git repository
  2. Add changes to the staging area:
git add  the/changed/files
  1. Run AIReview:
aireview --config path/to/aireview.config # you can skip --config if the config file is in the project root

The tool will:

  1. Detect your Git changes
  2. Send them to the LLM for review
  3. Generate a markdown file with the review comments

Development

  1. Clone the repository:
git clone https://github.com/setkyar/aireview.git
cd aireview
  1. Create and activate a virtual environment:
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate
  1. Install the package:
pip install -e .

Running Tests

# Install test dependencies
pip install -e ".[test]"

# Run tests
pytest

# Run tests with coverage
coverage run -m pytest
coverage report

Contributing

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages