{
	"$schema": "https://json-schema.org/draft/2020-12/schema",
	"type": "object",
	"properties": {
		"version": {
			"type": "number",
			"const": 3
		},
		"language": {
			"default": "en-US",
			"type": "string",
			"enum": [
				"de",
				"de-DE",
				"de-AT",
				"de-CH",
				"en",
				"en-US",
				"en-AU",
				"en-GB",
				"en-CA",
				"en-NZ",
				"en-ZA",
				"es",
				"es-AR",
				"fr",
				"fr-CA",
				"fr-CH",
				"fr-BE",
				"nl",
				"nl-BE",
				"pt-AO",
				"pt",
				"pt-BR",
				"pt-MZ",
				"pt-PT",
				"ar",
				"ast-ES",
				"ast",
				"be-BY",
				"be",
				"br-FR",
				"br",
				"ca-ES",
				"ca",
				"ca-ES-valencia",
				"ca-ES-balear",
				"da-DK",
				"da",
				"de-DE-x-simple-language",
				"el-GR",
				"el",
				"eo",
				"fa",
				"ga-IE",
				"ga",
				"gl-ES",
				"gl",
				"it",
				"ja-JP",
				"ja",
				"km-KH",
				"km",
				"ko-KR",
				"ko",
				"pl-PL",
				"pl",
				"ro-RO",
				"ro",
				"ru-RU",
				"ru",
				"sk-SK",
				"sk",
				"sl-SI",
				"sl",
				"sv",
				"ta-IN",
				"ta",
				"tl-PH",
				"tl",
				"tr",
				"uk-UA",
				"uk",
				"zh-CN",
				"zh",
				"zh-TW",
				"crh-UA",
				"crh",
				"cs-CZ",
				"cs",
				"nb",
				"no",
				"nl-NL",
				"de-DE-x-simple-language-DE",
				"es-ES",
				"it-IT",
				"fa-IR",
				"sv-SE",
				"de-LU",
				"fr-FR",
				"bg-BG",
				"bg",
				"he-IL",
				"he",
				"hi-IN",
				"hi",
				"vi-VN",
				"vi",
				"th-TH",
				"th",
				"bn-BD",
				"bn"
			],
			"enumNames": [
				"German",
				"German (Germany)",
				"German (Austria)",
				"German (Swiss)",
				"English",
				"English (US)",
				"English (Australian)",
				"English (GB)",
				"English (Canadian)",
				"English (New Zealand)",
				"English (South African)",
				"Spanish",
				"Spanish (voseo)",
				"French",
				"French (Canada)",
				"French (Switzerland)",
				"French (Belgium)",
				"Dutch",
				"Dutch (Belgium)",
				"Portuguese (Angola preAO)",
				"Portuguese",
				"Portuguese (Brazil)",
				"Portuguese (Moçambique preAO)",
				"Portuguese (Portugal)",
				"Arabic",
				"Asturian",
				"Asturian",
				"Belarusian",
				"Belarusian",
				"Breton",
				"Breton",
				"Catalan",
				"Catalan",
				"Catalan (Valencian)",
				"Catalan (Balearic)",
				"Danish",
				"Danish",
				"Simple German",
				"Greek",
				"Greek",
				"Esperanto",
				"Persian",
				"Irish",
				"Irish",
				"Galician",
				"Galician",
				"Italian",
				"Japanese",
				"Japanese",
				"Khmer",
				"Khmer",
				"Korean",
				"Korean",
				"Polish",
				"Polish",
				"Romanian",
				"Romanian",
				"Russian",
				"Russian",
				"Slovak",
				"Slovak",
				"Slovenian",
				"Slovenian",
				"Swedish",
				"Tamil",
				"Tamil",
				"Tagalog",
				"Tagalog",
				"Turkish",
				"Ukrainian",
				"Ukrainian",
				"Simplified Chinese",
				"Simplified Chinese",
				"Traditional Chinese",
				"Crimean Tatar",
				"Crimean Tatar",
				"Czech",
				"Czech",
				"Norwegian",
				"Norwegian (Bokmål)",
				"Dutch (Netherlands)",
				"Simple German",
				"Spanish",
				"Italian",
				"Persian",
				"Swedish",
				"German (Luxembourg)",
				"French",
				"Bulgarian",
				"Bulgarian",
				"Hebrew",
				"Hebrew",
				"Hindi",
				"Hindi",
				"Vietnamese",
				"Vietnamese",
				"Thai",
				"Thai",
				"Bengali",
				"Bengali"
			]
		},
		"inheritance": {
			"default": false,
			"type": "boolean"
		},
		"reviews": {
			"type": "object",
			"properties": {
				"behavior": {
					"type": "object",
					"properties": {
						"profile": {
							"default": "chill",
							"type": "string",
							"enum": ["quiet", "chill", "assertive"]
						},
						"path_filters": {
							"default": [],
							"type": "array",
							"items": {
								"type": "string"
							}
						},
						"auto_approvals": {
							"default": {},
							"type": "object",
							"properties": {
								"enabled": {
									"default": false,
									"description": "Automatic approvals | Request changes for blocking findings. Automatically approve when required threads are resolved, the latest commit is reviewed, pre-merge checks pass, and configured risk limits are satisfied. In GitLab, required discussions must be resolved.",
									"type": "boolean"
								},
								"max_merge_risk": {
									"description": "Maximum merge risk for approval | Highest inclusive merge risk that permits approval. Omitted limits can be inherited; merge risk is unrestricted only when no configuration source sets a limit. A configured limit requires an assessment covering the current commit.",
									"type": "string",
									"enum": ["minimal", "low", "moderate", "high", "critical"]
								},
								"allow_author_approval": {
									"default": true,
									"description": "Allow author approval commands | Allow pull request authors to use top-level @coderabbitai approve and @coderabbitai resolve commands on their own pull requests. When disabled, another reviewer must run them. The pull request's branch configuration cannot re-enable this permission. Commands still honor approval risk limits. This does not require human review or change automatic approvals after normal review requirements pass.",
									"type": "boolean"
								},
								"max_security_risk": {
									"description": "Maximum security risk for approval | Highest inclusive security architecture risk that permits approval. Security risk assessments require the Advanced plan or above. Omitted limits can be inherited; security risk is unrestricted only when no configuration source sets a limit. This is separate from Security finding severity. A configured limit requires an assessment covering the current commit.",
									"type": "string",
									"enum": ["minimal", "low", "moderate", "high", "critical"]
								},
								"overrides": {
									"description": "Overrides | Disable approvals or override risk limits by author team, changed paths, or both. When teams and paths are set, both must match. A matching file applies the override to the whole pull request. Any matching disabled override withholds approval. Otherwise, the strictest explicitly configured value wins for each limit; omitted values inherit the global limit. At most 15 distinct teams may be checked. Unavailable required team membership or changed-file evidence withholds approval.",
									"type": "array",
									"items": {
										"type": "object",
										"properties": {
											"enabled": {
												"description": "Automatic approvals | Set to false to withhold approval for matching pull requests, regardless of risk. Omit to use the global setting. Any matching disabled override wins. Review comments and requests for changes continue normally; overrides cannot turn on a globally disabled workflow.",
												"type": "boolean",
												"const": false
											},
											"teams": {
												"description": "Teams | Apply this override when the pull request author belongs to any listed GitHub team. Use organization/team-slug.",
												"minItems": 1,
												"maxItems": 15,
												"type": "array",
												"items": {
													"type": "string",
													"pattern": "^[A-Za-z0-9][A-Za-z0-9-]*\\/[A-Za-z0-9][A-Za-z0-9-]*$"
												}
											},
											"paths": {
												"description": "Paths | Apply this override when any changed file matches these repository-relative globs. Uses the same glob syntax as `path_filters`, including ! exclusions. Renames match both old and new paths. When teams and paths are set, both must match. Omit to match all paths.",
												"minItems": 1,
												"type": "array",
												"items": {
													"type": "string",
													"minLength": 1
												}
											},
											"max_merge_risk": {
												"description": "Maximum merge risk for approval | Override the global merge-risk limit for matching pull requests. Omit to inherit the global limit.",
												"type": "string",
												"enum": [
													"minimal",
													"low",
													"moderate",
													"high",
													"critical"
												]
											},
											"max_security_risk": {
												"description": "Maximum security risk for approval | Override the global security-risk limit for matching pull requests. Omit to inherit the global limit. Security risk assessments require the Advanced plan or above.",
												"type": "string",
												"enum": [
													"minimal",
													"low",
													"moderate",
													"high",
													"critical"
												]
											}
										},
										"additionalProperties": false
									}
								},
								"override_requested_reviewers_only": {
									"default": false,
									"type": "boolean"
								}
							},
							"additionalProperties": false
						},
						"merge_risk_instructions": {
							"description": "Merge Risk Instructions | Describe what makes a pull request more or less risky to merge in this codebase. CodeRabbit uses this when rating merge risk, which `auto_approvals.max_merge_risk` can limit for automatic approval. Up to 3000 characters. Example: `Database migrations and billing changes are high risk. Docs-only and test-only changes are low risk.`",
							"type": "string",
							"maxLength": 3000
						},
						"security_risk_instructions": {
							"description": "Security Risk Instructions | Describe facts about your system that affect security risk, such as which services are internet-facing, where tenant isolation is enforced, or which controls protect a path. CodeRabbit uses this when rating security architecture risk, which `auto_approvals.max_security_risk` can limit for automatic approval. Security risk assessments require the Advanced plan or above. Unlike Security scan context, which guides security findings in reviews and scans, this only affects the risk rating. Up to 3000 characters. Example: `The admin service is reachable only over the corporate VPN. Changes to tenant isolation in packages/tenancy are high risk.`",
							"type": "string",
							"maxLength": 3000
						},
						"request_changes_workflow": {
							"deprecated": true,
							"x-undocumented": true,
							"type": "boolean"
						},
						"allow_author_approval": {
							"deprecated": true,
							"x-undocumented": true,
							"type": "boolean"
						},
						"status": {
							"default": {
								"progress_updates": true,
								"legacy_commit_status": true,
								"fail_on_error": false
							},
							"type": "object",
							"properties": {
								"progress_updates": {
									"default": true,
									"type": "boolean"
								},
								"legacy_commit_status": {
									"default": true,
									"type": "boolean"
								},
								"fail_on_error": {
									"default": false,
									"type": "boolean"
								}
							},
							"additionalProperties": false
						}
					},
					"additionalProperties": false
				},
				"auto_review": {
					"default": {
						"enabled": true,
						"description_keyword": "",
						"incremental_review": true,
						"pause_after_reviewed_commits": 5,
						"labels": [],
						"drafts": false,
						"base_branches": []
					},
					"type": "object",
					"properties": {
						"enabled": {
							"default": true,
							"description": "Automatic Review | Review PRs automatically.",
							"type": "boolean"
						},
						"description_keyword": {
							"default": "",
							"description": "Keyword in the PR description that triggers a review when automatic reviews are disabled. If `enabled` is false and this field is not empty, CodeRabbit reviews the PR only when this keyword is present in the description.",
							"type": "string"
						},
						"incremental_review": {
							"default": true,
							"description": "Incremental Review | Re-run the review on each push.",
							"type": "boolean"
						},
						"pause_after_reviewed_commits": {
							"default": 5,
							"description": "Auto Pause After Reviewed Commits | Pause automatic reviews after this many reviewed commits since the last pause. Set to 0 to disable.",
							"type": "integer",
							"minimum": 0,
							"maximum": 9007199254740991
						},
						"labels": {
							"default": [],
							"description": "Labels that control which PRs are reviewed. Labels starting with '!' are negative matches. Examples: ['bug', 'feature'] reviews PRs with either label. ['!wip'] reviews all PRs except those labeled 'wip' when automatic reviews are enabled. ['bug', '!wip'] reviews PRs labeled 'bug' but not 'wip'. When `enabled` is false, a positive label match (for example ['review-ready']) triggers a review; negative-only labels such as ['!wip'] remain exclusion filters and do not opt PRs in by themselves.",
							"type": "array",
							"items": {
								"type": "string"
							}
						},
						"drafts": {
							"default": false,
							"description": "Include draft PRs.",
							"type": "boolean"
						},
						"base_branches": {
							"default": [],
							"description": "Base branches (other than the default branch) to review. Accepts regex patterns. Use '.*' to match all branches.",
							"type": "array",
							"items": {
								"type": "string"
							}
						}
					},
					"additionalProperties": false
				},
				"output": {
					"default": {
						"summary": {
							"placement": "description",
							"placeholder": "@coderabbitai summary",
							"instructions": ""
						},
						"walkthrough": {
							"collapse": true,
							"review_status": true,
							"review_info": true,
							"review_details": false,
							"changed_files_summary": true,
							"related_issues": true,
							"related_prs": true
						},
						"chat": {
							"allow_non_org_members": true
						},
						"metadata": {
							"labels": {
								"mode": "suggest",
								"instructions": [],
								"mutually_exclusive_groups": {}
							},
							"reviewers": {
								"mode": "suggest",
								"instructions": []
							}
						}
					},
					"type": "object",
					"properties": {
						"summary": {
							"default": {
								"placement": "description",
								"placeholder": "@coderabbitai summary",
								"instructions": ""
							},
							"type": "object",
							"properties": {
								"placement": {
									"default": "description",
									"type": "string",
									"enum": ["off", "description", "walkthrough"]
								},
								"placeholder": {
									"default": "@coderabbitai summary",
									"type": "string"
								},
								"instructions": {
									"default": "",
									"type": "string"
								}
							},
							"additionalProperties": false
						},
						"walkthrough": {
							"default": {
								"collapse": true,
								"review_status": true,
								"review_info": true,
								"review_details": false,
								"changed_files_summary": true,
								"related_issues": true,
								"related_prs": true
							},
							"type": "object",
							"properties": {
								"collapse": {
									"default": true,
									"type": "boolean"
								},
								"review_status": {
									"default": true,
									"type": "boolean"
								},
								"review_info": {
									"default": true,
									"type": "boolean"
								},
								"review_details": {
									"default": false,
									"type": "boolean"
								},
								"changed_files_summary": {
									"default": true,
									"type": "boolean"
								},
								"related_issues": {
									"default": true,
									"type": "boolean"
								},
								"related_prs": {
									"default": true,
									"type": "boolean"
								}
							},
							"additionalProperties": false
						},
						"chat": {
							"default": {
								"allow_non_org_members": true
							},
							"type": "object",
							"properties": {
								"allow_non_org_members": {
									"default": true,
									"type": "boolean"
								}
							},
							"additionalProperties": false
						},
						"metadata": {
							"default": {
								"labels": {
									"mode": "suggest",
									"instructions": [],
									"mutually_exclusive_groups": {}
								},
								"reviewers": {
									"mode": "suggest",
									"instructions": []
								}
							},
							"type": "object",
							"properties": {
								"labels": {
									"default": {
										"mode": "suggest",
										"instructions": [],
										"mutually_exclusive_groups": {}
									},
									"type": "object",
									"properties": {
										"mode": {
											"default": "suggest",
											"type": "string",
											"enum": ["off", "suggest", "apply"]
										},
										"instructions": {
											"default": [],
											"type": "array",
											"items": {
												"type": "object",
												"properties": {
													"label": {
														"type": "string",
														"minLength": 1
													},
													"instructions": {
														"type": "string",
														"maxLength": 3000,
														"description": "Instructions describing when the label applies."
													}
												},
												"required": ["label", "instructions"],
												"additionalProperties": false
											}
										},
										"mutually_exclusive_groups": {
											"default": {},
											"type": "object",
											"propertyNames": {
												"type": "string",
												"minLength": 1
											},
											"additionalProperties": {
												"minItems": 2,
												"type": "array",
												"items": {
													"type": "string",
													"minLength": 1
												}
											}
										}
									},
									"additionalProperties": false
								},
								"reviewers": {
									"default": {
										"mode": "suggest",
										"instructions": []
									},
									"type": "object",
									"properties": {
										"mode": {
											"default": "suggest",
											"type": "string",
											"enum": ["off", "suggest", "apply"]
										},
										"instructions": {
											"default": [],
											"type": "array",
											"items": {
												"type": "object",
												"properties": {
													"reviewers": {
														"minItems": 1,
														"type": "array",
														"items": {
															"type": "object",
															"properties": {
																"handle": {
																	"type": "string",
																	"minLength": 1
																},
																"type": {
																	"default": "user",
																	"type": "string",
																	"enum": ["user", "group"]
																}
															},
															"required": ["handle"],
															"additionalProperties": false
														}
													},
													"instructions": {
														"type": "string",
														"minLength": 1,
														"maxLength": 3000
													}
												},
												"required": ["reviewers", "instructions"],
												"additionalProperties": false
											}
										}
									},
									"additionalProperties": false
								}
							},
							"additionalProperties": false
						}
					},
					"additionalProperties": false
				},
				"tools": {
					"default": {},
					"type": "object",
					"properties": {
						"ast-grep": {
							"description": "Enable ast-grep | ast-grep is a code analysis tool that helps you to find patterns in your codebase using abstract syntax trees patterns. | v0.51.1",
							"default": {},
							"type": "object",
							"properties": {
								"enabled": {
									"default": true,
									"description": "Enable ast-grep | ast-grep is a code analysis tool that helps you to find patterns in your codebase using abstract syntax trees patterns. | v0.51.1",
									"type": "boolean"
								},
								"rule_dirs": {
									"default": [],
									"description": "List of rules directories.",
									"type": "array",
									"items": {
										"type": "string"
									}
								},
								"util_dirs": {
									"default": [],
									"description": "List of utils directories.",
									"type": "array",
									"items": {
										"type": "string"
									}
								},
								"essential_rules": {
									"default": true,
									"description": "Use ast-grep essentials package.",
									"type": "boolean"
								},
								"packages": {
									"default": [],
									"description": "Predefined packages to be used.",
									"type": "array",
									"items": {
										"type": "string"
									}
								}
							},
							"additionalProperties": false
						},
						"shellcheck": {
							"description": "ShellCheck is a static analysis tool that finds bugs in your shell scripts.",
							"default": {},
							"type": "object",
							"properties": {
								"enabled": {
									"default": true,
									"description": "Enable ShellCheck | ShellCheck is a static analysis tool that finds bugs in your shell. | Enable ShellCheck integration. | v0.11.0",
									"type": "boolean"
								}
							},
							"additionalProperties": false
						},
						"ruff": {
							"description": "Ruff is a Python linter and code formatter.",
							"default": {},
							"type": "object",
							"properties": {
								"enabled": {
									"default": true,
									"description": "Enable Ruff | Ruff is a Python linter and code formatter. |  Enable Ruff integration. | v0.17.3",
									"type": "boolean"
								},
								"config_file": {
									"description": "Optional path to a Ruff configuration file relative to the repository. When set, this configuration is used for every reviewed file instead of Ruff's closest-config discovery.",
									"type": "string"
								}
							},
							"additionalProperties": false
						},
						"markdownlint": {
							"description": "markdownlint-cli2 is a static analysis tool to enforce standards and consistency for Markdown files.",
							"default": {},
							"type": "object",
							"properties": {
								"enabled": {
									"default": true,
									"description": "Enable markdownlint | markdownlint-cli2 is a static analysis tool to enforce standards and consistency for Markdown files. | Enable markdownlint integration. | v0.24.0",
									"type": "boolean"
								}
							},
							"additionalProperties": false
						},
						"github-checks": {
							"description": "GitHub Checks integration configuration.",
							"default": {},
							"type": "object",
							"properties": {
								"enabled": {
									"default": true,
									"description": "Enable GitHub Checks\n\t\t\t| Enable integration, defaults to true\n\t\t\t| Enable GitHub Checks integration.",
									"type": "boolean"
								}
							},
							"additionalProperties": false
						},
						"languagetool": {
							"description": "LanguageTool is a style and grammar checker for 30+ languages.",
							"default": {},
							"type": "object",
							"properties": {
								"enabled": {
									"default": true,
									"description": "Enable LanguageTool | Enable LanguageTool integration.",
									"type": "boolean"
								},
								"enabled_rules": {
									"default": [],
									"description": "IDs of rules to be enabled. The rule won't run unless 'level' is set to a level that activates the rule.",
									"type": "array",
									"items": {
										"type": "string"
									}
								},
								"disabled_rules": {
									"default": [],
									"description": "IDs of rules to be disabled. Note: EN_UNPAIRED_BRACKETS, and EN_UNPAIRED_QUOTES are always disabled.",
									"type": "array",
									"items": {
										"type": "string"
									}
								},
								"enabled_categories": {
									"default": [],
									"description": "IDs of categories to be enabled.",
									"type": "array",
									"items": {
										"type": "string"
									}
								},
								"disabled_categories": {
									"default": [],
									"description": "IDs of categories to be disabled. Note: TYPOS, TYPOGRAPHY, and CASING are always disabled.",
									"type": "array",
									"items": {
										"type": "string"
									}
								},
								"enabled_only": {
									"default": false,
									"description": "Only the rules and categories whose IDs are specified with 'enabledRules' or 'enabledCategories' are enabled.",
									"type": "boolean"
								},
								"level": {
									"default": "default",
									"description": "If set to 'picky', additional rules will be activated, i.e. rules that you might only find useful when checking formal text.",
									"type": "string",
									"enum": ["default", "picky"]
								}
							},
							"additionalProperties": false
						},
						"biome": {
							"description": "Biome is a fast formatter, linter, and analyzer for web projects.",
							"default": {},
							"type": "object",
							"properties": {
								"enabled": {
									"default": true,
									"description": "Enable Biome | Biome is a fast formatter, linter, and analyzer for web projects. | Enable Biome integration. | v2.6.3",
									"type": "boolean"
								}
							},
							"additionalProperties": false
						},
						"hadolint": {
							"description": "Hadolint is a Dockerfile linter.",
							"default": {},
							"type": "object",
							"properties": {
								"enabled": {
									"default": true,
									"description": "Enable Hadolint | Hadolint is a Dockerfile linter. | Enable Hadolint integration. | v2.15.1",
									"type": "boolean"
								}
							},
							"additionalProperties": false
						},
						"swiftlint": {
							"description": "SwiftLint integration configuration object.",
							"default": {},
							"type": "object",
							"properties": {
								"enabled": {
									"default": true,
									"description": "Enable SwiftLint | SwiftLint is a Swift linter. | Enable SwiftLint integration. | v0.65.1",
									"type": "boolean"
								},
								"config_file": {
									"description": "Optional path to the SwiftLint configuration file relative to the repository. This is useful when the configuration file is named differently than the default '.swiftlint.yml' or '.swiftlint.yaml'.",
									"type": "string"
								}
							},
							"additionalProperties": false
						},
						"phpstan": {
							"description": "PHPStan is a tool to analyze PHP code.",
							"default": {},
							"type": "object",
							"properties": {
								"enabled": {
									"default": true,
									"description": "Enable PHPStan | PHPStan requires [config file](https://phpstan.org/config-reference#config-file) in your repository root. Please ensure that this file contains the `paths:` parameter. | v2.3.3",
									"type": "boolean"
								},
								"level": {
									"default": "default",
									"description": "Level | Specify the [rule level](https://phpstan.org/user-guide/rule-levels) to run. When set to `default`, the level is determined by the review profile: `chill` uses level 3 (real bugs only — return/property type mismatches, array offset errors) and `assertive` uses level 8 (adds dead code detection, argument type checking, null safety, and typehint checks). This setting is ignored if your configuration file already has a `level:` parameter.",
									"type": "string",
									"enum": [
										"0",
										"1",
										"2",
										"3",
										"4",
										"5",
										"6",
										"7",
										"8",
										"9",
										"default",
										"max"
									]
								}
							},
							"additionalProperties": false
						},
						"phpmd": {
							"description": "PHPMD is a tool to find potential problems in PHP code.",
							"default": {},
							"type": "object",
							"properties": {
								"enabled": {
									"default": true,
									"description": "Enable PHPMD | PHPMD is a tool to find potential problems in PHP code. | v3.0.0",
									"type": "boolean"
								}
							},
							"additionalProperties": false
						},
						"phpcs": {
							"description": "PHP CodeSniffer is a PHP linter and coding standard checker.",
							"default": {},
							"type": "object",
							"properties": {
								"enabled": {
									"default": true,
									"description": "Enable PHP CodeSniffer | PHP CodeSniffer is a PHP linter and coding standard checker. | v3.13.6",
									"type": "boolean"
								}
							},
							"additionalProperties": false
						},
						"golangci-lint": {
							"description": "golangci-lint is a fast linters runner for Go.",
							"default": {},
							"type": "object",
							"properties": {
								"enabled": {
									"default": true,
									"description": "Enable golangci-lint | golangci-lint is a fast linters runner for Go. | Enable golangci-lint integration. | v2.15.0",
									"type": "boolean"
								},
								"config_file": {
									"description": "Optional path to the golangci-lint configuration file relative to the repository. Useful when the configuration file is named differently than the default '.golangci.yml', '.golangci.yaml', '.golangci.toml', '.golangci.json'.",
									"type": "string"
								}
							},
							"additionalProperties": false
						},
						"yamllint": {
							"description": "YAMLlint is a linter for YAML files.",
							"default": {},
							"type": "object",
							"properties": {
								"enabled": {
									"default": true,
									"description": "Enable YAMLlint | YAMLlint is a linter for YAML files. | Enable YAMLlint integration. | v1.37.1",
									"type": "boolean"
								}
							},
							"additionalProperties": false
						},
						"gitleaks": {
							"description": "Betterleaks is a secret scanner (an improved version of Gitleaks).",
							"default": {},
							"type": "object",
							"properties": {
								"enabled": {
									"default": true,
									"description": "Enable Betterleaks | Betterleaks is a secret scanner (an improved version of Gitleaks). | Enable Betterleaks integration. | v1.9.0",
									"type": "boolean"
								}
							},
							"additionalProperties": false
						},
						"trufflehog": {
							"description": "TruffleHog is a secret scanner with verification capabilities that can detect and verify secrets in code.",
							"default": {},
							"type": "object",
							"properties": {
								"enabled": {
									"default": true,
									"description": "Enable TruffleHog | TruffleHog is a secret scanner with verification capabilities. | Enable TruffleHog integration. | v3.99.8",
									"type": "boolean"
								}
							},
							"additionalProperties": false
						},
						"checkov": {
							"description": "Checkov is a static code analysis tool for infrastructure-as-code files.",
							"default": {},
							"type": "object",
							"properties": {
								"enabled": {
									"default": true,
									"description": "Enable Checkov | Checkov is a static code analysis tool for infrastructure-as-code files. | v3.3.30",
									"type": "boolean"
								}
							},
							"additionalProperties": false
						},
						"tflint": {
							"description": "TFLint is a Terraform linter for finding potential errors and enforcing best practices.",
							"default": {},
							"type": "object",
							"properties": {
								"enabled": {
									"default": true,
									"description": "Enable TFLint | TFLint is a Terraform linter for finding potential errors. | v0.66.0",
									"type": "boolean"
								}
							},
							"additionalProperties": false
						},
						"detekt": {
							"description": "Detekt is a static code analysis tool for Kotlin files.",
							"default": {},
							"type": "object",
							"properties": {
								"enabled": {
									"default": true,
									"description": "Enable detekt | detekt is a static code analysis tool for Kotlin files. | v1.23.8",
									"type": "boolean"
								},
								"config_file": {
									"description": "Optional path to the detekt configuration file relative to the repository.",
									"type": "string"
								}
							},
							"additionalProperties": false
						},
						"eslint": {
							"description": "ESLint is a static code analysis tool for JavaScript files.",
							"default": {},
							"type": "object",
							"properties": {
								"enabled": {
									"default": true,
									"description": "Enable ESLint | ESLint is a static code analysis tool for JavaScript files.",
									"type": "boolean"
								},
								"config_file": {
									"description": "Optional path to an ESLint configuration file relative to the repository. When set, this configuration is used for every file instead of discovering ESLint configurations recursively.",
									"type": "string"
								},
								"e18e": {
									"description": "@e18e/eslint-plugin modernization, performance, and dependency replacement checks.",
									"default": {},
									"type": "object",
									"properties": {
										"enabled": {
											"default": true,
											"description": "Enable @e18e/eslint-plugin | Detects dependencies with modern replacements, flags unmaintained packages, and suggests native API alternatives or lighter replacements | v0.8.1",
											"type": "boolean"
										}
									},
									"additionalProperties": false
								}
							},
							"additionalProperties": false
						},
						"flake8": {
							"description": "Flake8 is a Python linter that wraps PyFlakes, pycodestyle and Ned Batchelder's McCabe script.",
							"default": {},
							"type": "object",
							"properties": {
								"enabled": {
									"default": true,
									"description": "Enable Flake8 | Flake8 is a Python linter that wraps PyFlakes, pycodestyle and Ned Batchelder's McCabe script. | v7.4.1",
									"type": "boolean"
								}
							},
							"additionalProperties": false
						},
						"fbinfer": {
							"description": "Configuration for Infer to find bugs in Java and C/C++ code",
							"default": {},
							"type": "object",
							"properties": {
								"enabled": {
									"default": true,
									"description": "Enable Infer for static bug analysis in Java and C/C++ code | v1.3.0",
									"type": "boolean"
								},
								"enable_java": {
									"default": false,
									"description": "Enable Java analysis | Disabled by default because Java analysis may require compiling more than the changed files.",
									"type": "boolean"
								}
							},
							"additionalProperties": false
						},
						"fortitudeLint": {
							"description": "Fortitude is a Fortran linter that checks for code quality and style issues.",
							"default": {},
							"type": "object",
							"properties": {
								"enabled": {
									"default": true,
									"description": "Enable Fortitude | Fortitude is a Fortran linter that checks for code quality and style issues | v0.10.0",
									"type": "boolean"
								}
							},
							"additionalProperties": false
						},
						"rubocop": {
							"description": "RuboCop is a Ruby static code analyzer (a.k.a. linter ) and code formatter.",
							"default": {},
							"type": "object",
							"properties": {
								"enabled": {
									"default": true,
									"description": "Enable RuboCop | RuboCop is a Ruby static code analyzer (a.k.a. linter ) and code formatter. | v1.92.1",
									"type": "boolean"
								}
							},
							"additionalProperties": false
						},
						"buf": {
							"description": "Buf offers linting for Protobuf files.",
							"default": {},
							"type": "object",
							"properties": {
								"enabled": {
									"default": true,
									"description": "Enable Buf | Buf offers linting for Protobuf files. | v1.74.0",
									"type": "boolean"
								}
							},
							"additionalProperties": false
						},
						"regal": {
							"description": "Regal is a linter and language server for Rego.",
							"default": {},
							"type": "object",
							"properties": {
								"enabled": {
									"default": true,
									"description": "Enable Regal | Regal is a linter and language server for Rego. | v0.43.0",
									"type": "boolean"
								}
							},
							"additionalProperties": false
						},
						"actionlint": {
							"description": "actionlint is a static checker for GitHub Actions workflow files.",
							"default": {},
							"type": "object",
							"properties": {
								"enabled": {
									"default": true,
									"description": "Enable actionlint | actionlint is a static checker for GitHub Actions workflow files. | v1.7.12",
									"type": "boolean"
								}
							},
							"additionalProperties": false
						},
						"zizmor": {
							"description": "zizmor is a static security analyzer for GitHub Actions workflow files.",
							"default": {},
							"type": "object",
							"properties": {
								"enabled": {
									"default": true,
									"description": "Enable zizmor | zizmor is a static security analyzer for GitHub Actions workflow files. | v1.31.1",
									"type": "boolean"
								}
							},
							"additionalProperties": false
						},
						"pmd": {
							"description": "PMD is an extensible multilanguage static code analyzer. It’s mainly concerned with Java.",
							"default": {},
							"type": "object",
							"properties": {
								"enabled": {
									"default": true,
									"description": "Enable PMD | PMD is an extensible multilanguage static code analyzer. It’s mainly concerned with Java. | v7.28.0",
									"type": "boolean"
								},
								"config_file": {
									"description": "Optional path to the PMD configuration file relative to the repository.",
									"type": "string"
								}
							},
							"additionalProperties": false
						},
						"clang": {
							"description": "Configuration for Clang to perform static analysis on C and C++ code",
							"default": {},
							"type": "object",
							"properties": {
								"enabled": {
									"default": true,
									"description": "Enable Clang for C/C++ static analysis and code quality checks | v23.1.4",
									"type": "boolean"
								}
							},
							"additionalProperties": false
						},
						"cppcheck": {
							"description": "Cppcheck is a static code analysis tool for the C and C++ programming languages.",
							"default": {},
							"type": "object",
							"properties": {
								"enabled": {
									"default": true,
									"description": "Enable Cppcheck | Cppcheck is a static code analysis tool for the C and C++ programming languages. | v2.22.0",
									"type": "boolean"
								}
							},
							"additionalProperties": false
						},
						"vale": {
							"description": "Vale lints prose using the repository's checked-in style rules.",
							"default": {},
							"type": "object",
							"properties": {
								"enabled": {
									"default": true,
									"description": "Enable Vale | Vale checks prose against repository-defined editorial style rules. It runs only when a supported root Vale configuration is present. | v3.24.0",
									"type": "boolean"
								}
							},
							"additionalProperties": false
						},
						"verilator": {
							"description": "Verilator statically analyzes Verilog and SystemVerilog source files.",
							"default": {},
							"type": "object",
							"properties": {
								"enabled": {
									"default": true,
									"description": "Enable Verilator | Verilator lints Verilog and SystemVerilog for syntax, width, connectivity, and behavioral correctness issues. | v5.052",
									"type": "boolean"
								}
							},
							"additionalProperties": false
						},
						"opengrep": {
							"description": "OpenGrep is a high-performance static code analysis engine, compatible with Semgrep configurations.",
							"default": {},
							"type": "object",
							"properties": {
								"enabled": {
									"default": true,
									"description": "Enable OpenGrep | OpenGrep is a high-performance static code analysis engine for finding security vulnerabilities and bugs across 17+ languages. | v1.33.0",
									"type": "boolean"
								}
							},
							"additionalProperties": false
						},
						"semgrep": {
							"description": "Semgrep is a static analysis tool designed to scan code for security vulnerabilities and code quality issues.",
							"default": {},
							"type": "object",
							"properties": {
								"enabled": {
									"default": true,
									"description": "Enable Semgrep | Semgrep is a static analysis tool designed to scan code for security vulnerabilities and code quality issues. | Enable Semgrep integration. | v1.183.0",
									"type": "boolean"
								},
								"config_file": {
									"description": "Optional path to the Semgrep configuration file relative to the repository.",
									"type": "string"
								}
							},
							"additionalProperties": false
						},
						"circleci": {
							"description": "CircleCI tool is a static checker for CircleCI config files.",
							"default": {},
							"type": "object",
							"properties": {
								"enabled": {
									"default": true,
									"description": "Enable CircleCI | CircleCI tool is a static checker for CircleCI config files. | v1.9.0",
									"type": "boolean"
								}
							},
							"additionalProperties": false
						},
						"clippy": {
							"description": "Clippy is a collection of lints to catch common mistakes and improve your Rust code.",
							"default": {},
							"type": "object",
							"properties": {
								"enabled": {
									"default": true,
									"description": "Enable Clippy | Clippy is a collection of lints to catch common mistakes and improve your Rust code. | Enable Clippy integration.",
									"type": "boolean"
								}
							},
							"additionalProperties": false
						},
						"sqlfluff": {
							"description": "SQLFluff is an open source, dialect-flexible and configurable SQL linter.",
							"default": {},
							"type": "object",
							"properties": {
								"enabled": {
									"default": true,
									"description": "Enable SQLFluff | SQLFluff is an open source, dialect-flexible and configurable SQL linter. | v4.4.0",
									"type": "boolean"
								},
								"config_file": {
									"description": "Optional path to the SQLFluff configuration file relative to the repository. Use this when the config file is not named one of SQLFluff's default filenames.",
									"type": "string"
								}
							},
							"additionalProperties": false
						},
						"squawk": {
							"description": "Configuration for Squawk to lint Postgres migrations and SQL for safe schema changes",
							"default": {},
							"type": "object",
							"properties": {
								"enabled": {
									"default": true,
									"description": "Enable Squawk for Postgres migration linting | Detects unsafe schema changes that can cause downtime or blocking locks | v2.70.0",
									"type": "boolean"
								}
							},
							"additionalProperties": false
						},
						"trivy": {
							"description": "Trivy is a comprehensive security scanner that detects misconfigurations and secrets in Infrastructure as Code files",
							"default": {},
							"type": "object",
							"properties": {
								"enabled": {
									"default": true,
									"description": "Enable Trivy for security scanning of IaC files (Terraform, Kubernetes, Docker, etc.) | v0.76.2",
									"type": "boolean"
								}
							},
							"additionalProperties": false
						},
						"prismaLint": {
							"description": "Configuration for Prisma Schema linting to ensure schema file quality",
							"default": {},
							"type": "object",
							"properties": {
								"enabled": {
									"default": true,
									"description": "Enable Prisma Schema linting | Prisma Schema linting helps maintain consistent and error-free schema files | v0.13.1",
									"type": "boolean"
								}
							},
							"additionalProperties": false
						},
						"pylint": {
							"description": "Pylint is a Python static code analysis tool.",
							"default": {},
							"type": "object",
							"properties": {
								"enabled": {
									"default": true,
									"description": "Enable Pylint | Pylint is a Python static code analysis tool. | v4.1.3",
									"type": "boolean"
								}
							},
							"additionalProperties": false
						},
						"oxc": {
							"description": "Oxlint is a JavaScript/TypeScript linter for OXC written in Rust.",
							"default": {},
							"type": "object",
							"properties": {
								"enabled": {
									"default": true,
									"description": "Enable Oxlint | Oxlint is a JavaScript/TypeScript linter for OXC written in Rust. | v1.89.0",
									"type": "boolean"
								}
							},
							"additionalProperties": false
						},
						"shopifyThemeCheck": {
							"description": "Configuration for Shopify Theme Check to ensure theme quality and best practices",
							"default": {},
							"type": "object",
							"properties": {
								"enabled": {
									"default": true,
									"description": "Enable Shopify Theme Check | A linter for Shopify themes that helps you follow Shopify theme & Liquid best practices | cli 5.0.0 | theme 3.58.2",
									"type": "boolean"
								}
							},
							"additionalProperties": false
						},
						"luacheck": {
							"description": "Configuration for Lua code linting to ensure code quality",
							"default": {},
							"type": "object",
							"properties": {
								"enabled": {
									"default": true,
									"description": "Enable Lua code linting | Luacheck helps maintain consistent and error-free Lua code | v1.2.0",
									"type": "boolean"
								}
							},
							"additionalProperties": false
						},
						"brakeman": {
							"description": "Brakeman is a static analysis security vulnerability scanner for Ruby on Rails applications. | v8.1.0",
							"default": {},
							"type": "object",
							"properties": {
								"enabled": {
									"default": true,
									"description": "Enable Brakeman | Brakeman is a static analysis security vulnerability scanner for Ruby on Rails applications. | v8.1.0",
									"type": "boolean"
								}
							},
							"additionalProperties": false
						},
						"dotenvLint": {
							"description": "dotenv-linter is a tool for checking and fixing .env files for problems and best practices",
							"default": {},
							"type": "object",
							"properties": {
								"enabled": {
									"default": true,
									"description": "Enable dotenv-linter | dotenv-linter is a tool for checking and fixing .env files for problems and best practices | v4.0.0",
									"type": "boolean"
								}
							},
							"additionalProperties": false
						},
						"htmlhint": {
							"default": {},
							"type": "object",
							"properties": {
								"enabled": {
									"default": true,
									"description": "Enable HTMLHint | HTMLHint is a static code analysis tool for HTML files. | Enable HTMLHint integration. | v1.9.2",
									"type": "boolean"
								}
							},
							"additionalProperties": false,
							"description": "HTMLHint is a static code analysis tool for HTML files."
						},
						"stylelint": {
							"default": {},
							"type": "object",
							"properties": {
								"enabled": {
									"default": true,
									"description": "Enable Stylelint | Stylelint is a linter for stylesheets (CSS, SCSS, Sass, Less, SugarSS, Stylus) that helps avoid errors and enforce conventions. | Enable Stylelint integration. | v17.14.0",
									"type": "boolean"
								}
							},
							"additionalProperties": false,
							"description": "Stylelint is a linter for stylesheets (CSS, SCSS, Sass, Less, SugarSS, Stylus) that helps avoid errors and enforce conventions."
						},
						"checkmake": {
							"description": "checkmake is a linter for Makefiles.",
							"default": {},
							"type": "object",
							"properties": {
								"enabled": {
									"default": true,
									"description": "Enable checkmake | checkmake is a linter for Makefiles. | v0.3.2",
									"type": "boolean"
								}
							},
							"additionalProperties": false
						},
						"osvScanner": {
							"description": "OSV Scanner is a tool for vulnerability package scanning.",
							"default": {},
							"type": "object",
							"properties": {
								"enabled": {
									"default": true,
									"description": "Enable OSV Scanner | OSV Scanner is a tool for vulnerability package scanning | v2.7.0",
									"type": "boolean"
								}
							},
							"additionalProperties": false
						},
						"oasdiff": {
							"description": "oasdiff detects breaking changes between OpenAPI specifications.",
							"default": {},
							"type": "object",
							"properties": {
								"enabled": {
									"default": true,
									"description": "Enable oasdiff | oasdiff detects breaking changes between OpenAPI specifications. | v1.34.0",
									"type": "boolean"
								}
							},
							"additionalProperties": false
						},
						"reactDoctor": {
							"description": "React Doctor scans React codebases for security, performance, correctness, and accessibility issues.",
							"default": {},
							"type": "object",
							"properties": {
								"enabled": {
									"default": true,
									"description": "Enable React Doctor | React Doctor scans React codebases for security, performance, correctness, and accessibility issues. | v0.9.18",
									"type": "boolean"
								}
							},
							"additionalProperties": false
						},
						"presidio": {
							"description": "Microsoft Presidio Analyzer 2.2.366 detects sensitive identifiers (including payment cards, US SSN, cryptocurrency wallets, and phone numbers) in changed files. Tune entities, thresholds, and languages in repository Presidio configuration (for example .presidiocli or AnalyzerEngineProvider YAML); the built-in scan uses fixed defaults and is skipped when that configuration is present.",
							"default": {},
							"type": "object",
							"properties": {
								"enabled": {
									"default": true,
									"description": "Enable Microsoft Presidio Analyzer for high-signal PII in changed files | v2.2.366",
									"type": "boolean"
								}
							},
							"additionalProperties": false
						},
						"blinter": {
							"description": "Blinter is a linter for Windows batch files that provides comprehensive static analysis to identify syntax errors, security vulnerabilities, performance issues, and style problems.",
							"default": {},
							"type": "object",
							"properties": {
								"enabled": {
									"default": true,
									"description": "Enable Blinter | Blinter is a linter for Windows batch files that provides comprehensive static analysis to identify syntax errors, security vulnerabilities, performance issues, and style problems. | v1.1.49",
									"type": "boolean"
								}
							},
							"additionalProperties": false
						},
						"smartyLint": {
							"description": "smarty-lint is a linter for Smarty 3 template files that checks for common issues such as incorrect operator usage, naming conventions, empty blocks, and unquoted strings.",
							"default": {},
							"type": "object",
							"properties": {
								"enabled": {
									"default": true,
									"description": "Enable smarty-lint | smarty-lint is a linter for Smarty 3 template files that checks for common issues such as incorrect operator usage, naming conventions, empty blocks, and unquoted strings. | v0.3.3",
									"type": "boolean"
								}
							},
							"additionalProperties": false
						},
						"emberTemplateLint": {
							"description": "ember-template-lint is a linter for Handlebars template files that checks for common issues such as accessibility violations, deprecated patterns, and template anti-patterns.",
							"default": {},
							"type": "object",
							"properties": {
								"enabled": {
									"default": true,
									"description": "Enable ember-template-lint | ember-template-lint is a linter for Handlebars template files that checks for common issues such as accessibility violations, deprecated patterns, and template anti-patterns. | v7.9.4",
									"type": "boolean"
								}
							},
							"additionalProperties": false
						},
						"skillspector": {
							"description": "SkillSpector is a security scanner for AI agent skills that detects vulnerabilities, malicious patterns, and security risks",
							"default": {},
							"type": "object",
							"properties": {
								"enabled": {
									"default": true,
									"description": "Enable SkillSpector | SkillSpector is a security scanner for AI agent skills. It detects vulnerabilities, malicious patterns, and security risks in SKILL.md manifests and MCP configurations. | v2.12.0",
									"type": "boolean"
								}
							},
							"additionalProperties": false
						},
						"psscriptanalyzer": {
							"description": "PSScriptAnalyzer is a static code checker for PowerShell scripts and modules.",
							"default": {},
							"type": "object",
							"properties": {
								"enabled": {
									"default": true,
									"description": "Enable PSScriptAnalyzer | PSScriptAnalyzer is a static code checker for PowerShell scripts and modules. | v1.25.0",
									"type": "boolean"
								}
							},
							"additionalProperties": false
						}
					},
					"additionalProperties": false,
					"description": "Tools that provide additional context to code reviews."
				}
			},
			"additionalProperties": false
		},
		"fun": {
			"default": {
				"tone_instructions": "",
				"in_progress_fortune": false,
				"art": false
			},
			"type": "object",
			"properties": {
				"tone_instructions": {
					"default": "",
					"type": "string",
					"maxLength": 250
				},
				"in_progress_fortune": {
					"default": false,
					"type": "boolean"
				},
				"art": {
					"default": false,
					"type": "boolean"
				}
			},
			"additionalProperties": false
		}
	},
	"required": ["version"],
	"additionalProperties": false
}
