2025-02-27 08:50:28 +00:00
# Important: This file contains all available configuration options.
# Do not copy this entire file to your repository configuration.
# Your repository configuration should only include options you wish to override from the defaults.
2025-03-07 16:22:26 +00:00
#
2025-03-15 07:58:20 +00:00
# Use this page: 'https://qodo-merge-docs.qodo.ai/ai_search/' to ask questions about the configuration options.
2025-02-27 08:50:28 +00:00
2023-07-05 21:21:08 +00:00
[ config ]
2024-07-27 14:19:32 +00:00
# models
2025-04-27 07:46:23 +00:00
model = "o4-mini"
fallback_models = [ "gpt-4.1" ]
#model_reasoning="o4-mini" # dedictated reasoning model for self-reflection
2025-04-19 06:26:35 +00:00
#model_weak="gpt-4o" # optional, a weaker model to use for some easier tasks
2024-07-27 14:19:32 +00:00
# CLI
2023-07-05 21:21:08 +00:00
git_provider = "github"
2025-02-27 08:52:20 +00:00
publish_output = true
2023-09-14 05:23:34 +00:00
publish_output_progress = true
2025-02-27 08:52:20 +00:00
verbosity_level = 0 # 0,1,2
2023-07-20 13:41:03 +00:00
use_extra_bad_extensions = false
2025-04-01 20:54:51 +00:00
# Log
2025-04-03 19:07:10 +00:00
log_level = "DEBUG"
2024-07-27 14:19:32 +00:00
# Configurations
2024-02-29 19:29:12 +00:00
use_wiki_settings_file = true
2023-08-01 14:22:03 +00:00
use_repo_settings_file = true
2023-12-26 14:33:34 +00:00
use_global_settings_file = true
2024-12-02 19:28:48 +00:00
disable_auto_feedback = false
2024-02-08 15:08:42 +00:00
ai_timeout = 120 # 2minutes
2024-09-09 05:31:20 +00:00
skip_keys = [ ]
2025-02-18 09:48:25 +00:00
custom_reasoning_model = false # when true, disables system messages and temperature controls for models that don't support chat-style inputs
2025-03-15 07:58:20 +00:00
response_language = "en-US" # Language locales code for PR responses in ISO 3166 and ISO 639 format (e.g., "en-US", "it-IT", "zh-CN", ...)
2024-07-27 14:19:32 +00:00
# token limits
2023-08-09 09:17:54 +00:00
max_description_tokens = 500
max_commits_tokens = 500
2023-11-07 12:38:37 +00:00
max_model_tokens = 32000 # Limits the maximum number of tokens that can be used by any model, regardless of the model's default capabilities.
2025-01-02 10:50:38 +00:00
custom_model_max_tokens = -1 # for models not in the default list
2025-04-03 08:51:26 +00:00
model_token_count_estimate_factor = 0.3 # factor to increase the token count estimate, in order to reduce likelihood of model failure due to too many tokens - applicable only when requesting an accurate estimate.
2024-08-20 08:24:52 +00:00
# patch extension logic
2024-08-20 08:33:56 +00:00
patch_extension_skip_types = [ ".md" , ".txt" ]
2024-09-12 08:37:52 +00:00
allow_dynamic_context = true
2025-04-27 07:46:23 +00:00
max_extra_lines_before_dynamic_context = 10 # will try to include up to 10 extra lines before the hunk in the patch, until we reach an enclosing function or class
patch_extra_lines_before = 5 # Number of extra lines (+3 default ones) to include before each hunk in the patch
2024-08-11 10:59:27 +00:00
patch_extra_lines_after = 1 # Number of extra lines (+3 default ones) to include after each hunk in the patch
2024-06-04 13:42:54 +00:00
secret_provider = ""
2023-09-12 13:46:02 +00:00
cli_mode = false
2024-02-11 14:22:26 +00:00
ai_disclaimer_title = "" # Pro feature, title for a collapsible disclaimer to AI outputs
2024-02-11 14:39:38 +00:00
ai_disclaimer = "" # Pro feature, full text for the AI disclaimer
2024-05-18 10:09:50 +00:00
output_relevant_configurations = false
2024-05-29 10:42:44 +00:00
large_patch_policy = "clip" # "clip", "skip"
2025-01-02 10:25:42 +00:00
duplicate_prompt_examples = false
2024-07-27 14:19:32 +00:00
# seed
2024-07-27 14:50:59 +00:00
seed = -1 # set positive value to fix the seed (and ensure temperature=0)
temperature = 0.2
2024-09-07 07:34:57 +00:00
# ignore logic
ignore_pr_title = [ "^\\[Auto\\]" , "^Auto" ] # a list of regular expressions to match against the PR title to ignore the PR agent
ignore_pr_target_branches = [ ] # a list of regular expressions of target branches to ignore from PR agent when an PR is created
ignore_pr_source_branches = [ ] # a list of regular expressions of source branches to ignore from PR agent when an PR is created
ignore_pr_labels = [ ] # labels to ignore from PR agent when an PR is created
2025-01-16 06:34:01 +00:00
ignore_pr_authors = [ ] # authors to ignore from PR agent when an PR is created
2025-05-16 14:20:54 +00:00
ignore_repositories = [ ] # a list of regular expressions of repository full names (e.g. "org/repo") to ignore from PR agent processing
2024-09-07 14:25:05 +00:00
#
is_auto_command = false # will be auto-set to true if the command is triggered by an automation
enable_ai_metadata = false # will enable adding ai metadata
2025-02-21 15:14:58 +00:00
reasoning_effort = "medium" # "low", "medium", "high"
2025-02-23 06:15:14 +00:00
# auto approval 💎
enable_auto_approval = false # Set to true to enable auto-approval of PRs under certain conditions
auto_approve_for_low_review_effort = -1 # -1 to disable, [1-5] to set the threshold for auto-approval
auto_approve_for_no_suggestions = false # If true, the PR will be auto-approved if there are no suggestions
2025-03-07 10:27:56 +00:00
# extended thinking for Claude reasoning models
2025-03-03 11:21:57 +00:00
enable_claude_extended_thinking = false # Set to true to enable extended thinking feature
2025-03-07 10:27:56 +00:00
extended_thinking_budget_tokens = 2048
2025-03-11 10:46:38 +00:00
extended_thinking_max_output_tokens = 4096
2025-02-23 06:15:14 +00:00
2024-09-06 16:32:46 +00:00
2023-07-30 08:43:44 +00:00
[ pr_reviewer ] # /review #
2023-11-15 12:12:59 +00:00
# enable/disable features
2023-07-19 08:00:28 +00:00
require_score_review = false
2023-07-05 21:21:08 +00:00
require_tests_review = true
2023-09-17 13:31:58 +00:00
require_estimate_effort_to_review = true
2024-03-09 08:46:36 +00:00
require_can_be_split_review = false
2024-06-04 17:15:22 +00:00
require_security_review = true
2025-05-23 16:52:52 +00:00
require_todo_scan = true
2024-10-10 05:48:37 +00:00
require_ticket_analysis_review = true
2023-11-15 12:12:59 +00:00
# general options
2023-11-08 17:27:16 +00:00
persistent_comment = true
2023-11-06 07:13:04 +00:00
extra_instructions = ""
2025-05-19 14:16:23 +00:00
num_max_findings = 3
2024-03-05 15:29:17 +00:00
final_update_message = true
2023-11-15 12:02:13 +00:00
# review labels
enable_review_labels_security = true
2024-01-24 17:49:43 +00:00
enable_review_labels_effort = true
2023-11-06 07:13:04 +00:00
# specific configurations for incremental review (/review -i)
2023-11-01 19:02:25 +00:00
require_all_thresholds_for_incremental_review = false
minimal_commits_for_incremental_review = 0
minimal_minutes_for_incremental_review = 0
2024-09-29 04:06:48 +00:00
enable_intro_text = true
2024-05-05 10:33:54 +00:00
enable_help_text = false # Determines whether to include help text in the PR review. Enabled by default.
2023-07-05 21:21:08 +00:00
2023-07-30 08:43:44 +00:00
[ pr_description ] # /describe #
2024-10-21 14:56:15 +00:00
publish_labels = false
2024-01-08 08:37:51 +00:00
add_original_user_description = true
2024-04-17 13:29:12 +00:00
generate_ai_title = false
2023-10-19 07:45:42 +00:00
use_bullet_points = true
2023-09-14 05:20:36 +00:00
extra_instructions = ""
2023-11-06 09:58:26 +00:00
enable_pr_type = true
2024-05-22 18:49:33 +00:00
final_update_message = true
2024-02-19 18:40:24 +00:00
enable_help_text = false
enable_help_comment = true
2024-04-02 14:52:34 +00:00
# describe as comment
2024-07-27 14:54:36 +00:00
publish_description_as_comment = false
2024-04-02 14:52:34 +00:00
publish_description_as_comment_persistent = true
2024-01-04 08:27:07 +00:00
## changes walkthrough section
enable_semantic_files_types = true
collapsible_file_list = 'adaptive' # true, false, 'adaptive'
2025-03-11 15:08:26 +00:00
collapsible_file_list_threshold = 6
2024-01-22 08:25:34 +00:00
inline_file_summary = false # false, true, 'table'
2023-09-14 05:20:36 +00:00
# markers
2023-09-04 16:11:39 +00:00
use_description_markers = false
include_generated_by_header = true
2024-06-27 05:36:40 +00:00
# large pr mode 💎
2024-06-26 17:11:20 +00:00
enable_large_pr_handling = true
2024-06-30 14:33:48 +00:00
max_ai_calls = 4
async_ai_calls = true
2023-12-05 05:48:21 +00:00
#custom_labels = ['Bug fix', 'Tests', 'Bug fix with tests', 'Enhancement', 'Documentation', 'Other']
2023-10-23 13:29:33 +00:00
2023-07-30 08:43:44 +00:00
[ pr_questions ] # /ask #
2024-05-05 10:33:54 +00:00
enable_help_text = false
2025-04-09 14:45:04 +00:00
use_conversation_history = true
2024-01-09 14:25:23 +00:00
2023-07-08 05:52:11 +00:00
2023-07-30 08:43:44 +00:00
[ pr_code_suggestions ] # /improve #
2025-04-27 05:50:03 +00:00
max_context_tokens = 24000
2024-10-01 05:01:27 +00:00
#
2024-04-17 12:32:45 +00:00
commitable_code_suggestions = false
2024-10-01 05:22:28 +00:00
dual_publishing_score_threshold = -1 # -1 to disable, [0-10] to set the threshold (>=) for publishing a code suggestion both in a table and as commitable
2024-11-18 14:35:23 +00:00
focus_only_on_problems = true
2024-10-01 05:01:27 +00:00
#
2023-07-30 08:43:44 +00:00
extra_instructions = ""
2024-05-05 10:33:54 +00:00
enable_help_text = false
2024-09-26 15:24:11 +00:00
enable_chat_text = false
2024-07-03 13:38:13 +00:00
persistent_comment = true
max_history_len = 4
2025-03-29 06:33:31 +00:00
publish_output_no_suggestions = true
2024-06-06 15:04:40 +00:00
# enable to apply suggestion 💎
apply_suggestions_checkbox = true
2024-05-13 06:19:08 +00:00
# suggestions scoring
2024-10-01 05:01:27 +00:00
suggestions_score_threshold = 0 # [0-10]| recommend not to set this value above 8, since above it may clip highly relevant suggestions
2025-02-05 07:41:01 +00:00
new_score_mechanism = true
new_score_mechanism_th_high = 9
new_score_mechanism_th_medium = 7
2023-08-22 06:42:59 +00:00
# params for '/improve --extended' mode
2024-02-01 07:46:04 +00:00
auto_extended_mode = true
2025-04-27 05:50:03 +00:00
num_code_suggestions_per_chunk = 4
2024-02-01 07:46:04 +00:00
max_number_of_calls = 3
2024-02-07 06:00:01 +00:00
parallel_calls = true
2024-12-11 11:03:43 +00:00
2024-02-01 07:46:04 +00:00
final_clip_factor = 0.8
2025-03-11 14:46:53 +00:00
decouple_hunks = false
2024-06-17 17:26:09 +00:00
# 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
2024-10-08 17:51:45 +00:00
fold_suggestions_on_self_review = true # Pro feature. if true, the code suggestions will be folded after the author clicks on the self-review checkbox
2024-10-27 13:49:10 +00:00
# Suggestion impact 💎
2024-06-26 17:11:20 +00:00
publish_post_process_suggestion_impact = true
2024-10-27 13:49:10 +00:00
wiki_page_accepted_suggestions = true
2024-12-11 11:16:21 +00:00
allow_thumbs_up_down = false
2024-06-26 17:11:20 +00:00
[ pr_custom_prompt ] # /custom_prompt #
prompt = "" " \
The code suggestions should focus only on the following :
- . . .
- . . .
. . .
"" "
suggestions_score_threshold = 0
2025-04-09 05:24:26 +00:00
num_code_suggestions_per_chunk = 3
2024-06-26 17:11:20 +00:00
self_reflect_on_custom_suggestions = true
enable_help_text = false
2023-08-21 06:07:21 +00:00
2023-10-01 10:52:00 +00:00
[ pr_add_docs ] # /add_docs #
2023-09-27 13:48:17 +00:00
extra_instructions = ""
2024-06-26 17:11:20 +00:00
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
2023-09-27 13:48:17 +00:00
2023-07-30 08:43:44 +00:00
[ pr_update_changelog ] # /update_changelog #
2023-07-26 17:03:22 +00:00
push_changelog_changes = false
2023-07-30 08:43:44 +00:00
extra_instructions = ""
2024-12-23 15:20:29 +00:00
add_pr_link = true
2025-04-15 16:28:36 +00:00
skip_ci_on_push = true
2023-07-26 06:21:31 +00:00
2023-12-24 11:08:13 +00:00
[ pr_analyze ] # /analyze #
2024-06-26 17:11:20 +00:00
enable_help_text = true
2023-12-24 11:08:13 +00:00
2024-01-28 18:26:58 +00:00
[ pr_test ] # /test #
extra_instructions = ""
2024-01-29 18:17:39 +00:00
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
2024-05-05 10:33:54 +00:00
enable_help_text = false
2024-01-28 18:26:58 +00:00
2024-03-31 09:13:25 +00:00
[ 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
2024-06-26 17:11:20 +00:00
class_name = "" # in case there are several methods with the same name in the same file, you can specify the relevant class name
2024-02-16 18:30:29 +00:00
[ checks ] # /checks (pro feature) #
enable_auto_checks_feedback = true
2024-02-18 06:19:01 +00:00
excluded_checks_list = [ "lint" ] # list of checks to exclude, for example: ["check1", "check2"]
2024-02-16 18:30:29 +00:00
persistent_comment = true
2024-02-21 06:55:59 +00:00
enable_help_text = true
2024-06-26 17:11:20 +00:00
final_update_message = false
2024-02-16 18:30:29 +00:00
2024-02-24 14:47:23 +00:00
[ pr_help ] # /help #
2024-09-21 13:22:51 +00:00
force_local_db = false
2024-09-22 12:55:18 +00:00
num_retrieved_snippets = 5
2024-02-16 18:30:29 +00:00
2023-08-02 13:42:54 +00:00
[ pr_config ] # /config #
2025-03-20 14:32:16 +00:00
[ pr_help_docs ]
repo_url = "" #If not overwritten, will use the repo from where the context came from (issue or PR)
2025-03-23 07:55:58 +00:00
repo_default_branch = "main"
2025-03-20 14:32:16 +00:00
docs_path = "docs"
exclude_root_readme = false
supported_doc_exts = [ ".md" , ".mdx" , ".rst" ]
2025-03-23 18:04:33 +00:00
enable_help_text = false
2025-03-20 14:32:16 +00:00
2023-07-11 13:55:09 +00:00
[ github ]
# The type of deployment to create. Valid values are 'app' or 'user'.
deployment_type = "user"
2023-07-25 12:23:40 +00:00
ratelimit_retries = 5
2023-11-21 14:48:36 +00:00
base_url = "https://api.github.com"
2024-01-08 10:00:20 +00:00
publish_inline_comments_fallback_with_verification = true
2024-01-09 07:54:29 +00:00
try_fix_invalid_inline_comments = true
2024-06-26 17:11:20 +00:00
app_name = "pr-agent"
2024-09-06 16:32:46 +00:00
ignore_bot_pr = true
2023-07-11 13:55:09 +00:00
2024-01-27 19:15:23 +00:00
[ github_action_config ]
2023-09-25 15:30:20 +00:00
# auto_review = true # set as env var in .github/workflows/pr-agent.yaml
2023-09-25 15:01:32 +00:00
# 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
2024-09-15 06:35:58 +00:00
# pr_actions = ['opened', 'reopened', 'ready_for_review', 'review_requested']
2023-09-25 15:01:32 +00:00
2023-08-20 06:23:21 +00:00
[ github_app ]
# these toggles allows running the github app from custom deployments
2024-06-26 17:11:20 +00:00
bot_user = "github-actions[bot]"
2023-08-20 06:23:21 +00:00
override_deployment_type = true
# settings for "pull_request" event
2024-02-26 12:20:50 +00:00
handle_pr_actions = [ 'opened' , 'reopened' , 'ready_for_review' ]
2023-08-22 18:14:03 +00:00
pr_commands = [
2024-05-22 18:49:33 +00:00
"/describe --pr_description.final_update_message=false" ,
2024-12-19 07:33:20 +00:00
"/review" ,
2024-04-17 12:32:45 +00:00
"/improve" ,
2023-08-22 18:14:03 +00:00
]
2023-10-26 11:45:57 +00:00
# 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
2023-10-25 08:15:23 +00:00
push_commands = [
2024-04-18 05:44:08 +00:00
"/describe" ,
2024-12-19 07:33:20 +00:00
"/review" ,
2023-10-25 08:15:23 +00:00
]
2023-08-20 06:23:21 +00:00
2023-07-08 05:52:11 +00:00
[ gitlab ]
2024-06-26 17:11:20 +00:00
url = "https://gitlab.com"
2024-02-21 07:20:28 +00:00
pr_commands = [
2024-08-01 06:51:35 +00:00
"/describe --pr_description.final_update_message=false" ,
2024-12-19 07:33:20 +00:00
"/review" ,
2024-04-17 12:32:45 +00:00
"/improve" ,
2024-02-21 07:20:28 +00:00
]
2024-06-04 13:37:35 +00:00
handle_push_trigger = false
2024-06-05 08:25:10 +00:00
push_commands = [
2024-06-04 13:37:35 +00:00
"/describe" ,
2024-12-19 07:33:20 +00:00
"/review" ,
2024-06-04 13:37:35 +00:00
]
2023-07-24 10:49:57 +00:00
2023-12-12 06:06:20 +00:00
[ bitbucket_app ]
2024-03-06 05:53:13 +00:00
pr_commands = [
2024-08-01 06:51:35 +00:00
"/describe --pr_description.final_update_message=false" ,
2024-12-19 07:33:20 +00:00
"/review" ,
"/improve --pr_code_suggestions.commitable_code_suggestions=true" ,
2024-03-06 05:53:13 +00:00
]
2024-09-07 08:44:24 +00:00
avoid_full_files = false
2023-12-12 06:06:20 +00:00
2023-07-24 10:49:57 +00:00
[ local ]
# LocalGitProvider settings - uncomment to use paths other than default
# description_path= "path/to/description.md"
2023-09-01 11:24:20 +00:00
# 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 = ""
2023-09-09 14:35:45 +00:00
2023-12-17 16:38:27 +00:00
[ bitbucket_server ]
# URL to the BitBucket Server instance
# url = "https://git.bitbucket.com"
url = ""
2024-07-30 13:45:45 +00:00
pr_commands = [
2024-08-01 06:51:35 +00:00
"/describe --pr_description.final_update_message=false" ,
2024-12-19 07:33:20 +00:00
"/review" ,
"/improve --pr_code_suggestions.commitable_code_suggestions=true" ,
2024-07-30 13:45:45 +00:00
]
2023-12-17 16:38:27 +00:00
2023-09-09 14:35:45 +00:00
[ litellm ]
2024-03-13 02:20:02 +00:00
# use_client = false
# drop_params = false
2024-08-17 06:15:05 +00:00
enable_callbacks = false
2024-08-19 19:45:47 +00:00
success_callback = [ ]
failure_callback = [ ]
service_callback = [ ]
2023-09-06 05:43:41 +00:00
2023-09-05 05:40:05 +00:00
[ pr_similar_issue ]
skip_comments = false
force_update_dataset = false
2023-09-06 06:43:23 +00:00
max_issues_to_scan = 500
2023-12-25 09:20:15 +00:00
vectordb = "pinecone"
2023-09-05 05:40:05 +00:00
2024-06-26 17:11:20 +00:00
[ pr_find_similar_component ]
class_name = ""
file = ""
search_from_org = false
allow_fallback_less_words = true
number_of_keywords = 5
number_of_results = 5
2023-09-05 05:40:05 +00:00
[ pinecone ]
# fill and place in .secrets.toml
#api_key = ...
2023-10-24 01:34:12 +00:00
# environment = "gcp-starter"
2023-12-12 06:06:20 +00:00
2023-12-24 19:08:24 +00:00
[ lancedb ]
2024-06-26 17:11:20 +00:00
uri = "./lancedb"
2025-01-26 10:02:27 +00:00
2024-07-09 04:49:30 +00:00
[ best_practices ]
content = ""
2025-01-26 10:02:27 +00:00
organization_name = ""
2024-07-24 16:56:50 +00:00
max_lines_allowed = 800
2024-09-26 15:24:11 +00:00
enable_global_best_practices = false
2025-01-26 10:02:27 +00:00
[ auto_best_practices ]
enable_auto_best_practices = true # public - general flag to disable all auto best practices usage
utilize_auto_best_practices = true # public - disable usage of auto best practices in the 'improve' tool
extra_instructions = "" # public - extra instructions to the auto best practices generation prompt
content = ""
max_patterns = 5 # max number of patterns to be detected
2025-02-26 14:40:46 +00:00
[ azure_devops_server ]
pr_commands = [
"/describe" ,
"/review" ,
"/improve" ,
2025-03-07 16:22:26 +00:00
]