2023-07-06 00:21:08 +03:00
[ config ]
2024-07-27 17:19:32 +03:00
# models
2024-04-14 12:37:54 +03:00
model = "gpt-4-turbo-2024-04-09"
2024-08-16 08:58:51 +03:00
model_turbo = "gpt-4o-2024-08-06"
2024-08-20 11:24:52 +03:00
fallback_models = [ "gpt-4o-2024-05-13" ]
2024-07-27 17:19:32 +03:00
# CLI
2023-07-06 00:21:08 +03:00
git_provider = "github"
2023-07-26 16:29:42 +03:00
publish_output = true
2023-09-14 08:23:34 +03:00
publish_output_progress = true
2024-01-29 11:42:32 +02:00
verbosity_level = 0 # 0,1,2
2023-07-20 15:41:03 +02:00
use_extra_bad_extensions = false
2024-07-27 17:19:32 +03:00
# Configurations
2024-02-29 21:29:12 +02:00
use_wiki_settings_file = true
2023-08-01 17:22:03 +03:00
use_repo_settings_file = true
2023-12-26 16:33:34 +02:00
use_global_settings_file = true
2024-02-08 17:08:42 +02:00
ai_timeout = 120 # 2minutes
2024-07-27 17:19:32 +03:00
# token limits
2023-08-09 12:17:54 +03:00
max_description_tokens = 500
max_commits_tokens = 500
2023-11-07 14:38:37 +02: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.
2024-07-28 08:55:01 +03:00
custom_model_max_tokens = -1 # for models not in the default list
2024-08-20 11:24:52 +03:00
# patch extension logic
2024-08-20 11:33:56 +03:00
patch_extension_skip_types = [ ".md" , ".txt" ]
2024-08-19 08:38:26 +03:00
allow_dynamic_context = false
2024-08-18 17:45:18 +03: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
2024-08-11 13:59:27 +03:00
patch_extra_lines_before = 3 # Number of extra lines (+3 default ones) to include before each hunk in the patch
patch_extra_lines_after = 1 # Number of extra lines (+3 default ones) to include after each hunk in the patch
2024-06-04 16:42:54 +03:00
secret_provider = ""
2023-09-12 16:46:02 +03:00
cli_mode = false
2024-02-11 16:22:26 +02:00
ai_disclaimer_title = "" # Pro feature, title for a collapsible disclaimer to AI outputs
2024-02-11 16:39:38 +02:00
ai_disclaimer = "" # Pro feature, full text for the AI disclaimer
2024-05-18 13:09:50 +03:00
output_relevant_configurations = false
2024-05-29 13:42:44 +03:00
large_patch_policy = "clip" # "clip", "skip"
2024-06-19 11:51:10 +03:00
is_auto_command = false
2024-07-27 17:19:32 +03:00
# seed
2024-07-27 17:50:59 +03:00
seed = -1 # set positive value to fix the seed (and ensure temperature=0)
temperature = 0.2
2023-07-06 00:21:08 +03:00
2023-07-30 11:43:44 +03:00
[ pr_reviewer ] # /review #
2023-11-15 14:12:59 +02:00
# enable/disable features
2023-07-19 11:00:28 +03:00
require_score_review = false
2023-07-06 00:21:08 +03:00
require_tests_review = true
2023-09-17 16:31:58 +03:00
require_estimate_effort_to_review = true
2024-03-09 10:46:36 +02:00
require_can_be_split_review = false
2024-06-04 20:15:22 +03:00
require_security_review = true
2024-07-14 08:53:53 +03:00
extra_issue_links = false
2024-01-01 20:10:59 +02:00
# 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.) ?"
2023-11-15 14:12:59 +02:00
# general options
2024-06-10 08:44:11 +03:00
num_code_suggestions = 0
2023-08-05 10:34:09 +03:00
inline_code_comments = false
2023-07-17 15:49:29 +03:00
ask_and_reflect = false
2024-01-07 09:28:06 +02:00
#automatic_review=true
2023-11-08 19:27:16 +02:00
persistent_comment = true
2023-11-06 09:13:04 +02:00
extra_instructions = ""
2024-03-05 17:29:17 +02:00
final_update_message = true
2023-11-15 14:02:13 +02:00
# review labels
enable_review_labels_security = true
2024-01-24 19:49:43 +02:00
enable_review_labels_effort = true
2023-11-06 09:13:04 +02:00
# specific configurations for incremental review (/review -i)
2023-11-01 21:02:25 +02:00
require_all_thresholds_for_incremental_review = false
minimal_commits_for_incremental_review = 0
minimal_minutes_for_incremental_review = 0
2024-05-05 13:33:54 +03:00
enable_help_text = false # Determines whether to include help text in the PR review. Enabled by default.
2024-02-06 08:31:36 +02:00
# auto approval
enable_auto_approval = false
maximal_review_effort = 5
2023-07-06 00:21:08 +03:00
2023-07-30 11:43:44 +03:00
[ pr_description ] # /describe #
2023-09-04 12:11:39 -04:00
publish_labels = true
2024-01-08 10:37:51 +02:00
add_original_user_description = true
2024-04-17 16:29:12 +03:00
generate_ai_title = false
2023-10-19 10:45:42 +03:00
use_bullet_points = true
2023-09-14 08:20:36 +03:00
extra_instructions = ""
2023-11-06 11:58:26 +02:00
enable_pr_type = true
2024-05-22 21:49:33 +03:00
final_update_message = true
2024-02-19 20:40:24 +02:00
enable_help_text = false
enable_help_comment = true
2024-04-02 17:52:34 +03:00
# describe as comment
2024-07-27 17:54:36 +03:00
publish_description_as_comment = false
2024-04-02 17:52:34 +03:00
publish_description_as_comment_persistent = true
2024-01-04 10:27:07 +02:00
## changes walkthrough section
enable_semantic_files_types = true
collapsible_file_list = 'adaptive' # true, false, 'adaptive'
2024-01-22 10:25:34 +02:00
inline_file_summary = false # false, true, 'table'
2023-09-14 08:20:36 +03:00
# markers
2023-09-04 12:11:39 -04:00
use_description_markers = false
include_generated_by_header = true
2024-06-27 08:36:40 +03:00
# large pr mode 💎
2024-06-26 20:11:20 +03:00
enable_large_pr_handling = true
2024-06-30 17:33:48 +03:00
max_ai_calls = 4
async_ai_calls = true
2024-06-26 20:11:20 +03:00
mention_extra_files = true
2023-12-05 07:48:21 +02:00
#custom_labels = ['Bug fix', 'Tests', 'Bug fix with tests', 'Enhancement', 'Documentation', 'Other']
2023-10-23 16:29:33 +03:00
2023-07-30 11:43:44 +03:00
[ pr_questions ] # /ask #
2024-05-05 13:33:54 +03:00
enable_help_text = false
2024-01-09 16:25:23 +02:00
2023-07-08 08:52:11 +03:00
2023-07-30 11:43:44 +03:00
[ pr_code_suggestions ] # /improve #
2024-08-11 12:15:47 +03:00
max_context_tokens = 14000
2023-07-15 09:30:50 +03:00
num_code_suggestions = 4
2024-04-17 15:32:45 +03:00
commitable_code_suggestions = false
2023-07-30 11:43:44 +03:00
extra_instructions = ""
2023-08-22 09:42:59 +03:00
rank_suggestions = false
2024-05-05 13:33:54 +03:00
enable_help_text = false
2024-07-03 16:38:13 +03:00
persistent_comment = true
max_history_len = 4
2024-06-06 18:04:40 +03:00
# enable to apply suggestion 💎
apply_suggestions_checkbox = true
2024-05-13 09:19:08 +03:00
# suggestions scoring
2024-05-10 19:44:26 +03:00
self_reflect_on_suggestions = true
2024-05-13 09:19:08 +03:00
suggestions_score_threshold = 0 # [0-10]. highly recommend not to set this value above 8, since above it may clip highly relevant suggestions
2023-08-22 09:42:59 +03:00
# params for '/improve --extended' mode
2024-02-01 09:46:04 +02:00
auto_extended_mode = true
2024-05-10 19:44:26 +03:00
num_code_suggestions_per_chunk = 4
2024-02-01 09:46:04 +02:00
max_number_of_calls = 3
2024-02-07 08:00:01 +02:00
parallel_calls = true
rank_extended_suggestions = false
2024-02-01 09:46:04 +02:00
final_clip_factor = 0.8
2024-06-17 20:26:09 +03: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-06-26 20:11:20 +03:00
# 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
2023-08-21 09:07:21 +03:00
2023-10-01 13:52:00 +03:00
[ pr_add_docs ] # /add_docs #
2023-09-27 16:48:17 +03:00
extra_instructions = ""
2024-06-26 20:11:20 +03: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 16:48:17 +03:00
2023-07-30 11:43:44 +03:00
[ pr_update_changelog ] # /update_changelog #
2023-07-26 20:03:22 +03:00
push_changelog_changes = false
2023-07-30 11:43:44 +03:00
extra_instructions = ""
2023-07-26 09:21:31 +03:00
2023-12-24 13:08:13 +02:00
[ pr_analyze ] # /analyze #
2024-06-26 20:11:20 +03:00
enable_help_text = true
2023-12-24 13:08:13 +02:00
2024-01-28 20:26:58 +02:00
[ pr_test ] # /test #
extra_instructions = ""
2024-01-29 20:17:39 +02: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 13:33:54 +03:00
enable_help_text = false
2024-01-28 20:26:58 +02:00
2024-03-31 12:13:25 +03: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 20:11:20 +03: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 20:30:29 +02:00
[ checks ] # /checks (pro feature) #
enable_auto_checks_feedback = true
2024-02-18 08:19:01 +02:00
excluded_checks_list = [ "lint" ] # list of checks to exclude, for example: ["check1", "check2"]
2024-02-16 20:30:29 +02:00
persistent_comment = true
2024-02-21 08:55:59 +02:00
enable_help_text = true
2024-06-26 20:11:20 +03:00
final_update_message = false
2024-02-16 20:30:29 +02:00
2024-02-24 16:47:23 +02:00
[ pr_help ] # /help #
2024-02-16 20:30:29 +02:00
2023-08-02 16:42:54 +03:00
[ pr_config ] # /config #
2023-07-11 16:55:09 +03:00
[ github ]
# The type of deployment to create. Valid values are 'app' or 'user'.
deployment_type = "user"
2023-07-25 15:23:40 +03:00
ratelimit_retries = 5
2023-11-21 16:48:36 +02:00
base_url = "https://api.github.com"
2024-01-08 12:00:20 +02:00
publish_inline_comments_fallback_with_verification = true
2024-01-09 09:54:29 +02:00
try_fix_invalid_inline_comments = true
2024-06-26 20:11:20 +03:00
app_name = "pr-agent"
2023-07-11 16:55:09 +03:00
2024-01-27 21:15:23 +02:00
[ github_action_config ]
2023-09-25 18:30:20 +03:00
# auto_review = true # set as env var in .github/workflows/pr-agent.yaml
2023-09-25 18:01:32 +03: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
2023-08-20 09:23:21 +03:00
[ github_app ]
# these toggles allows running the github app from custom deployments
2024-06-26 20:11:20 +03:00
bot_user = "github-actions[bot]"
2023-08-20 09:23:21 +03:00
override_deployment_type = true
# settings for "pull_request" event
2024-02-26 14:20:50 +02:00
handle_pr_actions = [ 'opened' , 'reopened' , 'ready_for_review' ]
2023-08-22 21:14:03 +03:00
pr_commands = [
2024-05-22 21:49:33 +03:00
"/describe --pr_description.final_update_message=false" ,
2024-01-17 15:43:01 +02:00
"/review --pr_reviewer.num_code_suggestions=0" ,
2024-04-17 15:32:45 +03:00
"/improve" ,
2023-08-22 21:14:03 +03:00
]
2023-10-26 14:45:57 +03: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 11:15:23 +03:00
push_commands = [
2024-04-18 08:44:08 +03:00
"/describe" ,
2024-02-22 18:03:00 +02:00
"/review --pr_reviewer.num_code_suggestions=0" ,
2023-10-25 11:15:23 +03:00
]
2024-09-02 16:26:50 +02:00
# a list of regular expressions to match against the PR title to ignore the PR agent
2024-02-22 12:14:04 +02:00
ignore_pr_title = [ ]
2024-09-02 16:26:50 +02:00
# a list of regular expressions of target branches to ignore from PR agent when an MR is created
ignore_pr_target_branches = [ ]
# a list of regular expressions of source branches to ignore from PR agent when an MR is created
ignore_pr_source_branches = [ ]
# labels to ignore from PR agent when an MR is created
ignore_pr_labels = [ ]
# MR titles to ignore from PR agent when an MR is created
2024-03-25 11:42:24 +02:00
ignore_bot_pr = true
2023-08-20 09:23:21 +03:00
2023-07-08 08:52:11 +03:00
[ gitlab ]
2024-06-26 20:11:20 +03:00
url = "https://gitlab.com"
2024-02-21 09:20:28 +02:00
pr_commands = [
2024-08-01 09:51:35 +03:00
"/describe --pr_description.final_update_message=false" ,
2024-02-21 09:20:28 +02:00
"/review --pr_reviewer.num_code_suggestions=0" ,
2024-04-17 15:32:45 +03:00
"/improve" ,
2024-02-21 09:20:28 +02:00
]
2024-06-04 16:37:35 +03:00
handle_push_trigger = false
2024-06-05 11:25:10 +03:00
push_commands = [
2024-06-04 16:37:35 +03:00
"/describe" ,
"/review --pr_reviewer.num_code_suggestions=0" ,
]
2024-09-02 16:26:50 +02:00
# a list of regular expressions to match against the PR title to ignore the PR agent
ignore_mr_title = [ ]
# target branches to ignore from PR agent when an MR is created
ignore_mr_target_branches = [ ]
# source branches to ignore from PR agent when an MR is created
ignore_mr_source_branches = [ ]
# labels to ignore from PR agent when an MR is created
ignore_mr_labels = [ ]
2023-07-24 12:49:57 +02:00
2023-12-12 08:06:20 +02:00
[ bitbucket_app ]
2024-03-06 07:53:13 +02:00
pr_commands = [
2024-08-01 09:51:35 +03:00
"/describe --pr_description.final_update_message=false" ,
2024-03-06 07:53:13 +02:00
"/review --pr_reviewer.num_code_suggestions=0" ,
2024-06-19 08:30:45 +03:00
"/improve --pr_code_suggestions.commitable_code_suggestions=true --pr_code_suggestions.suggestions_score_threshold=7" ,
2024-03-06 07:53:13 +02:00
]
2023-12-12 08:06:20 +02:00
2023-07-24 12:49:57 +02:00
[ local ]
# LocalGitProvider settings - uncomment to use paths other than default
# description_path= "path/to/description.md"
2023-09-01 12:24:20 +01: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 17:35:45 +03:00
2023-12-17 17:38:27 +01:00
[ bitbucket_server ]
# URL to the BitBucket Server instance
# url = "https://git.bitbucket.com"
url = ""
2024-07-30 09:45:45 -04:00
pr_commands = [
2024-08-01 09:51:35 +03:00
"/describe --pr_description.final_update_message=false" ,
2024-07-30 09:45:45 -04:00
"/review --pr_reviewer.num_code_suggestions=0" ,
"/improve --pr_code_suggestions.commitable_code_suggestions=true --pr_code_suggestions.suggestions_score_threshold=7" ,
]
2023-12-17 17:38:27 +01:00
2023-09-09 17:35:45 +03:00
[ litellm ]
2024-03-13 11:20:02 +09:00
# use_client = false
# drop_params = false
2024-08-17 09:15:05 +03:00
enable_callbacks = false
2024-08-19 15:45:47 -04:00
success_callback = [ ]
failure_callback = [ ]
service_callback = [ ]
2023-09-06 08:43:41 +03:00
2023-09-05 08:40:05 +03:00
[ pr_similar_issue ]
skip_comments = false
force_update_dataset = false
2023-09-06 09:43:23 +03:00
max_issues_to_scan = 500
2023-12-25 14:50:15 +05:30
vectordb = "pinecone"
2023-09-05 08:40:05 +03:00
2024-06-26 20:11:20 +03: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 08:40:05 +03:00
[ pinecone ]
# fill and place in .secrets.toml
#api_key = ...
2023-10-23 21:34:12 -04:00
# environment = "gcp-starter"
2023-12-12 08:06:20 +02:00
2023-12-25 00:38:24 +05:30
[ lancedb ]
2024-06-26 20:11:20 +03:00
uri = "./lancedb"
2024-07-09 07:49:30 +03:00
[ best_practices ]
content = ""
2024-07-24 19:56:50 +03:00
max_lines_allowed = 800