CodiumAI PR-Agent is an open-source tool to help efficiently review and handle pull requests. It automatically analyzes the pull request and can provide several types of commands:
‣ Auto Description (/describe
): Automatically generating PR description - title, type, summary, code walkthrough and labels.
‣ Auto Review (/review
): Adjustable feedback about the PR main theme, type, relevant tests, security issues, score, and various suggestions for the PR content.
‣ Question Answering (/ask ...
): Answering free-text questions about the PR.
‣ Code Suggestions (/improve
): Committable code suggestions for improving the PR.
‣ Update Changelog (/update_changelog
): Automatically updating the CHANGELOG.md file with the PR changes.
‣ Find Similar Issue (/similar_issue
): Automatically retrieves and presents similar issues.
‣ Add Documentation 💎 (/add_docs
): Automatically adds documentation to methods/functions/classes that changed in the PR.
‣ Generate Custom Labels 💎 (/generate_labels
): Automatically suggests custom labels based on the PR code changes.
‣ Analyze 💎 (/analyze
): Automatically analyzes the PR, and presents changes walkthrough for each component.
See the Installation Guide for instructions on installing and running the tool on different git platforms.
See the Usage Guide for running the PR-Agent commands via different interfaces, including CLI, online usage, or by automatically triggering them when a new PR is opened.
See the Tools Guide for detailed description of the different tools (tools are run via the commands).
PR-Agent
offers extensive pull request functionalities across various git providers:
GitHub | Gitlab | Bitbucket | ||
---|---|---|---|---|
TOOLS | Review | ✅ | ✅ | ✅ |
⮑ Incremental | ✅ | |||
Ask | ✅ | ✅ | ✅ | |
Describe | ✅ | ✅ | ✅ | |
Improve | ✅ | ✅ | ✅ | |
⮑ Extended | ✅ | ✅ | ✅ | |
Reflect and Review | ✅ | ✅ | ✅ | |
Update CHANGELOG.md | ✅ | ✅ | ✅ | |
Find Similar Issue | ✅ | |||
Add PR Documentation 💎 | ✅ | ✅ | ✅ | |
Generate Custom Labels 💎 | ✅ | ✅ | ||
Analyze PR Components 💎 | ✅ | ✅ | ✅ | |
USAGE | CLI | ✅ | ✅ | ✅ |
App / webhook | ✅ | ✅ | ||
Tagging bot | ✅ | |||
Actions | ✅ | |||
CORE | PR compression | ✅ | ✅ | ✅ |
Repo language prioritization | ✅ | ✅ | ✅ | |
Adaptive and token-aware file patch fitting |
✅ | ✅ | ✅ | |
Multiple models support | ✅ | ✅ | ✅ | |
Incremental PR review | ✅ | |||
Static code analysis 💎 | ✅ | ✅ | ✅ | |
Global configuration 💎 | ✅ | ✅ | ✅ |
- 💎 means this feature is available only in PR-Agent Pro
- Support for additional git providers is described in here
Try the GPT-4 powered PR-Agent instantly on your public GitHub repository. 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
To set up your own PR-Agent, see the Installation section below.
Note that when you set your own PR-Agent or use CodiumAI hosted PR-Agent, there is no need to mention @CodiumAI-Agent ...
. Instead, directly start with the command, e.g., /ask ...
.
When you sign up to PR-Agent-Pro 💎, you will get access to a hosted PR-Agent, which is regularly updated with the latest features and abilities. This is the easiest way to use PR-Agent.
To use your own version of PR-Agent, you first need to acquire two tokens:
- An OpenAI key from here, with access to GPT-4.
- A GitHub personal access token (classic) with the repo scope.
There are several ways to use PR-Agent:
- Method 1: Use Docker image (no installation required)
- Method 2: Run from source
- Method 3: Run as a GitHub Action
- Method 4: Run as a polling server
- Request reviews by tagging your GitHub user on a PR
- Method 5: Run as a GitHub App
- Allowing you to automate the review process on your private or public repositories
- Method 6: Deploy as a Lambda Function
- Method 7: AWS CodeCommit
- Method 8: Run a GitLab webhook server
- Method 9: Run as a Bitbucket Pipeline
The following diagram illustrates PR-Agent tools and their flow:
Check out the PR Compression strategy page for more details on how we convert a code diff to a manageable LLM prompt
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:
- We emphasize real-life practical usage. Each tool (review, improve, ask, ...) has a single GPT-4 call, no more. We feel that this is critical for realistic team usage - obtaining an answer quickly (~30 seconds) and affordably.
- Our PR Compression strategy is a core ability that enables to effectively tackle both short and long PRs.
- Our JSON prompting strategy enables to have modular, customizable tools. For example, the '/review' tool categories can be controlled via the configuration file. Adding additional categories is easy and accessible.
- We support multiple git providers (GitHub, Gitlab, Bitbucket), multiple ways to use the tool (CLI, GitHub Action, GitHub App, Docker, ...), and multiple models (GPT-4, GPT-3.5, Anthropic, Cohere, Llama2).
If you host PR-Agent 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
When using PR-Agent-Pro 💎, hosted by CodiumAI, we will not store any of your data, nor will we used it for training. You will also benefit from an OpenAI account with zero data retention.
- Discord community: https://discord.gg/kG35uSHDBc
- CodiumAI site: https://codium.ai
- Blog: https://www.codium.ai/blog/
- Troubleshooting: https://www.codium.ai/blog/technical-faq-and-troubleshooting/
- Support: support@codium.ai