diff --git a/pr_agent/servers/help.py b/pr_agent/servers/help.py
index d1ece194..fca19f97 100644
--- a/pr_agent/servers/help.py
+++ b/pr_agent/servers/help.py
@@ -156,6 +156,7 @@ Note that when markers are enabled, if the original PR description does not cont
"""
output += "\n\n\n\n"
+ # custom labels
output += "
More PR-Agent commands \n\n"
output += HelpMessage.get_general_bot_help_text()
diff --git a/pr_agent/settings/pr_code_suggestions_prompts.toml b/pr_agent/settings/pr_code_suggestions_prompts.toml
index 418212b3..5aa3cce2 100644
--- a/pr_agent/settings/pr_code_suggestions_prompts.toml
+++ b/pr_agent/settings/pr_code_suggestions_prompts.toml
@@ -6,16 +6,15 @@ Example for the PR Diff format:
======
## src/file1.py
-@@ -12,3 +12,4 @@ def func1():
+@@ ... @@ def func1():
__new hunk__
12 code line1 that remained unchanged in the PR
-14 +new code line1 added in the PR
-15 +new code line2 added in the PR
-16 code line2 that remained unchanged in the PR
+13 +new code line2 added in the PR
+14 code line3 that remained unchanged in the PR
__old hunk__
code line1 that remained unchanged in the PR
--code line that was removed in the PR
- code line2 that remained unchanged in the PR
+-old code line2 that was removed in the PR
+ code line3 that remained unchanged in the PR
@@ ... @@ def func2():
@@ -31,13 +30,12 @@ __old hunk__
Specific instructions:
-- Provide up to {{ num_code_suggestions }} code suggestions. Try to provide diverse and insightful suggestions.
-- Prioritize suggestions that address major problems, issues and bugs in the code. As a second priority, suggestions should focus on enhancement, best practice, performance, maintainability, and other aspects.
-- Don't suggest to add docstring, type hints, or comments.
-- Suggestions should refer only to code from the '__new hunk__' sections, and focus on new lines of code (lines starting with '+').
+- Provide up to {{ num_code_suggestions }} code suggestions. The suggestions should be diverse and insightful.
+- The suggestions should refer only to code from the '__new hunk__' sections, and focus on new lines of code (lines starting with '+').
+- Prioritize suggestions that address major problems, issues and bugs in the PR code. As a second priority, suggestions should focus on enhancement, best practice, performance, maintainability, and other aspects.
+- Don't suggest to add docstring, type hints, or comments, or to remove unused imports.
- Avoid making suggestions that have already been implemented in the PR code. For example, if you want to add logs, or change a variable to const, or anything else, make sure it isn't already in the '__new hunk__' code.
- Provide the exact line numbers range (inclusive) for each suggestion.
-- Assume there is additional relevant code, that is not included in the diff.
- When quoting variables or names from the code, use backticks (`) instead of single quote (').
@@ -54,10 +52,15 @@ The output must be a YAML object equivalent to type PRCodeSuggestions, according
class CodeSuggestion(BaseModel):
relevant_file: str = Field(description="the relevant file full path")
suggestion_content: str = Field(description="an actionable suggestion for meaningfully improving the new code introduced in the PR")
- existing_code: str = Field(description="a code snippet, showing the relevant code lines from a '__new hunk__' section. It must be contiguous, correctly formatted and indented, and without line numbers")
+{%- if summarize_mode %}
+ existing_code: str = Field(description="a short code snippet from a '__new hunk__' section to illustrate the relevant existing code. Don't show the line numbers. Shorten parts of the code ('...') if needed")
+ improved_code: str = Field(description="a short code snippet to illustrate the improved code, after applying the suggestion. Shorten parts of the code ('...') if needed")
+{%- else %}
+ existing_code: str = Field(description="a code snippet, demonstrating the relevant code lines from a '__new hunk__' section. It must be contiguous, correctly formatted and indented, and without line numbers")
+ improved_code: str = Field(description="a new code snippet, that can be used to replace the relevant lines in '__new hunk__' code. Replacement suggestions should be complete, correctly formatted and indented, and without line numbers")
+{%- endif %}
relevant_lines_start: int = Field(description="The relevant line number, from a '__new hunk__' section, where the suggestion starts (inclusive). Should be derived from the hunk line numbers, and correspond to the 'existing code' snippet above")
relevant_lines_end: int = Field(description="The relevant line number, from a '__new hunk__' section, where the suggestion ends (inclusive). Should be derived from the hunk line numbers, and correspond to the 'existing code' snippet above")
- improved_code: str = Field(description="a new code snippet, that can be used to replace the relevant lines in '__new hunk__' code. Replacement suggestions should be complete, correctly formatted and indented, and without line numbers")
label: str = Field(description="a single label for the suggestion, to help the user understand the suggestion type. For example: 'security', 'bug', 'performance', 'enhancement', 'possible issue', 'best practice', 'maintainability', etc. Other labels are also allowed")
class PRCodeSuggestions(BaseModel):
@@ -90,16 +93,6 @@ user="""PR Info:
Title: '{{title}}'
-Branch: '{{branch}}'
-
-{%- if description %}
-
-Description:
-======
-{{ description|trim }}
-======
-{%- endif %}
-
{%- if language %}
Main PR language: '{{ language }}'
diff --git a/pr_agent/settings/pr_description_prompts.toml b/pr_agent/settings/pr_description_prompts.toml
index 2b0664b9..09d1c6e4 100644
--- a/pr_agent/settings/pr_description_prompts.toml
+++ b/pr_agent/settings/pr_description_prompts.toml
@@ -15,7 +15,7 @@ Your task is to provide a full description for the PR content - files walkthroug
Extra instructions from the user:
=====
-{{ extra_instructions }}
+{{extra_instructions}}
=====
{% endif %}
diff --git a/pr_agent/tools/pr_code_suggestions.py b/pr_agent/tools/pr_code_suggestions.py
index 776b660f..b4f7a973 100644
--- a/pr_agent/tools/pr_code_suggestions.py
+++ b/pr_agent/tools/pr_code_suggestions.py
@@ -45,6 +45,7 @@ class PRCodeSuggestions:
"language": self.main_language,
"diff": "", # empty diff for initial calculation
"num_code_suggestions": num_code_suggestions,
+ "summarize_mode": get_settings().pr_code_suggestions.summarize,
"extra_instructions": get_settings().pr_code_suggestions.extra_instructions,
"commit_messages_str": self.git_provider.get_commit_messages(),
}
|