From f7c698ff54aecafc8e639bfe051ccfa44b17f063 Mon Sep 17 00:00:00 2001 From: mrT23 Date: Fri, 1 Sep 2023 19:40:38 +0300 Subject: [PATCH 01/11] update --- README.md | 81 ++++++++++++++++++++++++++++++++++--------------------- 1 file changed, 51 insertions(+), 30 deletions(-) diff --git a/README.md b/README.md index 85705c6c..c236c8fa 100644 --- a/README.md +++ b/README.md @@ -35,33 +35,55 @@ CodiumAI `PR-Agent` is an open-source tool aiming to help developers review pull

-

/review:

-
-

- -

-
-

/reflect_and_review:

-
-

- -

-
-

/ask:

-
-

- -

-
-

/improve:

-
-

- -

-
+ +[//]: # (

/review:

) +[//]: # (
) + +[//]: # (

) + +[//]: # () + +[//]: # (

) + +[//]: # (
) +[//]: # (

/reflect_and_review:

) + +[//]: # (
) + +[//]: # (

) + +[//]: # () + +[//]: # (

) + +[//]: # (
) + +[//]: # (

/ask:

) + +[//]: # (
) + +[//]: # (

) + +[//]: # () + +[//]: # (

) + +[//]: # (
) + +[//]: # (

/improve:

) + +[//]: # (
) + +[//]: # (

) + +[//]: # () + +[//]: # (

) + +[//]: # (
)
- +## Table of Contents - [Overview](#overview) - [Try it now](#try-it-now) - [Installation](#installation) @@ -78,7 +100,6 @@ CodiumAI `PR-Agent` is an open-source tool aiming to help developers review pull | | | GitHub | Gitlab | Bitbucket | CodeCommit | Azure DevOps | |-------|---------------------------------------------|:------:|:------:|:---------:|:----------:|:----------:| | TOOLS | Review | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | -| | ⮑ Inline review | :white_check_mark: | :white_check_mark: | | | | | | Ask | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | Auto-Description | :white_check_mark: | :white_check_mark: | | :white_check_mark: | :white_check_mark: | | | Improve Code | :white_check_mark: | :white_check_mark: | | | | @@ -91,10 +112,10 @@ CodiumAI `PR-Agent` is an open-source tool aiming to help developers review pull | | Tagging bot | :white_check_mark: | | | | | | | Actions | :white_check_mark: | | | | | | | | | | | | | -| CORE | PR compression | :white_check_mark: | :white_check_mark: | :white_check_mark: | | :white_check_mark: | -| | Repo language prioritization | :white_check_mark: | :white_check_mark: | :white_check_mark: | | :white_check_mark: | -| | Adaptive and token-aware
file patch fitting | :white_check_mark: | :white_check_mark: | :white_check_mark: | | :white_check_mark: | -| | Multiple models support | :white_check_mark: | :white_check_mark: | :white_check_mark: | | :white_check_mark: | +| CORE | PR compression | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | +| | Repo language prioritization | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | +| | Adaptive and token-aware
file patch fitting | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | +| | Multiple models support | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | Incremental PR Review | :white_check_mark: | | | | | Examples for invoking the different tools via the CLI: From 777c773a9098f9c18ac35bb9373abd727873a235 Mon Sep 17 00:00:00 2001 From: mrT23 Date: Fri, 1 Sep 2023 19:50:10 +0300 Subject: [PATCH 02/11] update --- CONFIGURATION.md | 23 +++++++++++++++++++---- README.md | 22 +++++++--------------- 2 files changed, 26 insertions(+), 19 deletions(-) diff --git a/CONFIGURATION.md b/CONFIGURATION.md index 320ddedf..162a51d3 100644 --- a/CONFIGURATION.md +++ b/CONFIGURATION.md @@ -2,18 +2,33 @@ The different tools and sub-tools used by CodiumAI PR-Agent are adjustable via the **[configuration file](pr_agent/settings/configuration.toml)** +Options that are available in the configuration file can be specified at run time when calling actions. Two examples: +``` +- /review --pr_reviewer.extra_instructions="focus on the file: ..." +- /describe --pr_description.add_original_user_description=false -pr_description.extra_instructions="make sure to mention: ..." +``` + ### Working from CLI When running from source (CLI), your local configuration file will be initially used. -Example for invoking the 'review' tools via the CLI: +Examples for invoking the different tools via the CLI: ``` -python cli.py --pr-url= review +- **Review**: python cli.py --pr_url= review +- **Describe**: python cli.py --pr_url= describe +- **Improve**: python cli.py --pr_url= improve +- **Ask**: python cli.py --pr_url= ask "Write me a poem about this PR" +- **Reflect**: python cli.py --pr_url= reflect +- **Update Changelog**: python cli.py --pr_url= update_changelog ``` -In addition to general configurations, the 'review' tool will use parameters from the `[pr_reviewer]` section (every tool has a dedicated section in the configuration file). -Note that you can print results locally, without publishing them, by setting in `configuration.toml`: +"" is the url of the relevant PR (for example: https://github.com/Codium-ai/pr-agent/pull/50). +Notes: + +(1) In addition to general configurations, each tool has its own configurations. For example, the 'review' tool will use parameters from the `[pr_reviewer]` section. + +(2) You can print results locally, without publishing them, by setting in `configuration.toml`: ``` [config] publish_output=true diff --git a/README.md b/README.md index c236c8fa..cbf13970 100644 --- a/README.md +++ b/README.md @@ -118,29 +118,21 @@ CodiumAI `PR-Agent` is an open-source tool aiming to help developers review pull | | Multiple models support | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | Incremental PR Review | :white_check_mark: | | | | | -Examples for invoking the different tools via the CLI: -- **Review**: python cli.py --pr_url= review -- **Describe**: python cli.py --pr_url= describe -- **Improve**: python cli.py --pr_url= improve -- **Ask**: python cli.py --pr_url= ask "Write me a poem about this PR" -- **Reflect**: python cli.py --pr_url= reflect -- **Update Changelog**: python cli.py --pr_url= update_changelog - -"" is the url of the relevant PR (for example: https://github.com/Codium-ai/pr-agent/pull/50). - -In the [configuration](./CONFIGURATION.md) file you can select your git provider (GitHub, Gitlab, Bitbucket), and further configure the different tools. -Options that are available in the configuration file can be specified at run time when calling actions. Two examples: -- /review --pr_reviewer.extra_instructions="focus on the file: ..." -- /describe --pr_description.add_original_user_description=false -pr_description.extra_instructions="make sure to mention: ..." +Review the [configuration](./CONFIGURATION.md) section for instruction how to use the different tools, select the relevant git provider (GitHub, Gitlab, Bitbucket,...), and adjust the configuration file to your needs. ## Try it now Try GPT-4 powered PR-Agent on your public GitHub repository for free. 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: +``` +@CodiumAI-Agent /review +``` +And the agent will respond with a review of your PR ![Review generation process](https://www.codium.ai/images/demo-2.gif) -To set up your own PR-Agent, see the [Installation](#installation) section +To set up your own PR-Agent, see the [Installation](#installation) section below. --- ## Installation From 7a6efbcb5590e21519bb76dc25697744a31791bf Mon Sep 17 00:00:00 2001 From: mrT23 Date: Fri, 1 Sep 2023 19:56:20 +0300 Subject: [PATCH 03/11] update --- CONFIGURATION.md | 11 +++++++---- README.md | 2 +- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/CONFIGURATION.md b/CONFIGURATION.md index 162a51d3..82326a27 100644 --- a/CONFIGURATION.md +++ b/CONFIGURATION.md @@ -2,6 +2,11 @@ The different tools and sub-tools used by CodiumAI PR-Agent are adjustable via the **[configuration file](pr_agent/settings/configuration.toml)** +The `git_provider` field in the configuration file determines the GIT provider that will be used by PR-Agent. Currently, the following providers are supported: +` +"github", "gitlab", "azure", "codecommit","local" +` + Options that are available in the configuration file can be specified at run time when calling actions. Two examples: ``` - /review --pr_reviewer.extra_instructions="focus on the file: ..." @@ -13,20 +18,18 @@ When running from source (CLI), your local configuration file will be initially Examples for invoking the different tools via the CLI: -``` - **Review**: python cli.py --pr_url= review - **Describe**: python cli.py --pr_url= describe - **Improve**: python cli.py --pr_url= improve - **Ask**: python cli.py --pr_url= ask "Write me a poem about this PR" - **Reflect**: python cli.py --pr_url= reflect - **Update Changelog**: python cli.py --pr_url= update_changelog -``` -"" is the url of the relevant PR (for example: https://github.com/Codium-ai/pr-agent/pull/50). +`` is the url of the relevant PR (for example: https://github.com/Codium-ai/pr-agent/pull/50). Notes: -(1) In addition to general configurations, each tool has its own configurations. For example, the 'review' tool will use parameters from the `[pr_reviewer]` section. +(1) In addition to general configurations, each tool has its own configurations. For example, the 'review' tool will use parameters from the `[pr_reviewer]` section in the [configuration file](pr_agent/settings/configuration.toml) (2) You can print results locally, without publishing them, by setting in `configuration.toml`: ``` diff --git a/README.md b/README.md index cbf13970..71278a03 100644 --- a/README.md +++ b/README.md @@ -91,7 +91,6 @@ CodiumAI `PR-Agent` is an open-source tool aiming to help developers review pull - [How it works](#how-it-works) - [Why use PR-Agent](#why-use-pr-agent) - [Roadmap](#roadmap) -- [Similar projects](#similar-projects)
@@ -133,6 +132,7 @@ And the agent will respond with a review of your PR To set up your own PR-Agent, see the [Installation](#installation) section below. + --- ## Installation From 7f6493009cbc4393176da98cd61faa0c914c2f11 Mon Sep 17 00:00:00 2001 From: mrT23 Date: Fri, 1 Sep 2023 20:05:33 +0300 Subject: [PATCH 04/11] update --- CONFIGURATION.md | 21 ++++++--------------- README.md | 6 +++--- 2 files changed, 9 insertions(+), 18 deletions(-) diff --git a/CONFIGURATION.md b/CONFIGURATION.md index 82326a27..10a18aa7 100644 --- a/CONFIGURATION.md +++ b/CONFIGURATION.md @@ -14,7 +14,7 @@ Options that are available in the configuration file can be specified at run tim ``` ### Working from CLI -When running from source (CLI), your local configuration file will be initially used. +When running from source (CLI), your local configuration file will be used. Examples for invoking the different tools via the CLI: @@ -27,9 +27,9 @@ Examples for invoking the different tools via the CLI: `` is the url of the relevant PR (for example: https://github.com/Codium-ai/pr-agent/pull/50). -Notes: +**Notes:** -(1) In addition to general configurations, each tool has its own configurations. For example, the 'review' tool will use parameters from the `[pr_reviewer]` section in the [configuration file](pr_agent/settings/configuration.toml) +(1) In addition to general configuration options, each tool has its own configurations. For example, the 'review' tool will use parameters from the `[pr_reviewer]` section in the [configuration file](/pr_agent/settings/configuration.toml#L16) (2) You can print results locally, without publishing them, by setting in `configuration.toml`: ``` @@ -40,11 +40,11 @@ verbosity_level=2 This is useful for debugging or experimenting with the different tools. ### Working from GitHub App (pre-built repo) -When running PR-Agent from GitHub App, the default configuration file (`configuration.toml`) will be loaded. +When running PR-Agent from GitHub App, the default configuration file (`configuration.toml`) will be initially loaded. #### GitHub app default tools -The `[github_app]` section of the configuration file defines GitHub app specific configurations. -The important parameter is `pr_commands`, which is a list of tools that will be run automatically when a new PR is opened: +The `[github_app]` section defines the GitHub app specific configurations. +An important parameter is `pr_commands`, which is a list of tools that will be run automatically when a new PR is opened: ``` [github_app] pr_commands = [ @@ -109,15 +109,6 @@ key = ... Also review the [AiHandler](pr_agent/algo/ai_handler.py) file for instruction how to set keys for other models. -#### Changing a GIT provider -See [here](pr_agent/git_providers/__init__.py) for the list of GIT providers. - -To use GitHub, for example, set: -``` -[config] -git_provider="github" -``` - #### Extra instructions ##### General All PR-Agent tools have a parameter called `extra_instructions`, that enables to add free-text extra instructions. Example usage: diff --git a/README.md b/README.md index 71278a03..ec0d5315 100644 --- a/README.md +++ b/README.md @@ -117,16 +117,16 @@ CodiumAI `PR-Agent` is an open-source tool aiming to help developers review pull | | Multiple models support | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | Incremental PR Review | :white_check_mark: | | | | | -Review the [configuration](./CONFIGURATION.md) section for instruction how to use the different tools, select the relevant git provider (GitHub, Gitlab, Bitbucket,...), and adjust the configuration file to your needs. +Review the [configuration](./CONFIGURATION.md) section for instructions how to use the different tools, select the relevant git provider (GitHub, Gitlab, Bitbucket,...), and adjust the configuration file to your needs. ## Try it now Try GPT-4 powered PR-Agent on your public GitHub repository for free. 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: +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 +and the agent will respond with a review of your PR ![Review generation process](https://www.codium.ai/images/demo-2.gif) From 4d6d6c48121c06f677be6dcc0e5b9ddccdaace37 Mon Sep 17 00:00:00 2001 From: mrT23 Date: Fri, 1 Sep 2023 20:09:53 +0300 Subject: [PATCH 05/11] update --- CONFIGURATION.md | 17 ++++++++--------- README.md | 4 ++-- 2 files changed, 10 insertions(+), 11 deletions(-) diff --git a/CONFIGURATION.md b/CONFIGURATION.md index 10a18aa7..5124bb63 100644 --- a/CONFIGURATION.md +++ b/CONFIGURATION.md @@ -4,7 +4,7 @@ The different tools and sub-tools used by CodiumAI PR-Agent are adjustable via t The `git_provider` field in the configuration file determines the GIT provider that will be used by PR-Agent. Currently, the following providers are supported: ` -"github", "gitlab", "azure", "codecommit","local" +"github", "gitlab", "azure", "codecommit", "local" ` Options that are available in the configuration file can be specified at run time when calling actions. Two examples: @@ -18,12 +18,12 @@ When running from source (CLI), your local configuration file will be used. Examples for invoking the different tools via the CLI: -- **Review**: python cli.py --pr_url= review -- **Describe**: python cli.py --pr_url= describe -- **Improve**: python cli.py --pr_url= improve -- **Ask**: python cli.py --pr_url= ask "Write me a poem about this PR" -- **Reflect**: python cli.py --pr_url= reflect -- **Update Changelog**: python cli.py --pr_url= update_changelog +- **Review**: `python cli.py --pr_url= review` +- **Describe**: `python cli.py --pr_url= describe` +- **Improve**: `python cli.py --pr_url= improve` +- **Ask**: `python cli.py --pr_url= ask "Write me a poem about this PR"` +- **Reflect**: `python cli.py --pr_url= reflect` +- **Update Changelog**: `python cli.py --pr_url= update_changelog` `` is the url of the relevant PR (for example: https://github.com/Codium-ai/pr-agent/pull/50). @@ -110,13 +110,12 @@ key = ... Also review the [AiHandler](pr_agent/algo/ai_handler.py) file for instruction how to set keys for other models. #### Extra instructions -##### General All PR-Agent tools have a parameter called `extra_instructions`, that enables to add free-text extra instructions. Example usage: ``` /update_changelog --pr_update_changelog.extra_instructions="Make sure to update also the version ..." ``` -##### Azure DevOps provider +#### Azure DevOps provider To use Azure DevOps provider use the following settings in configuration.toml: ``` [config] diff --git a/README.md b/README.md index ec0d5315..d0f8e9db 100644 --- a/README.md +++ b/README.md @@ -117,11 +117,11 @@ CodiumAI `PR-Agent` is an open-source tool aiming to help developers review pull | | Multiple models support | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | Incremental PR Review | :white_check_mark: | | | | | -Review the [configuration](./CONFIGURATION.md) section for instructions how to use the different tools, select the relevant git provider (GitHub, Gitlab, Bitbucket,...), and adjust the configuration file to your needs. +Review the **[configuration](./CONFIGURATION.md)** section for detailed instructions how to use the different tools, select the relevant git provider (GitHub, Gitlab, Bitbucket,...), and adjust the configuration file to your needs. ## Try it now -Try GPT-4 powered PR-Agent on your public GitHub repository for free. Just mention `@CodiumAI-Agent` and add the desired command in any PR comment! The agent will generate a response based on your command. +You can try GPT-4 powered PR-Agent, on your public GitHub repository, instantly. 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 From 44b790567b03be1832989b3969bfeaed987fa478 Mon Sep 17 00:00:00 2001 From: mrT23 Date: Fri, 1 Sep 2023 19:40:38 +0300 Subject: [PATCH 06/11] update readme --- CONFIGURATION.md | 50 ++++++++++++---------- README.md | 107 ++++++++++++++++++++++++++--------------------- 2 files changed, 89 insertions(+), 68 deletions(-) diff --git a/CONFIGURATION.md b/CONFIGURATION.md index 320ddedf..5124bb63 100644 --- a/CONFIGURATION.md +++ b/CONFIGURATION.md @@ -2,18 +2,36 @@ The different tools and sub-tools used by CodiumAI PR-Agent are adjustable via the **[configuration file](pr_agent/settings/configuration.toml)** +The `git_provider` field in the configuration file determines the GIT provider that will be used by PR-Agent. Currently, the following providers are supported: +` +"github", "gitlab", "azure", "codecommit", "local" +` + +Options that are available in the configuration file can be specified at run time when calling actions. Two examples: +``` +- /review --pr_reviewer.extra_instructions="focus on the file: ..." +- /describe --pr_description.add_original_user_description=false -pr_description.extra_instructions="make sure to mention: ..." +``` + ### Working from CLI -When running from source (CLI), your local configuration file will be initially used. +When running from source (CLI), your local configuration file will be used. -Example for invoking the 'review' tools via the CLI: +Examples for invoking the different tools via the CLI: -``` -python cli.py --pr-url= review -``` -In addition to general configurations, the 'review' tool will use parameters from the `[pr_reviewer]` section (every tool has a dedicated section in the configuration file). +- **Review**: `python cli.py --pr_url= review` +- **Describe**: `python cli.py --pr_url= describe` +- **Improve**: `python cli.py --pr_url= improve` +- **Ask**: `python cli.py --pr_url= ask "Write me a poem about this PR"` +- **Reflect**: `python cli.py --pr_url= reflect` +- **Update Changelog**: `python cli.py --pr_url= update_changelog` -Note that you can print results locally, without publishing them, by setting in `configuration.toml`: +`` is the url of the relevant PR (for example: https://github.com/Codium-ai/pr-agent/pull/50). +**Notes:** + +(1) In addition to general configuration options, each tool has its own configurations. For example, the 'review' tool will use parameters from the `[pr_reviewer]` section in the [configuration file](/pr_agent/settings/configuration.toml#L16) + +(2) You can print results locally, without publishing them, by setting in `configuration.toml`: ``` [config] publish_output=true @@ -22,11 +40,11 @@ verbosity_level=2 This is useful for debugging or experimenting with the different tools. ### Working from GitHub App (pre-built repo) -When running PR-Agent from GitHub App, the default configuration file (`configuration.toml`) will be loaded. +When running PR-Agent from GitHub App, the default configuration file (`configuration.toml`) will be initially loaded. #### GitHub app default tools -The `[github_app]` section of the configuration file defines GitHub app specific configurations. -The important parameter is `pr_commands`, which is a list of tools that will be run automatically when a new PR is opened: +The `[github_app]` section defines the GitHub app specific configurations. +An important parameter is `pr_commands`, which is a list of tools that will be run automatically when a new PR is opened: ``` [github_app] pr_commands = [ @@ -91,23 +109,13 @@ key = ... Also review the [AiHandler](pr_agent/algo/ai_handler.py) file for instruction how to set keys for other models. -#### Changing a GIT provider -See [here](pr_agent/git_providers/__init__.py) for the list of GIT providers. - -To use GitHub, for example, set: -``` -[config] -git_provider="github" -``` - #### Extra instructions -##### General All PR-Agent tools have a parameter called `extra_instructions`, that enables to add free-text extra instructions. Example usage: ``` /update_changelog --pr_update_changelog.extra_instructions="Make sure to update also the version ..." ``` -##### Azure DevOps provider +#### Azure DevOps provider To use Azure DevOps provider use the following settings in configuration.toml: ``` [config] diff --git a/README.md b/README.md index 85705c6c..d0f8e9db 100644 --- a/README.md +++ b/README.md @@ -35,33 +35,55 @@ CodiumAI `PR-Agent` is an open-source tool aiming to help developers review pull

-

/review:

-
-

- -

-
-

/reflect_and_review:

-
-

- -

-
-

/ask:

-
-

- -

-
-

/improve:

-
-

- -

-
+ +[//]: # (

/review:

) +[//]: # (
) + +[//]: # (

) + +[//]: # () + +[//]: # (

) + +[//]: # (
) +[//]: # (

/reflect_and_review:

) + +[//]: # (
) + +[//]: # (

) + +[//]: # () + +[//]: # (

) + +[//]: # (
) + +[//]: # (

/ask:

) + +[//]: # (
) + +[//]: # (

) + +[//]: # () + +[//]: # (

) + +[//]: # (
) + +[//]: # (

/improve:

) + +[//]: # (
) + +[//]: # (

) + +[//]: # () + +[//]: # (

) + +[//]: # (
)
- +## Table of Contents - [Overview](#overview) - [Try it now](#try-it-now) - [Installation](#installation) @@ -69,7 +91,6 @@ CodiumAI `PR-Agent` is an open-source tool aiming to help developers review pull - [How it works](#how-it-works) - [Why use PR-Agent](#why-use-pr-agent) - [Roadmap](#roadmap) -- [Similar projects](#similar-projects)
@@ -78,7 +99,6 @@ CodiumAI `PR-Agent` is an open-source tool aiming to help developers review pull | | | GitHub | Gitlab | Bitbucket | CodeCommit | Azure DevOps | |-------|---------------------------------------------|:------:|:------:|:---------:|:----------:|:----------:| | TOOLS | Review | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | -| | ⮑ Inline review | :white_check_mark: | :white_check_mark: | | | | | | Ask | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | Auto-Description | :white_check_mark: | :white_check_mark: | | :white_check_mark: | :white_check_mark: | | | Improve Code | :white_check_mark: | :white_check_mark: | | | | @@ -91,34 +111,27 @@ CodiumAI `PR-Agent` is an open-source tool aiming to help developers review pull | | Tagging bot | :white_check_mark: | | | | | | | Actions | :white_check_mark: | | | | | | | | | | | | | -| CORE | PR compression | :white_check_mark: | :white_check_mark: | :white_check_mark: | | :white_check_mark: | -| | Repo language prioritization | :white_check_mark: | :white_check_mark: | :white_check_mark: | | :white_check_mark: | -| | Adaptive and token-aware
file patch fitting | :white_check_mark: | :white_check_mark: | :white_check_mark: | | :white_check_mark: | -| | Multiple models support | :white_check_mark: | :white_check_mark: | :white_check_mark: | | :white_check_mark: | +| CORE | PR compression | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | +| | Repo language prioritization | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | +| | Adaptive and token-aware
file patch fitting | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | +| | Multiple models support | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | Incremental PR Review | :white_check_mark: | | | | | -Examples for invoking the different tools via the CLI: -- **Review**: python cli.py --pr_url= review -- **Describe**: python cli.py --pr_url= describe -- **Improve**: python cli.py --pr_url= improve -- **Ask**: python cli.py --pr_url= ask "Write me a poem about this PR" -- **Reflect**: python cli.py --pr_url= reflect -- **Update Changelog**: python cli.py --pr_url= update_changelog - -"" is the url of the relevant PR (for example: https://github.com/Codium-ai/pr-agent/pull/50). - -In the [configuration](./CONFIGURATION.md) file you can select your git provider (GitHub, Gitlab, Bitbucket), and further configure the different tools. -Options that are available in the configuration file can be specified at run time when calling actions. Two examples: -- /review --pr_reviewer.extra_instructions="focus on the file: ..." -- /describe --pr_description.add_original_user_description=false -pr_description.extra_instructions="make sure to mention: ..." +Review the **[configuration](./CONFIGURATION.md)** section for detailed instructions how to use the different tools, select the relevant git provider (GitHub, Gitlab, Bitbucket,...), and adjust the configuration file to your needs. ## Try it now -Try GPT-4 powered PR-Agent on your public GitHub repository for free. Just mention `@CodiumAI-Agent` and add the desired command in any PR comment! The agent will generate a response based on your command. +You can try GPT-4 powered PR-Agent, on your public GitHub repository, instantly. 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](https://www.codium.ai/images/demo-2.gif) -To set up your own PR-Agent, see the [Installation](#installation) section + +To set up your own PR-Agent, see the [Installation](#installation) section below. --- From 20c32375e197d45984d2223e6ed00a573b9a0535 Mon Sep 17 00:00:00 2001 From: mrT23 Date: Fri, 1 Sep 2023 20:14:14 +0300 Subject: [PATCH 07/11] auto --- CONFIGURATION.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CONFIGURATION.md b/CONFIGURATION.md index 5124bb63..7790f9f5 100644 --- a/CONFIGURATION.md +++ b/CONFIGURATION.md @@ -44,7 +44,7 @@ When running PR-Agent from GitHub App, the default configuration file (`configur #### GitHub app default tools The `[github_app]` section defines the GitHub app specific configurations. -An important parameter is `pr_commands`, which is a list of tools that will be run automatically when a new PR is opened: +An important parameter is `pr_commands`, which is a list of tools that will be **run automatically when a new PR is opened**: ``` [github_app] pr_commands = [ @@ -55,7 +55,7 @@ pr_commands = [ This means that when a new PR is opened, PR-Agent will run the `describe` and `auto_review` tools. For the describe tool, the `add_original_user_description` and `keep_original_user_title` parameters will be set to true. -However, you can override the default tool parameters by uploading a local configuration file called `.pr_agent.toml` to the root of your repo. +However, you can override the default tool parameters by uploading a local configuration file, called `.pr_agent.toml`, to the root of your repo. For example, if your local `.pr_agent.toml` file contains: ``` [pr_description] From 690c8194790af018ad6fd0ff74ec283160376202 Mon Sep 17 00:00:00 2001 From: mrT23 Date: Fri, 1 Sep 2023 20:22:10 +0300 Subject: [PATCH 08/11] update CONFIGURATION.md --- CONFIGURATION.md | 46 +++++++++++++++++++++++++++------------------- 1 file changed, 27 insertions(+), 19 deletions(-) diff --git a/CONFIGURATION.md b/CONFIGURATION.md index b92d6e0b..e7ab2d65 100644 --- a/CONFIGURATION.md +++ b/CONFIGURATION.md @@ -2,18 +2,36 @@ The different tools and sub-tools used by CodiumAI PR-Agent are adjustable via the **[configuration file](pr_agent/settings/configuration.toml)** +The `git_provider` field in the configuration file determines the GIT provider that will be used by PR-Agent. Currently, the following providers are supported: +` +"github", "gitlab", "azure", "codecommit", "local" +` + +Options that are available in the configuration file can be specified at run time when calling actions. Two examples: +``` +- /review --pr_reviewer.extra_instructions="focus on the file: ..." +- /describe --pr_description.add_original_user_description=false -pr_description.extra_instructions="make sure to mention: ..." +``` + ### Working from CLI -When running from source (CLI), your local configuration file will be initially used. +When running from source (CLI), your local configuration file will be used. -Example for invoking the 'review' tools via the CLI: +Examples for invoking the different tools via the CLI: -``` -python cli.py --pr-url= review -``` -In addition to general configurations, the 'review' tool will use parameters from the `[pr_reviewer]` section (every tool has a dedicated section in the configuration file). +- **Review**: `python cli.py --pr_url= review` +- **Describe**: `python cli.py --pr_url= describe` +- **Improve**: `python cli.py --pr_url= improve` +- **Ask**: `python cli.py --pr_url= ask "Write me a poem about this PR"` +- **Reflect**: `python cli.py --pr_url= reflect` +- **Update Changelog**: `python cli.py --pr_url= update_changelog` -Note that you can print results locally, without publishing them, by setting in `configuration.toml`: +`` is the url of the relevant PR (for example: https://github.com/Codium-ai/pr-agent/pull/50). +**Notes:** + +(1) In addition to general configuration options, each tool has its own configurations. For example, the 'review' tool will use parameters from the `[pr_reviewer]` section in the [configuration file](/pr_agent/settings/configuration.toml#L16) + +(2) You can print results locally, without publishing them, by setting in `configuration.toml`: ``` [config] publish_output=true @@ -22,7 +40,7 @@ verbosity_level=2 This is useful for debugging or experimenting with the different tools. ### Working from GitHub App (pre-built repo) -When running PR-Agent from GitHub App, the default configuration file (`configuration.toml`) will be loaded. +When running PR-Agent from GitHub App, the default configuration file (`configuration.toml`) will be initially loaded. #### GitHub app default tools The `[github_app]` section defines the GitHub app specific configurations. @@ -91,23 +109,13 @@ key = ... Also review the [AiHandler](pr_agent/algo/ai_handler.py) file for instruction how to set keys for other models. -#### Changing a GIT provider -See [here](pr_agent/git_providers/__init__.py) for the list of GIT providers. - -To use GitHub, for example, set: -``` -[config] -git_provider="github" -``` - #### Extra instructions -##### General All PR-Agent tools have a parameter called `extra_instructions`, that enables to add free-text extra instructions. Example usage: ``` /update_changelog --pr_update_changelog.extra_instructions="Make sure to update also the version ..." ``` -##### Azure DevOps provider +#### Azure DevOps provider To use Azure DevOps provider use the following settings in configuration.toml: ``` [config] From e79bcbed930b62feaf51128807fab62c87a5bd8d Mon Sep 17 00:00:00 2001 From: mrT23 Date: Fri, 1 Sep 2023 20:25:07 +0300 Subject: [PATCH 09/11] update CONFIGURATION.md --- CONFIGURATION.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CONFIGURATION.md b/CONFIGURATION.md index e7ab2d65..872caedc 100644 --- a/CONFIGURATION.md +++ b/CONFIGURATION.md @@ -2,7 +2,7 @@ The different tools and sub-tools used by CodiumAI PR-Agent are adjustable via the **[configuration file](pr_agent/settings/configuration.toml)** -The `git_provider` field in the configuration file determines the GIT provider that will be used by PR-Agent. Currently, the following providers are supported: +The [git_provider](pr-agent/blob/main/pr_agent/settings/configuration.toml#L4) field in the configuration file determines the GIT provider that will be used by PR-Agent. Currently, the following providers are supported: ` "github", "gitlab", "azure", "codecommit", "local" ` From d52c11b907cdb5fded834fe3047f840b34e634b6 Mon Sep 17 00:00:00 2001 From: mrT23 Date: Fri, 1 Sep 2023 20:26:36 +0300 Subject: [PATCH 10/11] update CONFIGURATION.md --- CONFIGURATION.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CONFIGURATION.md b/CONFIGURATION.md index 872caedc..f3daa1d0 100644 --- a/CONFIGURATION.md +++ b/CONFIGURATION.md @@ -2,7 +2,7 @@ The different tools and sub-tools used by CodiumAI PR-Agent are adjustable via the **[configuration file](pr_agent/settings/configuration.toml)** -The [git_provider](pr-agent/blob/main/pr_agent/settings/configuration.toml#L4) field in the configuration file determines the GIT provider that will be used by PR-Agent. Currently, the following providers are supported: +The [git_provider](pr-agent/settings/configuration.toml#L4) field in the configuration file determines the GIT provider that will be used by PR-Agent. Currently, the following providers are supported: ` "github", "gitlab", "azure", "codecommit", "local" ` From 98019fe97f11142072959add69bb6edc7ff97c55 Mon Sep 17 00:00:00 2001 From: mrT23 Date: Fri, 1 Sep 2023 20:27:29 +0300 Subject: [PATCH 11/11] update CONFIGURATION.md --- CONFIGURATION.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CONFIGURATION.md b/CONFIGURATION.md index f3daa1d0..b02c7e2b 100644 --- a/CONFIGURATION.md +++ b/CONFIGURATION.md @@ -2,7 +2,7 @@ The different tools and sub-tools used by CodiumAI PR-Agent are adjustable via the **[configuration file](pr_agent/settings/configuration.toml)** -The [git_provider](pr-agent/settings/configuration.toml#L4) field in the configuration file determines the GIT provider that will be used by PR-Agent. Currently, the following providers are supported: +The [git_provider](pr_agent/settings/configuration.toml#L4) field in the configuration file determines the GIT provider that will be used by PR-Agent. Currently, the following providers are supported: ` "github", "gitlab", "azure", "codecommit", "local" `