diff --git a/README.md b/README.md index 5cc8aca435..e9a0f1e4ad 100644 --- a/README.md +++ b/README.md @@ -1,11 +1,267 @@ -# ๐Ÿš€ AI Code Review with Qodo +image + + +GitHub + + +
+ +# ๐Ÿš€ The first AI Code Reviewer + +PR-Agent is an open-source, AI-powered code review agent. It is a legacy project of Qodo that is now maintained by the community. + +> NOTE: It is not related to the main product offering of Qodo's code review product. Qodo now offers a [free tier for AI code review](https://www.qodo.ai/get-started/) to easily integrate with GitHub, GitLab, Bitbucket, and Azure DevOps, with feature-rich capabilities for high-quality context-aware code reviews. -Note: this PR Agent repository was originally created by Qodo as a code review bot and now contributed to the open-source community. It is superseded by Qodo's hosted solution with a free tier available to all developers, which we highly recommend converting to for a better UX, feature-rich, and high-quality code review experience. +## Table of Contents + +- [Getting Started](#getting-started) +- [Why Use PR-Agent?](#why-use-pr-agent) +- [Features](#features) +- [See It in Action](#see-it-in-action) +- [Try It Now](#try-it-now) +- [How It Works](#how-it-works) +- [Data Privacy](#data-privacy) +- [Contributing](#contributing) + +## Getting Started + +### ๐Ÿš€ Quick Start for PR-Agent + +#### 1. Try it Instantly (No Setup) +Test PR-Agent on any public GitHub repository by commenting `@CodiumAI-Agent /improve` + +#### 2. GitHub Action (Recommended) +Add automated PR reviews to your repository with a simple workflow file: +```yaml +# .github/workflows/pr-agent.yml +name: PR Agent +on: + pull_request: + types: [opened, synchronize] +jobs: + pr_agent_job: + runs-on: ubuntu-latest + steps: + - name: PR Agent action step + uses: Codium-ai/pr-agent@main + env: + OPENAI_KEY: ${{ secrets.OPENAI_KEY }} + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} +``` +[Full GitHub Action setup guide](https://qodo-merge-docs.qodo.ai/installation/github/#run-as-a-github-action) + +#### 3. CLI Usage (Local Development) +Run PR-Agent locally on your repository: +```bash +pip install pr-agent +export OPENAI_KEY=your_key_here +pr-agent --pr_url https://github.com/owner/repo/pull/123 review +``` +[Complete CLI setup guide](https://qodo-merge-docs.qodo.ai/usage-guide/automations_and_usage/#local-repo-cli) + +#### 4. Other Platforms +- [GitLab webhook setup](https://qodo-merge-docs.qodo.ai/installation/gitlab/) +- [BitBucket app installation](https://qodo-merge-docs.qodo.ai/installation/bitbucket/) +- [Azure DevOps setup](https://qodo-merge-docs.qodo.ai/installation/azure/) + +[//]: # (## News and Updates) + +[//]: # () +[//]: # (## Aug 8, 2025) + +[//]: # () +[//]: # (Added full support for GPT-5 models. View the [benchmark results](https://qodo-merge-docs.qodo.ai/pr_benchmark/#pr-benchmark-results) for details on the performance of GPT-5 models in PR-Agent.) + +[//]: # () +[//]: # () +[//]: # (## Jul 17, 2025) + +[//]: # () +[//]: # (Introducing `/compliance`, a new Qodo Merge ๐Ÿ’Ž tool that runs comprehensive checks for security, ticket requirements, codebase duplication, and custom organizational rules. ) + +[//]: # () +[//]: # (compliance-image) + +[//]: # () +[//]: # (Read more about it [here](https://qodo-merge-docs.qodo.ai/tools/compliance/)) + +[//]: # () +[//]: # () +[//]: # (## Jul 1, 2025) + +[//]: # (You can now receive automatic feedback from Qodo Merge in your local IDE after each commit. Read more about it [here](https://github.com/qodo-ai/agents/tree/main/agents/qodo-merge-post-commit).) + +[//]: # () +[//]: # () +[//]: # (## Jun 21, 2025) + +[//]: # () +[//]: # (v0.30 was [released](https://github.com/qodo-ai/pr-agent/releases)) + +[//]: # () +[//]: # () +[//]: # (## Jun 3, 2025) + +[//]: # () +[//]: # (Qodo Merge now offers a simplified free tier ๐Ÿ’Ž.) + +[//]: # (Organizations can use Qodo Merge at no cost, with a [monthly limit](https://qodo-merge-docs.qodo.ai/installation/qodo_merge/#cloud-users) of 75 PR reviews per organization.) + +[//]: # () +[//]: # () +[//]: # (## Apr 30, 2025) + +[//]: # () +[//]: # (A new feature is now available in the `/improve` tool for Qodo Merge ๐Ÿ’Ž - Chat on code suggestions.) + +[//]: # () +[//]: # (image) + +[//]: # () +[//]: # (Read more about it [here](https://qodo-merge-docs.qodo.ai/tools/improve/#chat-on-code-suggestions).) + +[//]: # () +[//]: # () +[//]: # (## Apr 16, 2025) + +[//]: # () +[//]: # (New tool for Qodo Merge ๐Ÿ’Ž - `/scan_repo_discussions`.) + +[//]: # () +[//]: # (image) + +[//]: # () +[//]: # (Read more about it [here](https://qodo-merge-docs.qodo.ai/tools/scan_repo_discussions/).) + +## Why Use PR-Agent? + +### ๐ŸŽฏ Built for Real Development Teams + +**Fast & Affordable**: Each tool (`/review`, `/improve`, `/ask`) uses a single LLM call (~30 seconds, low cost) + +**Handles Any PR Size**: Our [PR Compression strategy](https://qodo-merge-docs.qodo.ai/core-abilities/#pr-compression-strategy) effectively processes both small and large PRs + +**Highly Customizable**: JSON-based prompting allows easy customization of review categories and behavior via [configuration files](pr_agent/settings/configuration.toml) + +**Platform Agnostic**: +- **Git Providers**: GitHub, GitLab, BitBucket, Azure DevOps, Gitea +- **Deployment**: CLI, GitHub Actions, Docker, self-hosted, webhooks +- **AI Models**: OpenAI GPT, Claude, Deepseek, and more + +**Open Source Benefits**: +- Full control over your data and infrastructure +- Customize prompts and behavior for your team's needs +- No vendor lock-in +- Community-driven development + +## Features + +
+ +PR-Agent offers comprehensive pull request functionalities integrated with various git providers: + +| | | GitHub | GitLab | Bitbucket | Azure DevOps | Gitea | +|---------------------------------------------------------|----------------------------------------------------------------------------------------|:------:|:------:|:---------:|:------------:|:-----:| +| [TOOLS](https://qodo-merge-docs.qodo.ai/tools/) | [Describe](https://qodo-merge-docs.qodo.ai/tools/describe/) | โœ… | โœ… | โœ… | โœ… | โœ… | +| | [Review](https://qodo-merge-docs.qodo.ai/tools/review/) | โœ… | โœ… | โœ… | โœ… | โœ… | +| | [Improve](https://qodo-merge-docs.qodo.ai/tools/improve/) | โœ… | โœ… | โœ… | โœ… | โœ… | +| | [Ask](https://qodo-merge-docs.qodo.ai/tools/ask/) | โœ… | โœ… | โœ… | โœ… | | +| | โฎ‘ [Ask on code lines](https://qodo-merge-docs.qodo.ai/tools/ask/#ask-lines) | โœ… | โœ… | | | | +| | [Help Docs](https://qodo-merge-docs.qodo.ai/tools/help_docs/?h=auto#auto-approval) | โœ… | โœ… | โœ… | | | +| | [Update CHANGELOG](https://qodo-merge-docs.qodo.ai/tools/update_changelog/) | โœ… | โœ… | โœ… | โœ… | | +| | | | | | | | +| [USAGE](https://qodo-merge-docs.qodo.ai/usage-guide/) | [CLI](https://qodo-merge-docs.qodo.ai/usage-guide/automations_and_usage/#local-repo-cli) | โœ… | โœ… | โœ… | โœ… | โœ… | +| | [App / webhook](https://qodo-merge-docs.qodo.ai/usage-guide/automations_and_usage/#github-app) | โœ… | โœ… | โœ… | โœ… | โœ… | +| | [Tagging bot](https://github.com/Codium-ai/pr-agent#try-it-now) | โœ… | | | | | +| | [Actions](https://qodo-merge-docs.qodo.ai/installation/github/#run-as-a-github-action) | โœ… | โœ… | โœ… | โœ… | | +| | | | | | | | +| [CORE](https://qodo-merge-docs.qodo.ai/core-abilities/) | [Adaptive and token-aware file patch fitting](https://qodo-merge-docs.qodo.ai/core-abilities/compression_strategy/) | โœ… | โœ… | โœ… | โœ… | | +| | [Chat on code suggestions](https://qodo-merge-docs.qodo.ai/core-abilities/chat_on_code_suggestions/) | โœ… | โœ… | | | | +| | [Dynamic context](https://qodo-merge-docs.qodo.ai/core-abilities/dynamic_context/) | โœ… | โœ… | โœ… | โœ… | | +| | [Fetching ticket context](https://qodo-merge-docs.qodo.ai/core-abilities/fetching_ticket_context/) | โœ… | โœ… | โœ… | | | +| | [Incremental Update](https://qodo-merge-docs.qodo.ai/core-abilities/incremental_update/) | โœ… | | | | | +| | [Interactivity](https://qodo-merge-docs.qodo.ai/core-abilities/interactivity/) | โœ… | โœ… | | | | +| | [Local and global metadata](https://qodo-merge-docs.qodo.ai/core-abilities/metadata/) | โœ… | โœ… | โœ… | โœ… | | +| | [Multiple models support](https://qodo-merge-docs.qodo.ai/usage-guide/changing_a_model/) | โœ… | โœ… | โœ… | โœ… | | +| | [PR compression](https://qodo-merge-docs.qodo.ai/core-abilities/compression_strategy/) | โœ… | โœ… | โœ… | โœ… | | +| | [RAG context enrichment](https://qodo-merge-docs.qodo.ai/core-abilities/rag_context_enrichment/) | โœ… | | โœ… | | | +| | [Self reflection](https://qodo-merge-docs.qodo.ai/core-abilities/self_reflection/) | โœ… | โœ… | โœ… | โœ… | | + +[//]: # (- Support for additional git providers is described in [here](./docs/Full_environments.md)) +___ + +## See It in Action + +
+

/describe

+
+

+ +

+
+
+ +

/review

+
+

+ + + +

+
+
+ +

/improve

+
+

+ + + +

+
+ +
+ +
+
+ +## Try It Now + +Try the GPT-5 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. + + +## How It Works + +The following diagram illustrates PR-Agent tools and their flow: + +![PR-Agent Tools](https://www.qodo.ai/images/pr_agent/diagram-v0.9.png) + +## Data Privacy + +### Self-hosted PR-Agent + +- 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 + +## Contributing + +To contribute to the project, get started by reading our [Contributing Guide](https://github.com/qodo-ai/pr-agent/blob/b09eec265ef7d36c232063f76553efb6b53979ff/CONTRIBUTING.md). + ## โค๏ธ Community This open-source release remains here as a community contribution from Qodo โ€” the origin of modern AI-powered code collaboration. Weโ€™re proud to share it and inspire developers worldwide. -The project now has its first external maintainer, Naor ([@naorpeled](https://github.com/naorpeled)), and is currently in the process of being donated to an open-source foundation. +The project now has its first external maintainer, Naor ([@naorpeled](https://github.com/naorpeled)), and is currently in the process of being donated to an open-source foundation. \ No newline at end of file