•  


GitHub - Codium-ai/pr-agent: ??CodiumAI PR-Agent: An AI-Powered ?? Tool for Automated Pull Request Analysis, Feedback, Suggestions and More! ????
Skip to content

Codium-ai/pr-agent

Repository files navigation

logo
CodiumAI PR-Agent aims to help efficiently review and handle pull requests, by providing AI feedbacks and suggestions

GitHub license Discord Twitter GitHub

  • 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.

Table of Contents

News and Updates

May 12, 2024

Inspired by AlphaCodium flow engineering scheme, PR-Agent now performs self-reflection on the code suggestions it provides, enabling to remove invalid suggestions, and score the valid ones. The suggestions will be presented sorted by their score, enabling to focus on the most important ones first.

You can also choose to automatically remove suggestions below a certain importance score threshold, by setting the pr_code_suggestions.suggestions_score_threshold configuration .

May 2, 2024

Check out the new PR-Agent Chrome Extension ??????

This toolbar integrates seamlessly with your GitHub environment, allowing you to access PR-Agent tools directly from the GitHub interface . You can also easily export your chosen configuration, and use it for the automatic commands.

April 14, 2024

You can now ask questions about images that appear in the comment, where the entire PR is considered as the context. see here for more details.

March 24, 2024

PR-Agent is now available for easy installation via pip .

March 17, 2024

  • A new feature is now available for the review tool: require_can_be_split_review . If set to true, the tool will add a section that checks if the PR contains several themes, and can be split into smaller PRs.

March 10, 2024

  • A new knowledge-base website for PR-Agent is now available. It includes detailed information about the different tools, usage guides and more, in an accessible and organized format.

March 8, 2024

  • A new tool, Find Similar Code ?? is now available.
    This tool retrieves the most similar code components from inside the organization's codebase, or from open-source code:

(click on the image to see an instructional video)

Feb 29, 2024

  • You can now use the repo's wiki page to set configurations for PR-Agent ??

Overview

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 Suggestions ?? ? ? ? ?
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 ?? ?

? 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 Suggestions ?? ( /custom_suggestions ) : 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.


Example results





Try it now

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

Review generation process

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 ??

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:

  1. 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.
  2. 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.
  3. Improved support - PR-Agent Pro users will receive priority support, and will be able to request new features and capabilities.
  4. 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.

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 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).

Data privacy

Self-hosted PR-Agent

CodiumAI-hosted PR-Agent Pro ??

  • 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.

PR-Agent Chrome extension

  • 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.

Links

Join our Discord community

- "漢字路" 한글한자자동변환 서비스는 교육부 고전문헌국역지원사업의 지원으로 구축되었습니다.
- "漢字路" 한글한자자동변환 서비스는 전통문화연구회 "울산대학교한국어처리연구실 옥철영(IT융합전공)교수팀"에서 개발한 한글한자자동변환기를 바탕하여 지속적으로 공동 연구 개발하고 있는 서비스입니다.
- 현재 고유명사(인명, 지명등)을 비롯한 여러 변환오류가 있으며 이를 해결하고자 많은 연구 개발을 진행하고자 하고 있습니다. 이를 인지하시고 다른 곳에서 인용시 한자 변환 결과를 한번 더 검토하시고 사용해 주시기 바랍니다.
- 변환오류 및 건의,문의사항은 juntong@juntong.or.kr로 메일로 보내주시면 감사하겠습니다. .
Copyright ⓒ 2020 By '전통문화연구회(傳統文化硏究會)' All Rights reserved.
 한국   대만   중국   일본