2023-07-17 15:59:57 +03:00
2023-07-16 16:04:06 +03:00
2023-07-16 22:06:54 +03:00
2023-07-17 15:59:57 +03:00
2023-07-13 16:34:56 +03:00
2023-07-16 16:04:06 +03:00
2023-07-17 01:54:30 +03:00
2023-07-06 00:21:08 +03:00
2023-07-06 17:45:41 +03:00
2023-07-17 02:39:58 +03:00
2023-07-16 18:05:30 +03:00

GitHub license Discord

CodiumAI PR-Agent is an open-source tool aiming to help developers review PRs faster and more efficiently. It automatically analyzes the PR and can provide several types of feedback:

Auto-Description: Automatically generating PR description - name, type, summary, and code walkthrough.
PR Review: Feedback about the PR main theme, type, relevant tests, security issues, focused PR, and various suggestions for the PR content.
Question Answering: Answering free-text questions about the PR.
Code Suggestion: Committable code suggestions for improving the PR.

Example results:

Describe:

Review:

Ask:

Improve:

Live demo

Experience GPT-4 powered PR review on your public GitHub repository with our hosted PR-Agent. To try it, just mention @CodiumAI-Agent and add the desired command in any PR comment! The agent will generate a response based on your command.

Review generation process

To set up your own PR-Agent, see the Quickstart section


Overview

PR-Agent offers extensive pull request functionalities across various git providers:

GitHub Gitlab Bitbucket
TOOLS Review
⮑ Inline review
Ask
Auto-Description
Improve Code
USAGE CLI
Tagging bot
Actions
CORE PR compression
Repo language prioritization
Adaptive and token-aware
file patch fitting

Examples for invoking the different tools via the CLI:

  • Review: python cli.py --pr-url=<pr_url> review
  • Describe: python cli.py --pr-url=<pr_url> describe
  • Improve: python cli.py --pr-url=<pr_url> improve
  • Ask: python cli.py --pr-url=<pr_url> ask "Write me a poem about this PR"

"<pr_url>" is the url of the relevant PR (for example: https://github.com/Codium-ai/pr-agent/pull/50).

In the configuration file you can select your git provider (GitHub, Gitlab, Bitbucket), and further configure the different tools.

Quickstart

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. Let's start with the simplest one:

Install

Here are several ways to install and run PR-Agent:

Usage and Tools

PR-Agent provides four types of interactions ("tools"): "PR Reviewer", "PR Q&A", "PR Description" and "PR Code Sueggestions".

  • The "PR Reviewer" tool automatically analyzes PRs, and provides different types of feedback.
  • The "PR Ask" tool answers free-text questions about the PR.
  • The "PR Description" tool automatically sets the PR Title and body.
  • The "PR Code Suggestion" tool provide inline code suggestions for the PR that can be applied and committed.

How it works

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

Roadmap

  • Support open-source models, as a replacement for openai models. (Note - a minimal requirement for each open-source model is to have 8k+ context, and good support for generating json as an output)
  • Support other Git providers, such as Gitlab and Bitbucket.
  • Develop additional logics for handling large PRs, and compressing git patches
  • Dedicated tools and sub-tools for specific programming languages (Python, Javascript, Java, C++, etc)
  • Add additional context to the prompt. For example, repo (or relevant files) summarization, with tools such a ctags
  • Adding more tools. Possible directions:
    • PR description
    • Inline code suggestions
    • Enforcing CONTRIBUTING.md guidelines
    • Performance (are there any performance issues)
    • Documentation (is the PR properly documented)
    • Rank the PR importance
    • ...

Similar Projects

Description
🚀 PR-Agent (Qodo Merge open-source): An AI-Powered 🤖 Tool for Automated Pull Request Analysis, Feedback, Suggestions and More! 💻🔍
Readme AGPL-3.0 100 MiB
Languages
Python 99.8%
Dockerfile 0.2%