mirror of
https://github.com/qodo-ai/pr-agent.git
synced 2025-07-02 03:40:38 +08:00
293 lines
9.3 KiB
TOML
293 lines
9.3 KiB
TOML
[config]
|
|
# models
|
|
model="gpt-4-turbo-2024-04-09"
|
|
model_turbo="gpt-4o"
|
|
fallback_models=["gpt-4-0125-preview"]
|
|
# CLI
|
|
git_provider="github"
|
|
publish_output=true
|
|
publish_output_progress=true
|
|
verbosity_level=0 # 0,1,2
|
|
use_extra_bad_extensions=false
|
|
# Configurations
|
|
use_wiki_settings_file=true
|
|
use_repo_settings_file=true
|
|
use_global_settings_file=true
|
|
ai_timeout=120 # 2minutes
|
|
# token limits
|
|
max_description_tokens = 500
|
|
max_commits_tokens = 500
|
|
max_model_tokens = 32000 # Limits the maximum number of tokens that can be used by any model, regardless of the model's default capabilities.
|
|
custom_model_max_tokens=-1 # for models not in the default list
|
|
#
|
|
patch_extra_lines_before = 6
|
|
patch_extra_lines_after = 2
|
|
secret_provider=""
|
|
cli_mode=false
|
|
ai_disclaimer_title="" # Pro feature, title for a collapsible disclaimer to AI outputs
|
|
ai_disclaimer="" # Pro feature, full text for the AI disclaimer
|
|
output_relevant_configurations=false
|
|
large_patch_policy = "clip" # "clip", "skip"
|
|
is_auto_command=false
|
|
# seed
|
|
seed=-1 # set positive value to fix the seed (and ensure temperature=0)
|
|
temperature=0.2
|
|
|
|
[pr_reviewer] # /review #
|
|
# enable/disable features
|
|
require_score_review=false
|
|
require_tests_review=true
|
|
require_estimate_effort_to_review=true
|
|
require_can_be_split_review=false
|
|
require_security_review=true
|
|
extra_issue_links=false
|
|
# soc2
|
|
require_soc2_ticket=false
|
|
soc2_ticket_prompt="Does the PR description include a link to ticket in a project management system (e.g., Jira, Asana, Trello, etc.) ?"
|
|
# general options
|
|
num_code_suggestions=0
|
|
inline_code_comments = false
|
|
ask_and_reflect=false
|
|
#automatic_review=true
|
|
persistent_comment=true
|
|
extra_instructions = ""
|
|
final_update_message = true
|
|
# review labels
|
|
enable_review_labels_security=true
|
|
enable_review_labels_effort=true
|
|
# specific configurations for incremental review (/review -i)
|
|
require_all_thresholds_for_incremental_review=false
|
|
minimal_commits_for_incremental_review=0
|
|
minimal_minutes_for_incremental_review=0
|
|
enable_help_text=false # Determines whether to include help text in the PR review. Enabled by default.
|
|
# auto approval
|
|
enable_auto_approval=false
|
|
maximal_review_effort=5
|
|
|
|
|
|
[pr_description] # /describe #
|
|
publish_labels=true
|
|
add_original_user_description=true
|
|
generate_ai_title=false
|
|
use_bullet_points=true
|
|
extra_instructions = ""
|
|
enable_pr_type=true
|
|
final_update_message = true
|
|
enable_help_text=false
|
|
enable_help_comment=true
|
|
# describe as comment
|
|
publish_description_as_comment=false
|
|
publish_description_as_comment_persistent=true
|
|
## changes walkthrough section
|
|
enable_semantic_files_types=true
|
|
collapsible_file_list='adaptive' # true, false, 'adaptive'
|
|
inline_file_summary=false # false, true, 'table'
|
|
# markers
|
|
use_description_markers=false
|
|
include_generated_by_header=true
|
|
# large pr mode 💎
|
|
enable_large_pr_handling=true
|
|
max_ai_calls=4
|
|
async_ai_calls=true
|
|
mention_extra_files=true
|
|
#custom_labels = ['Bug fix', 'Tests', 'Bug fix with tests', 'Enhancement', 'Documentation', 'Other']
|
|
|
|
[pr_questions] # /ask #
|
|
enable_help_text=false
|
|
|
|
|
|
[pr_code_suggestions] # /improve #
|
|
max_context_tokens=10000
|
|
num_code_suggestions=4
|
|
commitable_code_suggestions = false
|
|
extra_instructions = ""
|
|
rank_suggestions = false
|
|
enable_help_text=false
|
|
persistent_comment=true
|
|
max_history_len=4
|
|
# enable to apply suggestion 💎
|
|
apply_suggestions_checkbox=true
|
|
# suggestions scoring
|
|
self_reflect_on_suggestions=true
|
|
suggestions_score_threshold=0 # [0-10]. highly recommend not to set this value above 8, since above it may clip highly relevant suggestions
|
|
# params for '/improve --extended' mode
|
|
auto_extended_mode=true
|
|
num_code_suggestions_per_chunk=4
|
|
max_number_of_calls = 3
|
|
parallel_calls = true
|
|
rank_extended_suggestions = false
|
|
final_clip_factor = 0.8
|
|
# self-review checkbox
|
|
demand_code_suggestions_self_review=false # add a checkbox for the author to self-review the code suggestions
|
|
code_suggestions_self_review_text= "**Author self-review**: I have reviewed the PR code suggestions, and addressed the relevant ones."
|
|
approve_pr_on_self_review=false # Pro feature. if true, the PR will be auto-approved after the author clicks on the self-review checkbox
|
|
# Suggestion impact
|
|
publish_post_process_suggestion_impact=true
|
|
|
|
[pr_custom_prompt] # /custom_prompt #
|
|
prompt = """\
|
|
The code suggestions should focus only on the following:
|
|
- ...
|
|
- ...
|
|
...
|
|
"""
|
|
suggestions_score_threshold=0
|
|
num_code_suggestions_per_chunk=4
|
|
self_reflect_on_custom_suggestions=true
|
|
enable_help_text=false
|
|
|
|
|
|
[pr_add_docs] # /add_docs #
|
|
extra_instructions = ""
|
|
docs_style = "Sphinx" # "Google Style with Args, Returns, Attributes...etc", "Numpy Style", "Sphinx Style", "PEP257", "reStructuredText"
|
|
file = "" # in case there are several components with the same name, you can specify the relevant file
|
|
class_name = "" # in case there are several methods with the same name in the same file, you can specify the relevant class name
|
|
|
|
[pr_update_changelog] # /update_changelog #
|
|
push_changelog_changes=false
|
|
extra_instructions = ""
|
|
|
|
[pr_analyze] # /analyze #
|
|
enable_help_text=true
|
|
|
|
[pr_test] # /test #
|
|
extra_instructions = ""
|
|
testing_framework = "" # specify the testing framework you want to use
|
|
num_tests=3 # number of tests to generate. max 5.
|
|
avoid_mocks=true # if true, the generated tests will prefer to use real objects instead of mocks
|
|
file = "" # in case there are several components with the same name, you can specify the relevant file
|
|
class_name = "" # in case there are several methods with the same name in the same file, you can specify the relevant class name
|
|
enable_help_text=false
|
|
|
|
[pr_improve_component] # /improve_component #
|
|
num_code_suggestions=4
|
|
extra_instructions = ""
|
|
file = "" # in case there are several components with the same name, you can specify the relevant file
|
|
class_name = "" # in case there are several methods with the same name in the same file, you can specify the relevant class name
|
|
|
|
[checks] # /checks (pro feature) #
|
|
enable_auto_checks_feedback=true
|
|
excluded_checks_list=["lint"] # list of checks to exclude, for example: ["check1", "check2"]
|
|
persistent_comment=true
|
|
enable_help_text=true
|
|
final_update_message = false
|
|
|
|
[pr_help] # /help #
|
|
|
|
[pr_config] # /config #
|
|
|
|
[github]
|
|
# The type of deployment to create. Valid values are 'app' or 'user'.
|
|
deployment_type = "user"
|
|
ratelimit_retries = 5
|
|
base_url = "https://api.github.com"
|
|
publish_inline_comments_fallback_with_verification = true
|
|
try_fix_invalid_inline_comments = true
|
|
app_name = "pr-agent"
|
|
|
|
[github_action_config]
|
|
# auto_review = true # set as env var in .github/workflows/pr-agent.yaml
|
|
# auto_describe = true # set as env var in .github/workflows/pr-agent.yaml
|
|
# auto_improve = true # set as env var in .github/workflows/pr-agent.yaml
|
|
|
|
[github_app]
|
|
# these toggles allows running the github app from custom deployments
|
|
bot_user = "github-actions[bot]"
|
|
override_deployment_type = true
|
|
# settings for "pull_request" event
|
|
handle_pr_actions = ['opened', 'reopened', 'ready_for_review']
|
|
pr_commands = [
|
|
"/describe --pr_description.final_update_message=false",
|
|
"/review --pr_reviewer.num_code_suggestions=0",
|
|
"/improve",
|
|
]
|
|
# settings for "pull_request" event with "synchronize" action - used to detect and handle push triggers for new commits
|
|
handle_push_trigger = false
|
|
push_trigger_ignore_bot_commits = true
|
|
push_trigger_ignore_merge_commits = true
|
|
push_trigger_wait_for_initial_review = true
|
|
push_trigger_pending_tasks_backlog = true
|
|
push_trigger_pending_tasks_ttl = 300
|
|
push_commands = [
|
|
"/describe",
|
|
"/review --pr_reviewer.num_code_suggestions=0",
|
|
]
|
|
ignore_pr_title = []
|
|
ignore_bot_pr = true
|
|
|
|
[gitlab]
|
|
url = "https://gitlab.com"
|
|
pr_commands = [
|
|
"/describe --pr_description.final_update_message=false",
|
|
"/review --pr_reviewer.num_code_suggestions=0",
|
|
"/improve",
|
|
]
|
|
handle_push_trigger = false
|
|
push_commands = [
|
|
"/describe",
|
|
"/review --pr_reviewer.num_code_suggestions=0",
|
|
]
|
|
|
|
[bitbucket_app]
|
|
pr_commands = [
|
|
"/describe --pr_description.final_update_message=false",
|
|
"/review --pr_reviewer.num_code_suggestions=0",
|
|
"/improve --pr_code_suggestions.commitable_code_suggestions=true --pr_code_suggestions.suggestions_score_threshold=7",
|
|
]
|
|
|
|
|
|
[local]
|
|
# LocalGitProvider settings - uncomment to use paths other than default
|
|
# description_path= "path/to/description.md"
|
|
# review_path= "path/to/review.md"
|
|
|
|
[gerrit]
|
|
# endpoint to the gerrit service
|
|
# url = "ssh://gerrit.example.com:29418"
|
|
# user for gerrit authentication
|
|
# user = "ai-reviewer"
|
|
# patch server where patches will be saved
|
|
# patch_server_endpoint = "http://127.0.0.1:5000/patch"
|
|
# token to authenticate in the patch server
|
|
# patch_server_token = ""
|
|
|
|
[bitbucket_server]
|
|
# URL to the BitBucket Server instance
|
|
# url = "https://git.bitbucket.com"
|
|
url = ""
|
|
pr_commands = [
|
|
"/describe --pr_description.final_update_message=false",
|
|
"/review --pr_reviewer.num_code_suggestions=0",
|
|
"/improve --pr_code_suggestions.commitable_code_suggestions=true --pr_code_suggestions.suggestions_score_threshold=7",
|
|
]
|
|
|
|
[litellm]
|
|
# use_client = false
|
|
# drop_params = false
|
|
|
|
[pr_similar_issue]
|
|
skip_comments = false
|
|
force_update_dataset = false
|
|
max_issues_to_scan = 500
|
|
vectordb = "pinecone"
|
|
|
|
[pr_find_similar_component]
|
|
class_name = ""
|
|
file = ""
|
|
search_from_org = false
|
|
allow_fallback_less_words = true
|
|
number_of_keywords = 5
|
|
number_of_results = 5
|
|
|
|
[pinecone]
|
|
# fill and place in .secrets.toml
|
|
#api_key = ...
|
|
# environment = "gcp-starter"
|
|
|
|
[lancedb]
|
|
uri = "./lancedb"
|
|
|
|
[best_practices]
|
|
content = ""
|
|
max_lines_allowed = 800
|