jrgriffiniii / pr-agent

🚀CodiumAI PR-Agent: An AI-Powered 🤖 Tool for Automated Pull Request Analysis, Feedback, Suggestions and More! 💻🔍
Apache License 2.0
0 stars 0 forks source link

Making pull requests less painful with an AI agent
[![GitHub license](https://img.shields.io/badge/License-Apache_2.0-blue.svg)](https://github.com/Codium-ai/pr-agent/blob/main/LICENSE) [![Discord](https://badgen.net/badge/icon/discord?icon=discord&label&color=purple)](https://discord.com/channels/1057273017547378788/1126104260430528613) [![Twitter](https://img.shields.io/twitter/follow/codiumai)](https://twitter.com/codiumai) GitHub
CodiumAI `PR-Agent` is an open-source tool aiming to help developers review pull requests faster and more efficiently. It automatically analyzes the pull request and can provide several types of commands: ‣ **Auto Description ([`/describe`](./docs/DESCRIBE.md))**: Automatically generating PR description - title, type, summary, code walkthrough and labels. \ ‣ **Auto Review ([`/review`](./docs/REVIEW.md))**: Adjustable feedback about the PR main theme, type, relevant tests, security issues, score, and various suggestions for the PR content. \ ‣ **Question Answering ([`/ask ...`](./docs/ASK.md))**: Answering free-text questions about the PR. \ ‣ **Code Suggestions ([`/improve`](./docs/IMPROVE.md))**: Committable code suggestions for improving the PR. \ ‣ **Update Changelog ([`/update_changelog`](./docs/UPDATE_CHANGELOG.md))**: Automatically updating the CHANGELOG.md file with the PR changes. \ ‣ **Find Similar Issue ([`/similar_issue`](./docs/SIMILAR_ISSUE.md))**: Automatically retrieves and presents similar issues \ ‣ **Add Documentation ([`/add_docs`](./docs/ADD_DOCUMENTATION.md))**: Automatically adds documentation to un-documented functions/classes in the PR. See the [Installation Guide](./INSTALL.md) for instructions how to install and run the tool on different platforms. See the [Usage Guide](./Usage.md) for instructions how to run the different tools from _CLI_, _online usage_, or by _automatically triggering_ them when a new PR is opened. See the [Tools Guide](./docs/TOOLS_GUIDE.md) for detailed description of the different tools.

Example results:

/describe:

/review:

## Table of Contents - [Overview](#overview) - [Try it now](#try-it-now) - [Installation](#installation) - [How it works](#how-it-works) - [Why use PR-Agent?](#why-use-pr-agent) - [Roadmap](#roadmap)

Overview

PR-Agent offers extensive pull request functionalities across various git providers: GitHub Gitlab Bitbucket CodeCommit Azure DevOps Gerrit
TOOLS Review :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark:
⮑ Incremental :white_check_mark:
Ask :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark:
Auto-Description :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark:
Improve Code :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark:
⮑ Extended :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark:
Reflect and Review :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark:
Update CHANGELOG.md :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark:
Find similar issue :white_check_mark:
Add Documentation :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark:
USAGE CLI :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark:
App / webhook :white_check_mark: :white_check_mark:
Tagging bot :white_check_mark:
Actions :white_check_mark:
Web server :white_check_mark:
CORE PR compression :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark:
Repo language prioritization :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark:
Adaptive and token-aware
file patch fitting
:white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark:
Multiple models support :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark:
Incremental PR Review :white_check_mark:

Review the usage guide section for detailed instructions how to use the different tools, select the relevant git provider (GitHub, Gitlab, Bitbucket,...), and adjust the configuration file to your needs.

Try it now

You can try GPT-4 powered PR-Agent, on your public GitHub repository, instantly. Just mention @CodiumAI-Agent and add the desired command in any PR comment. The agent will generate a response based on your command. For example, add a comment to any pull request with the following text:

@CodiumAI-Agent /review

and the agent will respond with a review of your PR

Review generation process

To set up your own PR-Agent, see the Installation section below.


Installation

To get started with PR-Agent quickly, you first need to acquire two tokens:

  1. An OpenAI key from here, with access to GPT-4.
  2. A GitHub personal access token (classic) with the repo scope.

There are several ways to use PR-Agent:

How it works

The following diagram illustrates PR-Agent tools and their flow:

PR-Agent Tools

Check out the PR Compression strategy page for more details on how we convert a code diff to a manageable LLM prompt

Why use PR-Agent?

A reasonable question that can be asked is: "Why use PR-Agent? What make it stand out from existing tools?"

Here are some advantages of PR-Agent:

Roadmap

See the Release notes for updates on the latest changes.

Similar Projects

Data Privacy

If you use self-host PR-Agent, e.g. via CLI running on your computer, with your OpenAI API key, it is between you and OpenAI. You can read their API data privacy policy here: https://openai.com/enterprise-privacy

Links

Join our Discord community