diff --git a/CONFIGURATION.md b/CONFIGURATION.md index 3d03d7d5..6b47dbe7 100644 --- a/CONFIGURATION.md +++ b/CONFIGURATION.md @@ -9,6 +9,7 @@ You can select your git_provider with the flag `git_provider` in the `config` se You can enable/disable the different PR Reviewer abilities with the following flags (`pr_reviewer` section): ``` require_focused_review=true +require_score_review=true require_tests_review=true require_security_review=true ``` diff --git a/pr_agent/algo/utils.py b/pr_agent/algo/utils.py index f813b8cd..2fcd56c1 100644 --- a/pr_agent/algo/utils.py +++ b/pr_agent/algo/utils.py @@ -12,6 +12,7 @@ def convert_to_markdown(output_data: dict) -> str: emojis = { "Main theme": "๐ŸŽฏ", "Type of PR": "๐Ÿ“Œ", + "Score": "๐Ÿ…", "Relevant tests added": "๐Ÿงช", "Unrelated changes": "โš ๏ธ", "Focused PR": "โœจ", diff --git a/pr_agent/settings/configuration.toml b/pr_agent/settings/configuration.toml index fc2fa2b8..3ccbd59c 100644 --- a/pr_agent/settings/configuration.toml +++ b/pr_agent/settings/configuration.toml @@ -6,6 +6,7 @@ verbosity_level=0 # 0,1,2 [pr_reviewer] require_focused_review=true +require_score_review=true require_tests_review=true require_security_review=true num_code_suggestions=3 diff --git a/pr_agent/settings/pr_reviewer_prompts.toml b/pr_agent/settings/pr_reviewer_prompts.toml index 51a873c4..e8732b53 100644 --- a/pr_agent/settings/pr_reviewer_prompts.toml +++ b/pr_agent/settings/pr_reviewer_prompts.toml @@ -20,6 +20,12 @@ You must use the following JSON schema to format your answer: "type": "string", "enum": ["Bug fix", "Tests", "Bug fix with tests", "Refactoring", "Enhancement", "Documentation", "Other"] }, +{%- if require_score %} + "Score": { + "type": "float", + "description": "Rate this PR on a scale of 0-100 (inclusive), where 0 means the worst possible code, and 100 means code of the highest quality without any bugs or performace issues that is ready to be merged immediately and run in production at scale." + }, +{%- endif %} {%- if require_tests %} "Relevant tests added": { "type": "string", diff --git a/pr_agent/tools/pr_reviewer.py b/pr_agent/tools/pr_reviewer.py index 4f6fde74..52e022c0 100644 --- a/pr_agent/tools/pr_reviewer.py +++ b/pr_agent/tools/pr_reviewer.py @@ -35,6 +35,7 @@ class PRReviewer: "description": self.git_provider.get_pr_description(), "language": self.main_language, "diff": "", # empty diff for initial calculation + "require_score": settings.pr_reviewer.require_score_review, "require_tests": settings.pr_reviewer.require_tests_review, "require_security": settings.pr_reviewer.require_security_review, "require_focused": settings.pr_reviewer.require_focused_review,