mirror of
https://github.com/qodo-ai/pr-agent.git
synced 2025-07-05 21:30:40 +08:00
Merge branch 'main' into of/issue_template
This commit is contained in:
15
README.md
15
README.md
@ -23,6 +23,7 @@ PR-Agent aims to help efficiently review and handle pull requests, by providing
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
### [Documentation](https://qodo-merge-docs.qodo.ai/)
|
### [Documentation](https://qodo-merge-docs.qodo.ai/)
|
||||||
|
|
||||||
- See the [Installation Guide](https://qodo-merge-docs.qodo.ai/installation/) for instructions on installing PR-Agent on different platforms.
|
- See the [Installation Guide](https://qodo-merge-docs.qodo.ai/installation/) for instructions on installing PR-Agent on different platforms.
|
||||||
|
|
||||||
- See the [Usage Guide](https://qodo-merge-docs.qodo.ai/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 [Usage Guide](https://qodo-merge-docs.qodo.ai/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.
|
||||||
@ -31,6 +32,7 @@ PR-Agent aims to help efficiently review and handle pull requests, by providing
|
|||||||
|
|
||||||
|
|
||||||
## Table of Contents
|
## Table of Contents
|
||||||
|
|
||||||
- [News and Updates](#news-and-updates)
|
- [News and Updates](#news-and-updates)
|
||||||
- [Overview](#overview)
|
- [Overview](#overview)
|
||||||
- [Example results](#example-results)
|
- [Example results](#example-results)
|
||||||
@ -41,6 +43,19 @@ PR-Agent aims to help efficiently review and handle pull requests, by providing
|
|||||||
|
|
||||||
## News and Updates
|
## News and Updates
|
||||||
|
|
||||||
|
### Jan 25, 2025
|
||||||
|
|
||||||
|
The open-source GitHub organization was updated:
|
||||||
|
`https://github.com/codium-ai/pr-agent` →
|
||||||
|
`https://github.com/qodo-ai/pr-agent`
|
||||||
|
|
||||||
|
The docker should be redirected automatically to the new location.
|
||||||
|
However, if you have any issues, please update the GitHub action docker image from
|
||||||
|
`uses: Codium-ai/pr-agent@main`
|
||||||
|
to
|
||||||
|
`uses: qodo-ai/pr-agent@main`
|
||||||
|
|
||||||
|
|
||||||
### Jan 2, 2025
|
### Jan 2, 2025
|
||||||
|
|
||||||
New tool [/Implement](https://qodo-merge-docs.qodo.ai/tools/implement/) (💎), which converts human code review discussions and feedback into ready-to-commit code changes.
|
New tool [/Implement](https://qodo-merge-docs.qodo.ai/tools/implement/) (💎), which converts human code review discussions and feedback into ready-to-commit code changes.
|
||||||
|
@ -21,7 +21,7 @@ jobs:
|
|||||||
steps:
|
steps:
|
||||||
- name: PR Agent action step
|
- name: PR Agent action step
|
||||||
id: pragent
|
id: pragent
|
||||||
uses: Codium-ai/pr-agent@main
|
uses: qodo-ai/pr-agent@main
|
||||||
env:
|
env:
|
||||||
OPENAI_KEY: ${{ secrets.OPENAI_KEY }}
|
OPENAI_KEY: ${{ secrets.OPENAI_KEY }}
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
@ -66,7 +66,7 @@ Specific guidelines for generating code suggestions:
|
|||||||
- Do not suggest to change packages version, add missing import statement, or declare undefined variable.
|
- Do not suggest to change packages version, add missing import statement, or declare undefined variable.
|
||||||
{%- endif %}
|
{%- endif %}
|
||||||
- When mentioning code elements (variables, names, or files) in your response, surround them with backticks (`). For example: "verify that `user_id` is..."
|
- When mentioning code elements (variables, names, or files) in your response, surround them with backticks (`). For example: "verify that `user_id` is..."
|
||||||
- Note that you only see changed code segments (diff hunks in a PR), not the entire codebase. Avoid suggestions that might duplicate existing functionality or questioning code elements (like variables declerations or import statements) that may be defined elsewhere in the codebase.
|
- Note that you only see changed code segments (diff hunks in a PR), not the entire codebase. Avoid suggestions that might duplicate existing functionality or questioning code elements (like variables declarations or import statements) that may be defined elsewhere in the codebase.
|
||||||
|
|
||||||
{%- if extra_instructions %}
|
{%- if extra_instructions %}
|
||||||
|
|
||||||
|
@ -174,10 +174,11 @@ class PRHelpMessage:
|
|||||||
tool_names.append(f"[IMPROVE COMPONENT]({base_path}/improve_component/) 💎")
|
tool_names.append(f"[IMPROVE COMPONENT]({base_path}/improve_component/) 💎")
|
||||||
tool_names.append(f"[ANALYZE]({base_path}/analyze/) 💎")
|
tool_names.append(f"[ANALYZE]({base_path}/analyze/) 💎")
|
||||||
tool_names.append(f"[ASK]({base_path}/ask/)")
|
tool_names.append(f"[ASK]({base_path}/ask/)")
|
||||||
|
tool_names.append(f"[SIMILAR ISSUE]({base_path}/similar_issues/)")
|
||||||
tool_names.append(f"[GENERATE CUSTOM LABELS]({base_path}/custom_labels/) 💎")
|
tool_names.append(f"[GENERATE CUSTOM LABELS]({base_path}/custom_labels/) 💎")
|
||||||
tool_names.append(f"[CI FEEDBACK]({base_path}/ci_feedback/) 💎")
|
tool_names.append(f"[CI FEEDBACK]({base_path}/ci_feedback/) 💎")
|
||||||
tool_names.append(f"[CUSTOM PROMPT]({base_path}/custom_prompt/) 💎")
|
tool_names.append(f"[CUSTOM PROMPT]({base_path}/custom_prompt/) 💎")
|
||||||
tool_names.append(f"[SIMILAR ISSUE]({base_path}/similar_issues/)")
|
tool_names.append(f"[IMPLEMENT]({base_path}/implement/) 💎")
|
||||||
|
|
||||||
descriptions = []
|
descriptions = []
|
||||||
descriptions.append("Generates PR description - title, type, summary, code walkthrough and labels")
|
descriptions.append("Generates PR description - title, type, summary, code walkthrough and labels")
|
||||||
@ -189,10 +190,11 @@ class PRHelpMessage:
|
|||||||
descriptions.append("Code suggestions for a specific component that changed in the PR")
|
descriptions.append("Code suggestions for a specific component that changed in the PR")
|
||||||
descriptions.append("Identifies code components that changed in the PR, and enables to interactively generate tests, docs, and code suggestions for each component")
|
descriptions.append("Identifies code components that changed in the PR, and enables to interactively generate tests, docs, and code suggestions for each component")
|
||||||
descriptions.append("Answering free-text questions about the PR")
|
descriptions.append("Answering free-text questions about the PR")
|
||||||
|
descriptions.append("Automatically retrieves and presents similar issues")
|
||||||
descriptions.append("Generates custom labels for the PR, based on specific guidelines defined by the user")
|
descriptions.append("Generates custom labels for the PR, based on specific guidelines defined by the user")
|
||||||
descriptions.append("Generates feedback and analysis for a failed CI job")
|
descriptions.append("Generates feedback and analysis for a failed CI job")
|
||||||
descriptions.append("Generates custom suggestions for improving the PR code, derived only from a specific guidelines prompt defined by the user")
|
descriptions.append("Generates custom suggestions for improving the PR code, derived only from a specific guidelines prompt defined by the user")
|
||||||
descriptions.append("Automatically retrieves and presents similar issues")
|
descriptions.append("Generates implementation code from review suggestions")
|
||||||
|
|
||||||
commands =[]
|
commands =[]
|
||||||
commands.append("`/describe`")
|
commands.append("`/describe`")
|
||||||
@ -204,10 +206,11 @@ class PRHelpMessage:
|
|||||||
commands.append("`/improve_component`")
|
commands.append("`/improve_component`")
|
||||||
commands.append("`/analyze`")
|
commands.append("`/analyze`")
|
||||||
commands.append("`/ask`")
|
commands.append("`/ask`")
|
||||||
|
commands.append("`/similar_issue`")
|
||||||
commands.append("`/generate_labels`")
|
commands.append("`/generate_labels`")
|
||||||
commands.append("`/checks`")
|
commands.append("`/checks`")
|
||||||
commands.append("`/custom_prompt`")
|
commands.append("`/custom_prompt`")
|
||||||
commands.append("`/similar_issue`")
|
commands.append("`/implement`")
|
||||||
|
|
||||||
checkbox_list = []
|
checkbox_list = []
|
||||||
checkbox_list.append(" - [ ] Run <!-- /describe -->")
|
checkbox_list.append(" - [ ] Run <!-- /describe -->")
|
||||||
@ -226,6 +229,7 @@ class PRHelpMessage:
|
|||||||
checkbox_list.append("[*]")
|
checkbox_list.append("[*]")
|
||||||
checkbox_list.append("[*]")
|
checkbox_list.append("[*]")
|
||||||
checkbox_list.append("[*]")
|
checkbox_list.append("[*]")
|
||||||
|
checkbox_list.append("[*]")
|
||||||
|
|
||||||
if isinstance(self.git_provider, GithubProvider) and not get_settings().config.get('disable_checkboxes', False):
|
if isinstance(self.git_provider, GithubProvider) and not get_settings().config.get('disable_checkboxes', False):
|
||||||
pr_comment += f"<table><tr align='left'><th align='left'>Tool</th><th align='left'>Description</th><th align='left'>Trigger Interactively :gem:</th></tr>"
|
pr_comment += f"<table><tr align='left'><th align='left'>Tool</th><th align='left'>Description</th><th align='left'>Trigger Interactively :gem:</th></tr>"
|
||||||
|
@ -371,7 +371,7 @@ class PRReviewer:
|
|||||||
else:
|
else:
|
||||||
get_logger().warning(f"Unexpected type for estimated_effort: {type(estimated_effort)}")
|
get_logger().warning(f"Unexpected type for estimated_effort: {type(estimated_effort)}")
|
||||||
if 1 <= estimated_effort_number <= 5: # 1, because ...
|
if 1 <= estimated_effort_number <= 5: # 1, because ...
|
||||||
review_labels.append(f'Review effort: {estimated_effort_number}/5')
|
review_labels.append(f'Review effort [1-5]: {estimated_effort_number}')
|
||||||
if get_settings().pr_reviewer.enable_review_labels_security and get_settings().pr_reviewer.require_security_review:
|
if get_settings().pr_reviewer.enable_review_labels_security and get_settings().pr_reviewer.require_security_review:
|
||||||
security_concerns = data['review']['security_concerns'] # yes, because ...
|
security_concerns = data['review']['security_concerns'] # yes, because ...
|
||||||
security_concerns_bool = 'yes' in security_concerns.lower() or 'true' in security_concerns.lower()
|
security_concerns_bool = 'yes' in security_concerns.lower() or 'true' in security_concerns.lower()
|
||||||
|
@ -31,7 +31,7 @@ dynamic = ["dependencies"]
|
|||||||
dependencies = { file = ["requirements.txt"] }
|
dependencies = { file = ["requirements.txt"] }
|
||||||
|
|
||||||
[project.urls]
|
[project.urls]
|
||||||
"Homepage" = "https://github.com/Codium-ai/pr-agent"
|
"Homepage" = "https://github.com/qodo-ai/pr-agent"
|
||||||
"Documentation" = "https://pr-agent-docs.codium.ai/"
|
"Documentation" = "https://pr-agent-docs.codium.ai/"
|
||||||
|
|
||||||
[tool.setuptools]
|
[tool.setuptools]
|
||||||
|
Reference in New Issue
Block a user