CodiumAI PR-Agent aims to help efficiently review and handle pull requests, by providing AI feedback and suggestions
-
See the Installation Guide for instructions on installing PR-Agent on different platforms.
-
See the Usage Guide for instructions on running PR-Agent tools via different interfaces, such as CLI, PR Comments, or by automatically triggering them when a new PR is opened.
-
See the Tools Guide for a detailed description of the different tools, and the available configurations for each tool.
Dynamic context is now the default option for context extension. This feature enables PR-Agent to dynamically adjusting the relevant context for each code hunk, while avoiding overflowing the model with too much information.
New version of PR-Agent, v0.24 was released. See the release notes for more information.
New version of PR Agent Chrome Extension was released, with full support of context-aware PR Chat. This novel feature is free to use for any open-source repository. See more details in here.
Increased PR context size for improved results, and enabled asymmetric context
Added support for Azure devops pipeline - you can now easily run PR-Agent as an Azure devops pipeline, without needing to set up your own server.
Added support for GitLab pipeline - you can now run easily PR-Agent as a GitLab pipeline, without needing to set up your own server.
(1) improved support for bitbucket server - auto commands and direct links
(2) custom models are now supported
Supported commands per platform:
GitHub | Gitlab | Bitbucket | Azure DevOps | ||
---|---|---|---|---|---|
TOOLS | Review | ✅ | ✅ | ✅ | ✅ |
⮑ Incremental | ✅ | ||||
⮑ SOC2 Compliance 💎 | ✅ | ✅ | ✅ | ||
Describe | ✅ | ✅ | ✅ | ✅ | |
⮑ Inline File Summary 💎 | ✅ | ||||
Improve | ✅ | ✅ | ✅ | ✅ | |
⮑ Extended | ✅ | ✅ | ✅ | ✅ | |
Ask | ✅ | ✅ | ✅ | ✅ | |
⮑ Ask on code lines | ✅ | ✅ | |||
Custom Prompt 💎 | ✅ | ✅ | ✅ | ||
Test 💎 | ✅ | ✅ | |||
Reflect and Review | ✅ | ✅ | ✅ | ✅ | |
Update CHANGELOG.md | ✅ | ✅ | ✅ | ✅ | |
Find Similar Issue | ✅ | ||||
Add PR Documentation 💎 | ✅ | ✅ | |||
Custom Labels 💎 | ✅ | ✅ | |||
Analyze 💎 | ✅ | ✅ | |||
CI Feedback 💎 | ✅ | ||||
Similar Code 💎 | ✅ | ||||
USAGE | CLI | ✅ | ✅ | ✅ | ✅ |
App / webhook | ✅ | ✅ | ✅ | ✅ | |
Tagging bot | ✅ | ||||
Actions | ✅ | ✅ | ✅ | ✅ | |
CORE | PR compression | ✅ | ✅ | ✅ | ✅ |
Repo language prioritization | ✅ | ✅ | ✅ | ✅ | |
Adaptive and token-aware file patch fitting | ✅ | ✅ | ✅ | ✅ | |
Multiple models support | ✅ | ✅ | ✅ | ✅ | |
Static code analysis 💎 | ✅ | ✅ | ✅ | ||
Global and wiki configurations 💎 | ✅ | ✅ | ✅ | ||
PR interactive actions 💎 | ✅ | ✅ |
- 💎 means this feature is available only in PR-Agent Pro
‣ Auto Description (/describe
): Automatically generating PR description - title, type, summary, code walkthrough and labels.
‣ Auto Review (/review
): Adjustable feedback about the PR, possible issues, security concerns, review effort and more.
‣ Code Suggestions (/improve
): Code suggestions for improving the PR.
‣ Question Answering (/ask ...
): Answering free-text questions about 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
): Generates documentation to methods/functions/classes that changed in the PR.
‣ Generate Custom Labels 💎 (/generate_labels
): Generates custom labels for the PR, based on specific guidelines defined by the user.
‣ Analyze 💎 (/analyze
): Identify code components that changed in the PR, and enables to interactively generate tests, docs, and code suggestions for each component.
‣ Custom Prompt 💎 (/custom_prompt
): Automatically generates custom suggestions for improving the PR code, based on specific guidelines defined by the user.
‣ Generate Tests 💎 (/test component_name
): Generates unit tests for a selected component, based on the PR code changes.
‣ CI Feedback 💎 (/checks ci_job
): Automatically generates feedback and analysis for a failed CI job.
‣ Similar Code 💎 (/find_similar_component
): Retrieves the most similar code components from inside the organization's codebase, or from open-source code.
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.
Note that this is a promotional bot, suitable only for initial experimentation.
It does not have 'edit' access to your repo, for example, so it cannot update the PR description or add labels (@CodiumAI-Agent /describe
will publish PR description as a comment). In addition, the bot cannot be used on private repositories, as it does not have access to the files there.
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 ...
.
PR-Agent Pro is a hosted version of PR-Agent, provided by CodiumAI. It is available for a monthly fee, and provides the following benefits:
- Fully managed - We take care of everything for you - hosting, models, regular updates, and more. Installation is as simple as signing up and adding the PR-Agent app to your GitHub\GitLab\BitBucket repo.
- Improved privacy - No data will be stored or used to train models. PR-Agent Pro will employ zero data retention, and will use an OpenAI account with zero data retention.
- Improved support - PR-Agent Pro users will receive priority support, and will be able to request new features and capabilities.
- Extra features -In addition to the benefits listed above, PR-Agent Pro will emphasize more customization, and the usage of static code analysis, in addition to LLM logic, to improve results. See here for a list of features available in PR-Agent Pro.
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 makes 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 use it for training. You will also benefit from an OpenAI account with zero data retention.
-
For certain clients, CodiumAI-hosted PR-Agent Pro will use CodiumAI’s proprietary models — if this is the case, you will be notified.
-
No passive collection of Code and Pull Requests’ data — PR-Agent will be active only when you invoke it, and it will then extract and analyze only data relevant to the executed command and queried pull request.
- The PR-Agent Chrome extension serves solely to modify the visual appearance of a GitHub PR screen. It does not transmit any user's repo or pull request code. Code is only sent for processing when a user submits a GitHub comment that activates a PR-Agent tool, in accordance with the standard privacy policy of PR-Agent.
- 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