diff --git a/README.md b/README.md index b6c95af2..e95bdab1 100644 --- a/README.md +++ b/README.md @@ -32,11 +32,8 @@ Making pull requests less painful with an AI agent - [Why use PR-Agent?](#why-use-pr-agent) ## News and Updates -### Jan 18, 2024 -We are very happy to share our new paper: -**"Code Generation with AlphaCodium: From Prompt Engineering to Flow Engineering".** - -Go checkout our official implementation [here](https://github.com/Codium-ai/AlphaCodium) +### Jan 21, 2024 +- 💎 Custom suggestions - A new tool, `/custom_suggestions`, was added to PR-Agent Pro. The tool will only propose suggestion that follow specific guidelines defined by a prompt given by the user. See [here](https://github.com/Codium-ai/pr-agent/blob/main/docs/CUSTOM_SUGGESTIONS.md) for more details. ### Jan 17, 2024 - 💎 Inline file summary - The `describe` tool has a new option `--pr_description.inline_file_summary`, which allows to add a summary of each file changes to the Diffview page. See [here](https://github.com/Codium-ai/pr-agent/blob/main/docs/DESCRIBE.md#inline-file-summary-) @@ -164,6 +161,7 @@ See the [Tools Guide](./docs/TOOLS_GUIDE.md) for a detailed description of the d | | ⮑ [Inline file summary](https://github.com/Codium-ai/pr-agent/blob/main/docs/DESCRIBE.md#inline-file-summary-) 💎 | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | Improve | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | ⮑ Extended | :white_check_mark: | :white_check_mark: | :white_check_mark: | +| | [Custom_suggestions](https://github.com/Codium-ai/pr-agent/blob/main/docs/CUSTOM_SUGGESTIONS.md) | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | Reflect and Review | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | Update CHANGELOG.md | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | Find Similar Issue | :white_check_mark: | | | diff --git a/docs/CUSTOM_SUGGESTIONS.md b/docs/CUSTOM_SUGGESTIONS.md new file mode 100644 index 00000000..6b2f6403 --- /dev/null +++ b/docs/CUSTOM_SUGGESTIONS.md @@ -0,0 +1,62 @@ +# Custom Suggestions Tool + +## Table of Contents +- [Overview](#overview) +- [Example usage](#example-usage) +- [Configuration options](#configuration-options) + + +## Overview +The `custom_suggestions` tool scans the PR code changes, and automatically generates custom suggestions for improving the PR code. +It shares similarities with the `imrpove` tool, but with one main difference: the `custom_suggestions` tool will only propose suggestion that follow specific guidelines defined by the prompt in: `pr_custom_suggestions.prompt` configuration. + +The tool can be triggered [automatically](https://github.com/Codium-ai/pr-agent/blob/main/Usage.md#github-app-automatic-tools) every time a new PR is opened, or can be invoked manually by commenting on a PR. + +When commenting, use the following template: + +``` +/custom_suggestions --pr_custom_suggestions.prompt="The suggestions should focus only on the following:\n-...\n-...\n-..." +``` + +With a [configuration file](https://github.com/Codium-ai/pr-agent/blob/main/Usage.md#working-with-github-app), use the following template: + +``` +[pr_custom_suggestions] +prompt="""\ +The suggestions should focus only on the following: +-... +-... +-... +""" +``` +Using a configuration file is recommended, since it allows to use multi-line instructions. + +Don't forget - with this tool, you are the prompter. Be specific, clear, and concise in the instructions. Specify relevant aspects that you want the model to focus on. \ +You might benefit from several trial-and-error iterations, until you get the correct prompt for your use case. + +## Example usage + +Here is an example for a possible prompt: +``` +[pr_custom_suggestions] +prompt="""\ +The suggestions should focus only on the following: +- look for edge cases when implementing a new function +- make sure every variable has a meaningful name +- make sure the code is efficient +""" +``` + +The instructions above are just an example. We want to emphasize that the prompt should be specific and clear, and be tailored to the needs of your project. + +Results obtained with the prompt above: +___ + +___ + +___ + +## Configuration options +`prompt`: the prompt for the tool. Should be a multi-line string. +`num_code_suggestions`: number of code suggestions provided by the 'custom_suggestions' tool. Default is 4. +`enable_help_text`: if set to true, the tool will display a help text in the comment. Default is true. \ No newline at end of file