{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://catalog.lintel.tools/schemas/schemastore/coderabbit/latest.json",
  "x-lintel": {
    "source": "https://coderabbit.ai/integrations/schema.v2.json",
    "sourceSha256": "f17ca0deb3324aefc8653f9a8f7443f07d339b310948c16647b37ca8a46c1671",
    "fileMatch": [
      ".coderabbit.yaml"
    ],
    "parsers": [
      "yaml"
    ]
  },
  "$ref": "#/$defs/schema",
  "$defs": {
    "schema": {
      "type": "object",
      "properties": {
        "language": {
          "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",
            "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"
          ],
          "default": "en-US",
          "description": "Set the language for reviews by using the corresponding ISO language code.",
          "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",
            "Chinese",
            "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"
          ]
        },
        "tone_instructions": {
          "type": "string",
          "maxLength": 250,
          "default": "",
          "description": "Set the tone of reviews and chat. Example: 'You must talk like Mr. T. I pity the fool who doesn't!'"
        },
        "early_access": {
          "type": "boolean",
          "default": false,
          "description": "Enable early-access features."
        },
        "enable_free_tier": {
          "type": "boolean",
          "default": true,
          "description": "Enable free tier features for users not on a paid plan."
        },
        "inheritance": {
          "type": "boolean",
          "default": false,
          "description": "Inheritance | Use parent settings for any values not defined here. Inheritance only propagates upward if enabled at each level."
        },
        "reviews": {
          "type": "object",
          "properties": {
            "profile": {
              "type": "string",
              "enum": [
                "chill",
                "assertive"
              ],
              "default": "chill",
              "description": "Set the review profile: `chill` for lighter feedback, `assertive` for more feedback (which may feel nitpicky)."
            },
            "request_changes_workflow": {
              "type": "boolean",
              "default": false,
              "description": "Automatically approve once CodeRabbit’s comments are resolved and no pre-merge checks are failing. Note: In GitLab, all discussions must be resolved."
            },
            "high_level_summary": {
              "type": "boolean",
              "default": true,
              "description": "Generate a high-level summary of the changes in the PR description or walkthrough."
            },
            "high_level_summary_instructions": {
              "type": "string",
              "default": "",
              "description": "By default, CodeRabbit generates release notes in the description. Use this to customize the summary content and format. Example: 'Create concise release notes as a bullet-point list, followed by a Markdown table showing lines added and removed by each contributing author.' Note: Use `high_level_summary_in_walkthrough` to place the summary in the walkthrough instead of the description."
            },
            "high_level_summary_placeholder": {
              "type": "string",
              "default": "@coderabbitai summary",
              "description": "Placeholder in the PR description that CodeRabbit replaces with the high-level summary. If `high_level_summary` is false, the summary is still generated when this placeholder is present."
            },
            "high_level_summary_in_walkthrough": {
              "type": "boolean",
              "default": false,
              "description": "Include the high-level summary in the walkthrough comment."
            },
            "auto_title_placeholder": {
              "type": "string",
              "default": "@coderabbitai",
              "description": "Add this keyword to the PR title to auto-generate a title."
            },
            "auto_title_instructions": {
              "type": "string",
              "default": "",
              "description": "Auto Title Instructions | Customize how CodeRabbit generates the PR title."
            },
            "review_status": {
              "type": "boolean",
              "default": true,
              "description": "Post review status messages (e.g., when a review is skipped) in the walkthrough summary comment."
            },
            "review_details": {
              "type": "boolean",
              "default": false,
              "description": "Post review details (ignored files, extra context used, suppressed comments, etc.)."
            },
            "commit_status": {
              "type": "boolean",
              "default": true,
              "description": "Set the commit status to 'pending' when the review is in progress and 'success' when it is complete."
            },
            "fail_commit_status": {
              "type": "boolean",
              "default": false,
              "description": "Set the commit status to 'failure' when the PR cannot be reviewed by CodeRabbit for any reason."
            },
            "collapse_walkthrough": {
              "type": "boolean",
              "default": true,
              "description": "Wrap the walkthrough in a Markdown collapsible section."
            },
            "changed_files_summary": {
              "type": "boolean",
              "default": true,
              "description": "Include a summary of the changed files in the walkthrough."
            },
            "sequence_diagrams": {
              "type": "boolean",
              "default": true,
              "description": "Include sequence diagrams in the walkthrough."
            },
            "estimate_code_review_effort": {
              "type": "boolean",
              "default": true,
              "description": "Include an estimated code review effort in the walkthrough."
            },
            "assess_linked_issues": {
              "type": "boolean",
              "default": true,
              "description": "Include an assessment of how well the changes address linked issues in the walkthrough."
            },
            "related_issues": {
              "type": "boolean",
              "default": true,
              "description": "Include potentially related issues in the walkthrough."
            },
            "related_prs": {
              "type": "boolean",
              "default": true,
              "description": "Related PRs | Include potentially related PRs in the walkthrough."
            },
            "suggested_labels": {
              "type": "boolean",
              "default": true,
              "description": "Suggest labels based on the changes, and include them in the walkthrough."
            },
            "labeling_instructions": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "label": {
                    "type": "string",
                    "description": "Label to suggest for the PR. Example: frontend"
                  },
                  "instructions": {
                    "type": "string",
                    "maxLength": 3000,
                    "description": "Instructions for the label. Example: Apply when the PR contains changes to React components."
                  }
                },
                "required": [
                  "label",
                  "instructions"
                ],
                "additionalProperties": false
              },
              "default": [],
              "description": "Labeling Instructions | Define allowed labels and when to suggest them. When provided, CodeRabbit suggests only from this list (still informed by prior PRs); when empty, suggestions rely entirely on prior PRs."
            },
            "auto_apply_labels": {
              "type": "boolean",
              "default": false,
              "description": "Automatically apply suggested labels to the PR."
            },
            "suggested_reviewers": {
              "type": "boolean",
              "default": true,
              "description": "Suggest reviewers based on the changes, and include them in the walkthrough."
            },
            "auto_assign_reviewers": {
              "type": "boolean",
              "default": false,
              "description": "Automatically assign the suggested reviewers to the PR."
            },
            "in_progress_fortune": {
              "type": "boolean",
              "default": true,
              "description": "Post a fortune message while the review is running."
            },
            "poem": {
              "type": "boolean",
              "default": true,
              "description": "Generate a poem in the walkthrough comment."
            },
            "enable_prompt_for_ai_agents": {
              "type": "boolean",
              "default": true,
              "description": "Prompt for AI Agents | Include the '🤖 Prompt for AI Agents' section in inline review comments to provide codegen instructions for AI agents."
            },
            "path_filters": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "default": [],
              "description": "Specify file patterns to include or exclude in a review using glob patterns (e.g., `!dist/**`, `src/**`). These patterns also apply to 'git sparse-checkout', including specified patterns and ignoring excluded ones (starting with '!') when cloning the repository."
            },
            "path_instructions": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "path": {
                    "type": "string",
                    "description": "File path glob pattern. Example: `**/*.js`."
                  },
                  "instructions": {
                    "type": "string",
                    "maxLength": 20000,
                    "description": "Additional review guidance for matching paths."
                  }
                },
                "required": [
                  "path",
                  "instructions"
                ],
                "additionalProperties": false
              },
              "default": [],
              "description": "Path Instructions | Add path-specific guidance for code review."
            },
            "abort_on_close": {
              "type": "boolean",
              "default": true,
              "description": "Abort the in-progress review if the PR is closed or merged."
            },
            "disable_cache": {
              "type": "boolean",
              "default": false,
              "description": "Disable caching of code and dependencies; fetch them fresh on each run."
            },
            "slop_detection": {
              "type": "object",
              "properties": {
                "enabled": {
                  "type": "boolean",
                  "default": true,
                  "description": "Enable or disable slop and low-quality PR detection."
                },
                "label": {
                  "type": "string",
                  "minLength": 1,
                  "description": "Label to apply to the PR when it is classified as slop. Example: slop"
                }
              },
              "description": "Anti-Slop | Settings for detecting and managing spam or low-quality PRs. Only for public repos, only for GitHub as of now.",
              "default": {},
              "additionalProperties": false
            },
            "auto_review": {
              "type": "object",
              "properties": {
                "enabled": {
                  "type": "boolean",
                  "default": true,
                  "description": "Automatic Review | Review PRs automatically."
                },
                "description_keyword": {
                  "type": "string",
                  "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."
                },
                "auto_incremental_review": {
                  "type": "boolean",
                  "default": true,
                  "description": "Incremental Review | Re-run the review on each push."
                },
                "auto_pause_after_reviewed_commits": {
                  "type": "integer",
                  "minimum": 0,
                  "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."
                },
                "ignore_title_keywords": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  },
                  "default": [],
                  "description": "Skip reviews when the PR title contains any of these keywords (case-insensitive)."
                },
                "labels": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  },
                  "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'. ['bug', '!wip'] reviews PRs labeled 'bug' but not 'wip'. This setting also triggers a review when `enabled` is false."
                },
                "drafts": {
                  "type": "boolean",
                  "default": false,
                  "description": "Include draft PRs."
                },
                "base_branches": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  },
                  "default": [],
                  "description": "Base branches (other than the default branch) to review. Accepts regex patterns. Use '.*' to match all branches."
                },
                "ignore_usernames": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  },
                  "default": [],
                  "description": "Skip reviews for PRs authored by these usernames (exact match; not email addresses)."
                }
              },
              "default": {},
              "additionalProperties": false
            },
            "finishing_touches": {
              "type": "object",
              "properties": {
                "docstrings": {
                  "type": "object",
                  "properties": {
                    "enabled": {
                      "type": "boolean",
                      "default": true,
                      "description": "Docstrings | Enable the docstrings finishing touch (trigger via the 📝 Generate docstrings checkbox or `@coderabbitai generate docstrings`). CodeRabbit generates or improves docstrings for functions changed in the PR and opens a follow-up PR containing the docstring edits."
                    }
                  },
                  "description": "Docstrings | Configure docstring generation.",
                  "default": {},
                  "additionalProperties": false
                },
                "unit_tests": {
                  "type": "object",
                  "properties": {
                    "enabled": {
                      "type": "boolean",
                      "default": true,
                      "description": "Unit Tests | Generate unit tests for changes in PRs."
                    }
                  },
                  "description": "Unit Tests | Configure unit test generation.",
                  "default": {},
                  "additionalProperties": false
                },
                "simplify": {
                  "type": "object",
                  "properties": {
                    "enabled": {
                      "type": "boolean",
                      "default": false,
                      "description": "Simplify | Enable the simplify finishing touch (trigger via the ✨ Simplify code checkbox). CodeRabbit reviews changed code for reuse, quality, and efficiency, then applies targeted improvements."
                    }
                  },
                  "description": "Simplify | Configure code simplification.",
                  "default": {},
                  "additionalProperties": false
                },
                "custom": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "enabled": {
                        "type": "boolean",
                        "default": true,
                        "description": "Enabled | Enable this custom finishing touch recipe."
                      },
                      "name": {
                        "type": "string",
                        "maxLength": 100,
                        "minLength": 1,
                        "default": "",
                        "description": "Name | Recipe name used in commands (for example: `@coderabbitai run cleanup stale imports`). Run with `@coderabbitai run <recipe name>`."
                      },
                      "instructions": {
                        "type": "string",
                        "maxLength": 10000,
                        "minLength": 1,
                        "default": "",
                        "description": "Instructions | Describe what this recipe should do. Trigger with `@coderabbitai run <recipe name>` or the checkbox under \"✨ Finishing Touches\". CodeRabbit provides PR context and runs this with an agent."
                      }
                    },
                    "required": [
                      "name",
                      "instructions"
                    ],
                    "additionalProperties": false
                  },
                  "maxItems": 5,
                  "default": [],
                  "description": "Custom Recipes | Define up to 5 custom finishing touch recipes. Trigger a recipe with `@coderabbitai run <recipe name>`."
                }
              },
              "default": {},
              "additionalProperties": false
            },
            "pre_merge_checks": {
              "type": "object",
              "properties": {
                "override_requested_reviewers_only": {
                  "type": "boolean",
                  "default": false,
                  "description": "Override Requested Reviewers Only | When enabled, only requested reviewers (and not the pull request author) can override/ignore failing pre-merge checks."
                },
                "docstrings": {
                  "type": "object",
                  "properties": {
                    "mode": {
                      "type": "string",
                      "enum": [
                        "off",
                        "warning",
                        "error"
                      ],
                      "default": "warning",
                      "description": "Mode | Enforcement level: `off` disables the check, `warning` posts a warning, and `error` requires resolution before merging. If the request-changes workflow is enabled, `error` can block the PR until the check passes."
                    },
                    "threshold": {
                      "type": "number",
                      "minimum": 0,
                      "maximum": 100,
                      "default": 80,
                      "description": "Threshold | Minimum docstring coverage (%) required to pass."
                    }
                  },
                  "description": "Docstring Coverage | Check that docstring coverage meets the configured threshold.",
                  "default": {},
                  "additionalProperties": false
                },
                "title": {
                  "type": "object",
                  "properties": {
                    "mode": {
                      "type": "string",
                      "enum": [
                        "off",
                        "warning",
                        "error"
                      ],
                      "default": "warning",
                      "description": "Mode | Enforcement level: `off` disables the check, `warning` posts a warning, and `error` requires resolution before merging. If the request-changes workflow is enabled, `error` can block the PR until the check passes."
                    },
                    "requirements": {
                      "type": "string",
                      "default": "",
                      "description": "Requirements | Describe title requirements. Example: 'Title should be concise and descriptive, ideally under 50 characters.'"
                    }
                  },
                  "description": "Title Check | Validate the PR title against the requirements.",
                  "default": {},
                  "additionalProperties": false
                },
                "description": {
                  "type": "object",
                  "properties": {
                    "mode": {
                      "type": "string",
                      "enum": [
                        "off",
                        "warning",
                        "error"
                      ],
                      "default": "warning",
                      "description": "Mode | Enforcement level: `off` disables the check, `warning` posts a warning, and `error` requires resolution before merging. If the request-changes workflow is enabled, `error` can block the PR until the check passes."
                    }
                  },
                  "description": "Description Check | Check that the PR description follows best practices.",
                  "default": {},
                  "additionalProperties": false
                },
                "issue_assessment": {
                  "type": "object",
                  "properties": {
                    "mode": {
                      "type": "string",
                      "enum": [
                        "off",
                        "warning",
                        "error"
                      ],
                      "default": "warning",
                      "description": "Mode | Enforcement level: `off` disables the check, `warning` posts a warning, and `error` requires resolution before merging. If the request-changes workflow is enabled, `error` can block the PR until the check passes."
                    }
                  },
                  "description": "Linked Issue Assessment | Assess how well the PR addresses linked issues.",
                  "default": {},
                  "additionalProperties": false
                },
                "custom_checks": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "mode": {
                        "type": "string",
                        "enum": [
                          "off",
                          "warning",
                          "error"
                        ],
                        "default": "warning",
                        "description": "Mode | Enforcement level: `off` disables the check, `warning` posts a warning, and `error` requires resolution before merging. If the request-changes workflow is enabled, `error` can block the PR until the check passes."
                      },
                      "name": {
                        "type": "string",
                        "maxLength": 50,
                        "minLength": 1,
                        "default": "",
                        "description": "Name | Display name (max 50 characters)."
                      },
                      "instructions": {
                        "type": "string",
                        "maxLength": 10000,
                        "minLength": 1,
                        "default": "",
                        "description": "Instructions | Deterministic pass/fail criteria (max 10,000 characters)."
                      }
                    },
                    "required": [
                      "name",
                      "instructions"
                    ],
                    "additionalProperties": false
                  },
                  "maxItems": 5,
                  "default": [],
                  "description": "Custom Pre-merge Checks | Define up to 5 custom checks that must pass before merging. Each check needs a unique name (≤50 chars) and deterministic instructions (≤10,000 chars)."
                }
              },
              "default": {},
              "additionalProperties": false
            },
            "tools": {
              "type": "object",
              "properties": {
                "ast-grep": {
                  "type": "object",
                  "properties": {
                    "rule_dirs": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      },
                      "default": [],
                      "description": "List of rules directories."
                    },
                    "util_dirs": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      },
                      "default": [],
                      "description": "List of utils directories."
                    },
                    "essential_rules": {
                      "type": "boolean",
                      "default": true,
                      "description": "Use ast-grep essentials package."
                    },
                    "packages": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      },
                      "default": [],
                      "description": "Predefined packages to be used."
                    }
                  },
                  "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.42.1",
                  "default": {},
                  "additionalProperties": false
                },
                "shellcheck": {
                  "type": "object",
                  "properties": {
                    "enabled": {
                      "type": "boolean",
                      "default": true,
                      "description": "Enable ShellCheck | ShellCheck is a static analysis tool that finds bugs in your shell. | Enable ShellCheck integration. | v0.11.0"
                    }
                  },
                  "description": "ShellCheck is a static analysis tool that finds bugs in your shell scripts.",
                  "default": {},
                  "additionalProperties": false
                },
                "ruff": {
                  "type": "object",
                  "properties": {
                    "enabled": {
                      "type": "boolean",
                      "default": true,
                      "description": "Enable Ruff | Ruff is a Python linter and code formatter. |  Enable Ruff integration. | v0.15.9"
                    }
                  },
                  "description": "Ruff is a Python linter and code formatter.",
                  "default": {},
                  "additionalProperties": false
                },
                "markdownlint": {
                  "type": "object",
                  "properties": {
                    "enabled": {
                      "type": "boolean",
                      "default": true,
                      "description": "Enable markdownlint | markdownlint-cli2 is a static analysis tool to enforce standards and consistency for Markdown files. | Enable markdownlint integration. | v0.22.0"
                    }
                  },
                  "description": "markdownlint-cli2 is a static analysis tool to enforce standards and consistency for Markdown files.",
                  "default": {},
                  "additionalProperties": false
                },
                "github-checks": {
                  "type": "object",
                  "properties": {
                    "enabled": {
                      "type": "boolean",
                      "default": true,
                      "description": "Enable GitHub Checks\n\t\t\t| Enable integration, defaults to true\n\t\t\t| Enable GitHub Checks integration."
                    },
                    "timeout_ms": {
                      "type": "number",
                      "maximum": 900000,
                      "minimum": 0,
                      "default": 90000,
                      "description": "Time in milliseconds to wait for all GitHub Checks to conclude. Default 90 seconds, max 15 minutes (900000ms)."
                    }
                  },
                  "description": "GitHub Checks integration configuration.",
                  "default": {},
                  "additionalProperties": false
                },
                "languagetool": {
                  "type": "object",
                  "properties": {
                    "enabled": {
                      "type": "boolean",
                      "default": true,
                      "description": "Enable LanguageTool | Enable LanguageTool integration."
                    },
                    "enabled_rules": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      },
                      "default": [],
                      "description": "IDs of rules to be enabled. The rule won't run unless 'level' is set to a level that activates the rule."
                    },
                    "disabled_rules": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      },
                      "default": [],
                      "description": "IDs of rules to be disabled. Note: EN_UNPAIRED_BRACKETS, and EN_UNPAIRED_QUOTES are always disabled."
                    },
                    "enabled_categories": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      },
                      "default": [],
                      "description": "IDs of categories to be enabled."
                    },
                    "disabled_categories": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      },
                      "default": [],
                      "description": "IDs of categories to be disabled. Note: TYPOS, TYPOGRAPHY, and CASING are always disabled."
                    },
                    "enabled_only": {
                      "type": "boolean",
                      "default": false,
                      "description": "Only the rules and categories whose IDs are specified with 'enabledRules' or 'enabledCategories' are enabled."
                    },
                    "level": {
                      "type": "string",
                      "enum": [
                        "default",
                        "picky"
                      ],
                      "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."
                    }
                  },
                  "description": "LanguageTool is a style and grammar checker for 30+ languages.",
                  "default": {},
                  "additionalProperties": false
                },
                "biome": {
                  "type": "object",
                  "properties": {
                    "enabled": {
                      "type": "boolean",
                      "default": true,
                      "description": "Enable Biome | Biome is a fast formatter, linter, and analyzer for web projects. | Enable Biome integration. | v2.4.10"
                    }
                  },
                  "description": "Biome is a fast formatter, linter, and analyzer for web projects.",
                  "default": {},
                  "additionalProperties": false
                },
                "hadolint": {
                  "type": "object",
                  "properties": {
                    "enabled": {
                      "type": "boolean",
                      "default": true,
                      "description": "Enable Hadolint | Hadolint is a Dockerfile linter. | Enable Hadolint integration. | v2.14.0"
                    }
                  },
                  "description": "Hadolint is a Dockerfile linter.",
                  "default": {},
                  "additionalProperties": false
                },
                "swiftlint": {
                  "type": "object",
                  "properties": {
                    "enabled": {
                      "type": "boolean",
                      "default": true,
                      "description": "Enable SwiftLint | SwiftLint is a Swift linter. | Enable SwiftLint integration. | v0.63.2"
                    },
                    "config_file": {
                      "type": "string",
                      "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'."
                    }
                  },
                  "description": "SwiftLint integration configuration object.",
                  "default": {},
                  "additionalProperties": false
                },
                "phpstan": {
                  "type": "object",
                  "properties": {
                    "enabled": {
                      "type": "boolean",
                      "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.1.46"
                    },
                    "level": {
                      "type": "string",
                      "enum": [
                        "default",
                        "0",
                        "1",
                        "2",
                        "3",
                        "4",
                        "5",
                        "6",
                        "7",
                        "8",
                        "9",
                        "max"
                      ],
                      "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."
                    }
                  },
                  "description": "PHPStan is a tool to analyze PHP code.",
                  "default": {},
                  "additionalProperties": false
                },
                "phpmd": {
                  "type": "object",
                  "properties": {
                    "enabled": {
                      "type": "boolean",
                      "default": true,
                      "description": "Enable PHPMD | PHPMD is a tool to find potential problems in PHP code. | v2.15.0"
                    }
                  },
                  "description": "PHPMD is a tool to find potential problems in PHP code.",
                  "default": {},
                  "additionalProperties": false
                },
                "phpcs": {
                  "type": "object",
                  "properties": {
                    "enabled": {
                      "type": "boolean",
                      "default": true,
                      "description": "Enable PHP CodeSniffer | PHP CodeSniffer is a PHP linter and coding standard checker. | v3.7.2"
                    }
                  },
                  "description": "PHP CodeSniffer is a PHP linter and coding standard checker.",
                  "default": {},
                  "additionalProperties": false
                },
                "golangci-lint": {
                  "type": "object",
                  "properties": {
                    "enabled": {
                      "type": "boolean",
                      "default": true,
                      "description": "Enable golangci-lint | golangci-lint is a fast linters runner for Go. | Enable golangci-lint integration. | v2.11.4"
                    },
                    "config_file": {
                      "type": "string",
                      "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'."
                    }
                  },
                  "description": "golangci-lint is a fast linters runner for Go.",
                  "default": {},
                  "additionalProperties": false
                },
                "yamllint": {
                  "type": "object",
                  "properties": {
                    "enabled": {
                      "type": "boolean",
                      "default": true,
                      "description": "Enable YAMLlint | YAMLlint is a linter for YAML files. | Enable YAMLlint integration. | v1.38.0"
                    }
                  },
                  "description": "YAMLlint is a linter for YAML files.",
                  "default": {},
                  "additionalProperties": false
                },
                "gitleaks": {
                  "type": "object",
                  "properties": {
                    "enabled": {
                      "type": "boolean",
                      "default": true,
                      "description": "Enable Betterleaks | Betterleaks is a secret scanner (an improved version of Gitleaks). | Enable Betterleaks integration. | v1.1.1"
                    }
                  },
                  "description": "Betterleaks is a secret scanner (an improved version of Gitleaks).",
                  "default": {},
                  "additionalProperties": false
                },
                "trufflehog": {
                  "type": "object",
                  "properties": {
                    "enabled": {
                      "type": "boolean",
                      "default": true,
                      "description": "Enable TruffleHog | TruffleHog is a secret scanner with verification capabilities. | Enable TruffleHog integration. | v3.94.2"
                    }
                  },
                  "description": "TruffleHog is a secret scanner with verification capabilities that can detect and verify secrets in code.",
                  "default": {},
                  "additionalProperties": false
                },
                "checkov": {
                  "type": "object",
                  "properties": {
                    "enabled": {
                      "type": "boolean",
                      "default": true,
                      "description": "Enable Checkov | Checkov is a static code analysis tool for infrastructure-as-code files. | v3.2.513"
                    }
                  },
                  "description": "Checkov is a static code analysis tool for infrastructure-as-code files.",
                  "default": {},
                  "additionalProperties": false
                },
                "tflint": {
                  "type": "object",
                  "properties": {
                    "enabled": {
                      "type": "boolean",
                      "default": true,
                      "description": "Enable TFLint | TFLint is a Terraform linter for finding potential errors. | v0.61.0"
                    }
                  },
                  "description": "TFLint is a Terraform linter for finding potential errors and enforcing best practices.",
                  "default": {},
                  "additionalProperties": false
                },
                "detekt": {
                  "type": "object",
                  "properties": {
                    "enabled": {
                      "type": "boolean",
                      "default": true,
                      "description": "Enable detekt | detekt is a static code analysis tool for Kotlin files. | v1.23.8"
                    },
                    "config_file": {
                      "type": "string",
                      "description": "Optional path to the detekt configuration file relative to the repository."
                    }
                  },
                  "description": "Detekt is a static code analysis tool for Kotlin files.",
                  "default": {},
                  "additionalProperties": false
                },
                "eslint": {
                  "type": "object",
                  "properties": {
                    "enabled": {
                      "type": "boolean",
                      "default": true,
                      "description": "Enable ESLint | ESLint is a static code analysis tool for JavaScript files."
                    }
                  },
                  "description": "ESLint is a static code analysis tool for JavaScript files.",
                  "default": {},
                  "additionalProperties": false
                },
                "flake8": {
                  "type": "object",
                  "properties": {
                    "enabled": {
                      "type": "boolean",
                      "default": true,
                      "description": "Enable Flake8 | Flake8 is a Python linter that wraps PyFlakes, pycodestyle and Ned Batchelder's McCabe script. | v7.3.0"
                    }
                  },
                  "description": "Flake8 is a Python linter that wraps PyFlakes, pycodestyle and Ned Batchelder's McCabe script.",
                  "default": {},
                  "additionalProperties": false
                },
                "fortitudeLint": {
                  "type": "object",
                  "properties": {
                    "enabled": {
                      "type": "boolean",
                      "default": true,
                      "description": "Enable Fortitude | Fortitude is a Fortran linter that checks for code quality and style issues | v0.8.0"
                    }
                  },
                  "description": "Fortitude is a Fortran linter that checks for code quality and style issues.",
                  "default": {},
                  "additionalProperties": false
                },
                "rubocop": {
                  "type": "object",
                  "properties": {
                    "enabled": {
                      "type": "boolean",
                      "default": true,
                      "description": "Enable RuboCop | RuboCop is a Ruby static code analyzer (a.k.a. linter ) and code formatter. | v1.86.0"
                    }
                  },
                  "description": "RuboCop is a Ruby static code analyzer (a.k.a. linter ) and code formatter.",
                  "default": {},
                  "additionalProperties": false
                },
                "buf": {
                  "type": "object",
                  "properties": {
                    "enabled": {
                      "type": "boolean",
                      "default": true,
                      "description": "Enable Buf | Buf offers linting for Protobuf files. | v1.67.0"
                    }
                  },
                  "description": "Buf offers linting for Protobuf files.",
                  "default": {},
                  "additionalProperties": false
                },
                "regal": {
                  "type": "object",
                  "properties": {
                    "enabled": {
                      "type": "boolean",
                      "default": true,
                      "description": "Enable Regal | Regal is a linter and language server for Rego. | v0.39.0"
                    }
                  },
                  "description": "Regal is a linter and language server for Rego.",
                  "default": {},
                  "additionalProperties": false
                },
                "actionlint": {
                  "type": "object",
                  "properties": {
                    "enabled": {
                      "type": "boolean",
                      "default": true,
                      "description": "Enable actionlint | is a static checker for GitHub Actions workflow files. | v1.7.12"
                    }
                  },
                  "description": "actionlint is a static checker for GitHub Actions workflow files.",
                  "default": {},
                  "additionalProperties": false
                },
                "pmd": {
                  "type": "object",
                  "properties": {
                    "enabled": {
                      "type": "boolean",
                      "default": true,
                      "description": "Enable PMD | PMD is an extensible multilanguage static code analyzer. It’s mainly concerned with Java. | v7.23.0"
                    },
                    "config_file": {
                      "type": "string",
                      "description": "Optional path to the PMD configuration file relative to the repository."
                    }
                  },
                  "description": "PMD is an extensible multilanguage static code analyzer. It’s mainly concerned with Java.",
                  "default": {},
                  "additionalProperties": false
                },
                "clang": {
                  "type": "object",
                  "properties": {
                    "enabled": {
                      "type": "boolean",
                      "default": true,
                      "description": "Enable Clang for C/C++ static analysis and code quality checks | v14.0.6"
                    }
                  },
                  "description": "Configuration for Clang to perform static analysis on C and C++ code",
                  "default": {},
                  "additionalProperties": false
                },
                "cppcheck": {
                  "type": "object",
                  "properties": {
                    "enabled": {
                      "type": "boolean",
                      "default": true,
                      "description": "Enable Cppcheck | Cppcheck is a static code analysis tool for the C and C++ programming languages. | v2.20.0"
                    }
                  },
                  "description": "Cppcheck is a static code analysis tool for the C and C++ programming languages.",
                  "default": {},
                  "additionalProperties": false
                },
                "opengrep": {
                  "type": "object",
                  "properties": {
                    "enabled": {
                      "type": "boolean",
                      "default": true,
                      "description": "Enable OpenGrep | OpenGrep is a high-performance static code analysis engine for finding security vulnerabilities and bugs across 17+ languages. | v1.17.0"
                    }
                  },
                  "description": "OpenGrep is a high-performance static code analysis engine, compatible with Semgrep configurations.",
                  "default": {},
                  "additionalProperties": false
                },
                "semgrep": {
                  "type": "object",
                  "properties": {
                    "enabled": {
                      "type": "boolean",
                      "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.157.0"
                    },
                    "config_file": {
                      "type": "string",
                      "description": "Optional path to the Semgrep configuration file relative to the repository."
                    }
                  },
                  "description": "Semgrep is a static analysis tool designed to scan code for security vulnerabilities and code quality issues.",
                  "default": {},
                  "additionalProperties": false
                },
                "circleci": {
                  "type": "object",
                  "properties": {
                    "enabled": {
                      "type": "boolean",
                      "default": true,
                      "description": "Enable CircleCI | CircleCI tool is a static checker for CircleCI config files. | v0.1.34950"
                    }
                  },
                  "description": "CircleCI tool is a static checker for CircleCI config files.",
                  "default": {},
                  "additionalProperties": false
                },
                "clippy": {
                  "type": "object",
                  "properties": {
                    "enabled": {
                      "type": "boolean",
                      "default": true,
                      "description": "Enable Clippy | Clippy is a collection of lints to catch common mistakes and improve your Rust code. | Enable Clippy integration."
                    }
                  },
                  "description": "Clippy is a collection of lints to catch common mistakes and improve your Rust code.",
                  "default": {},
                  "additionalProperties": false
                },
                "sqlfluff": {
                  "type": "object",
                  "properties": {
                    "enabled": {
                      "type": "boolean",
                      "default": true,
                      "description": "Enable SQLFluff | SQLFluff is an open source, dialect-flexible and configurable SQL linter. | v4.1.0"
                    }
                  },
                  "description": "SQLFluff is an open source, dialect-flexible and configurable SQL linter.",
                  "default": {},
                  "additionalProperties": false
                },
                "trivy": {
                  "type": "object",
                  "properties": {
                    "enabled": {
                      "type": "boolean",
                      "default": true,
                      "description": "Enable Trivy for security scanning of IaC files (Terraform, Kubernetes, Docker, etc.) | v0.69.3"
                    }
                  },
                  "description": "Trivy is a comprehensive security scanner that detects misconfigurations and secrets in Infrastructure as Code files",
                  "default": {},
                  "additionalProperties": false
                },
                "prismaLint": {
                  "type": "object",
                  "properties": {
                    "enabled": {
                      "type": "boolean",
                      "default": true,
                      "description": "Enable Prisma Schema linting | Prisma Schema linting helps maintain consistent and error-free schema files | v0.13.1"
                    }
                  },
                  "description": "Configuration for Prisma Schema linting to ensure schema file quality",
                  "default": {},
                  "additionalProperties": false
                },
                "pylint": {
                  "type": "object",
                  "properties": {
                    "enabled": {
                      "type": "boolean",
                      "default": true,
                      "description": "Enable Pylint | Pylint is a Python static code analysis tool. | v4.0.5"
                    }
                  },
                  "description": "Pylint is a Python static code analysis tool.",
                  "default": {},
                  "additionalProperties": false
                },
                "oxc": {
                  "type": "object",
                  "properties": {
                    "enabled": {
                      "type": "boolean",
                      "default": true,
                      "description": "Enable Oxlint | Oxlint is a JavaScript/TypeScript linter for OXC written in Rust. | v1.58.0"
                    }
                  },
                  "description": "Oxlint is a JavaScript/TypeScript linter for OXC written in Rust.",
                  "default": {},
                  "additionalProperties": false
                },
                "shopifyThemeCheck": {
                  "type": "object",
                  "properties": {
                    "enabled": {
                      "type": "boolean",
                      "default": true,
                      "description": "Enable Shopify Theme Check | A linter for Shopify themes that helps you follow Shopify theme & Liquid best practices | cli 3.90.0 | theme 3.58.2"
                    }
                  },
                  "description": "Configuration for Shopify Theme Check to ensure theme quality and best practices",
                  "default": {},
                  "additionalProperties": false
                },
                "luacheck": {
                  "type": "object",
                  "properties": {
                    "enabled": {
                      "type": "boolean",
                      "default": true,
                      "description": "Enable Lua code linting | Luacheck helps maintain consistent and error-free Lua code | v1.2.0"
                    }
                  },
                  "description": "Configuration for Lua code linting to ensure code quality",
                  "default": {},
                  "additionalProperties": false
                },
                "brakeman": {
                  "type": "object",
                  "properties": {
                    "enabled": {
                      "type": "boolean",
                      "default": true,
                      "description": "Enable Brakeman | Brakeman is a static analysis security vulnerability scanner for Ruby on Rails applications. | v8.0.3"
                    }
                  },
                  "description": "Brakeman is a static analysis security vulnerability scanner for Ruby on Rails applications. | v8.0.3",
                  "default": {},
                  "additionalProperties": false
                },
                "dotenvLint": {
                  "type": "object",
                  "properties": {
                    "enabled": {
                      "type": "boolean",
                      "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"
                    }
                  },
                  "description": "dotenv-linter is a tool for checking and fixing .env files for problems and best practices",
                  "default": {},
                  "additionalProperties": false
                },
                "htmlhint": {
                  "type": "object",
                  "properties": {
                    "enabled": {
                      "type": "boolean",
                      "default": true,
                      "description": "Enable HTMLHint | HTMLHint is a static code analysis tool for HTML files. | Enable HTMLHint integration. | v1.9.2"
                    }
                  },
                  "default": {},
                  "description": "HTMLHint is a static code analysis tool for HTML files.",
                  "additionalProperties": false
                },
                "stylelint": {
                  "type": "object",
                  "properties": {
                    "enabled": {
                      "type": "boolean",
                      "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.6.0"
                    }
                  },
                  "default": {},
                  "description": "Stylelint is a linter for stylesheets (CSS, SCSS, Sass, Less, SugarSS, Stylus) that helps avoid errors and enforce conventions.",
                  "additionalProperties": false
                },
                "checkmake": {
                  "type": "object",
                  "properties": {
                    "enabled": {
                      "type": "boolean",
                      "default": true,
                      "description": "Enable checkmake | checkmake is a linter for Makefiles. | v0.2.2"
                    }
                  },
                  "description": "checkmake is a linter for Makefiles.",
                  "default": {},
                  "additionalProperties": false
                },
                "osvScanner": {
                  "type": "object",
                  "properties": {
                    "enabled": {
                      "type": "boolean",
                      "default": true,
                      "description": "Enable OSV Scanner | OSV Scanner is a tool for vulnerability package scanning | v2.3.5"
                    }
                  },
                  "description": "OSV Scanner is a tool for vulnerability package scanning.",
                  "default": {},
                  "additionalProperties": false
                },
                "blinter": {
                  "type": "object",
                  "properties": {
                    "enabled": {
                      "type": "boolean",
                      "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.0.112"
                    }
                  },
                  "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": {},
                  "additionalProperties": false
                },
                "smartyLint": {
                  "type": "object",
                  "properties": {
                    "enabled": {
                      "type": "boolean",
                      "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"
                    }
                  },
                  "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": {},
                  "additionalProperties": false
                },
                "emberTemplateLint": {
                  "type": "object",
                  "properties": {
                    "enabled": {
                      "type": "boolean",
                      "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.3"
                    }
                  },
                  "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": {},
                  "additionalProperties": false
                },
                "psscriptanalyzer": {
                  "type": "object",
                  "properties": {
                    "enabled": {
                      "type": "boolean",
                      "default": true,
                      "description": "Enable PSScriptAnalyzer | PSScriptAnalyzer is a static code checker for PowerShell scripts and modules. | v1.25.0"
                    }
                  },
                  "description": "PSScriptAnalyzer is a static code checker for PowerShell scripts and modules.",
                  "default": {},
                  "additionalProperties": false
                }
              },
              "default": {},
              "description": "Tools that provide additional context to code reviews.",
              "additionalProperties": false
            }
          },
          "default": {},
          "description": "Settings related to reviews.",
          "additionalProperties": false
        },
        "chat": {
          "type": "object",
          "properties": {
            "art": {
              "type": "boolean",
              "default": true,
              "description": "Generate art in chat responses (ASCII or emoji)."
            },
            "allow_non_org_members": {
              "type": "boolean",
              "default": true,
              "description": "Allow non-organization members to interact with CodeRabbit in comment chat. Set to false to restrict issue/review comment interactions to organization members on GitHub organization repositories. This does not affect automatic PR review eligibility."
            },
            "auto_reply": {
              "type": "boolean",
              "default": true,
              "description": "Let CodeRabbit reply automatically without requiring a mention/tag."
            },
            "integrations": {
              "type": "object",
              "properties": {
                "jira": {
                  "type": "object",
                  "properties": {
                    "usage": {
                      "type": "string",
                      "enum": [
                        "auto",
                        "enabled",
                        "disabled"
                      ],
                      "default": "auto",
                      "description": "Jira | Allow creating Jira issues from chat. 'auto' disables the integration for public repositories."
                    }
                  },
                  "default": {},
                  "additionalProperties": false
                },
                "linear": {
                  "type": "object",
                  "properties": {
                    "usage": {
                      "type": "string",
                      "enum": [
                        "auto",
                        "enabled",
                        "disabled"
                      ],
                      "default": "auto",
                      "description": "Linear | Allow creating Linear issues from chat. 'auto' disables the integration for public repositories."
                    }
                  },
                  "default": {},
                  "additionalProperties": false
                }
              },
              "default": {},
              "additionalProperties": false
            }
          },
          "default": {},
          "additionalProperties": false
        },
        "knowledge_base": {
          "type": "object",
          "properties": {
            "opt_out": {
              "type": "boolean",
              "default": false,
              "description": "Opt Out | Disable knowledge base features that require data retention. Opting out removes any existing stored knowledge base data."
            },
            "web_search": {
              "type": "object",
              "properties": {
                "enabled": {
                  "type": "boolean",
                  "default": true,
                  "description": "Web Search | Use web search to gather additional context."
                }
              },
              "default": {},
              "additionalProperties": false
            },
            "code_guidelines": {
              "type": "object",
              "properties": {
                "enabled": {
                  "type": "boolean",
                  "default": true,
                  "description": "Enabled | Apply your organization's coding standards during reviews."
                },
                "filePatterns": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  },
                  "default": [],
                  "description": "File Patterns | Patterns for your coding guideline documents. CodeRabbit scans these files to learn your standards and apply them during reviews. Multiple files supported; file names are case-sensitive. Defaults include: (**/.cursorrules, .github/copilot-instructions.md, .github/instructions/*.instructions.md, **/CLAUDE.md, **/GEMINI.md, **/.cursor/rules/*, **/.windsurfrules, **/.clinerules/*, **/.rules/*, **/AGENT.md, **/AGENTS.md)."
                }
              },
              "description": "Use your coding guideline documents (see File Patterns) as review criteria.",
              "default": {},
              "additionalProperties": false
            },
            "learnings": {
              "type": "object",
              "properties": {
                "scope": {
                  "type": "string",
                  "enum": [
                    "local",
                    "global",
                    "auto"
                  ],
                  "default": "auto",
                  "description": "Learnings | Choose scope: 'local' (repo), 'global' (org), or 'auto' (local for public repos, global for private repos)."
                }
              },
              "default": {},
              "additionalProperties": false
            },
            "issues": {
              "type": "object",
              "properties": {
                "scope": {
                  "type": "string",
                  "enum": [
                    "local",
                    "global",
                    "auto"
                  ],
                  "default": "auto",
                  "description": "Issues | Choose scope for GitHub/GitLab issues: 'local' (repo), 'global' (org), or 'auto' (local for public repos, global for private repos)."
                }
              },
              "default": {},
              "additionalProperties": false
            },
            "jira": {
              "type": "object",
              "properties": {
                "usage": {
                  "type": "string",
                  "enum": [
                    "auto",
                    "enabled",
                    "disabled"
                  ],
                  "default": "auto",
                  "description": "Jira | Use Jira as a knowledge source. 'auto' disables the integration for public repositories."
                },
                "project_keys": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  },
                  "default": [],
                  "description": "Jira Project Keys | Restrict Jira context to these projects."
                }
              },
              "default": {},
              "additionalProperties": false
            },
            "linear": {
              "type": "object",
              "properties": {
                "usage": {
                  "type": "string",
                  "enum": [
                    "auto",
                    "enabled",
                    "disabled"
                  ],
                  "default": "auto",
                  "description": "Linear | Use Linear as a knowledge source. 'auto' disables the integration for public repositories."
                },
                "team_keys": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  },
                  "default": [],
                  "description": "Linear Team Keys | Restrict Linear context to these teams (e.g. 'ENG')."
                }
              },
              "default": {},
              "additionalProperties": false
            },
            "pull_requests": {
              "type": "object",
              "properties": {
                "scope": {
                  "type": "string",
                  "enum": [
                    "local",
                    "global",
                    "auto"
                  ],
                  "default": "auto",
                  "description": "PRs | Choose scope: 'local' (repo), 'global' (org), or 'auto' (local for public repos, global for private repos)."
                }
              },
              "default": {},
              "additionalProperties": false
            },
            "mcp": {
              "type": "object",
              "properties": {
                "usage": {
                  "type": "string",
                  "enum": [
                    "auto",
                    "enabled",
                    "disabled"
                  ],
                  "default": "auto",
                  "description": "MCP | Use MCP servers as a knowledge source. 'auto' disables the integration for public repositories."
                },
                "disabled_servers": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  },
                  "default": [],
                  "description": "Disabled MCP Servers | Specify MCP server labels to disable (case-insensitive). These servers will be excluded from reviews and knowledge base queries."
                }
              },
              "default": {},
              "additionalProperties": false
            },
            "linked_repositories": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "repository": {
                    "type": "string",
                    "pattern": "^[a-zA-Z0-9][\\w\\-.]*(?:\\/[a-zA-Z0-9][\\w\\-.]*)+$",
                    "description": "Repository name in owner/repo format (e.g., GitHub: myorg/backend-api, Azure DevOps: MyProject/backend-api, GitLab: group/subgroup/repo, Bitbucket: workspace/repo)"
                  },
                  "instructions": {
                    "type": "string",
                    "maxLength": 2000,
                    "default": "",
                    "description": "Optionally provide description and guidance on what this repository contains for CodeRabbit to consider during reviews. Example: 'Contains REST API endpoints and database models.'"
                  }
                },
                "required": [
                  "repository"
                ],
                "additionalProperties": false
              },
              "maxItems": 10,
              "default": [],
              "description": "Linked Repositories | Repositories that CodeRabbit should consider when reviewing PRs in this repo. Use this to surface cross-repo dependencies and catch breaking changes across related codebases."
            }
          },
          "default": {},
          "additionalProperties": false
        },
        "code_generation": {
          "type": "object",
          "properties": {
            "docstrings": {
              "type": "object",
              "properties": {
                "language": {
                  "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",
                    "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"
                  ],
                  "default": "en-US",
                  "description": "Language for generated docstrings (ISO language code).",
                  "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",
                    "Chinese",
                    "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"
                  ]
                },
                "path_instructions": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "path": {
                        "type": "string",
                        "description": "File path glob pattern. Example: `**/*.js`."
                      },
                      "instructions": {
                        "type": "string",
                        "maxLength": 20000,
                        "description": "Additional docstring-generation guidelines for matching paths."
                      }
                    },
                    "required": [
                      "path",
                      "instructions"
                    ],
                    "additionalProperties": false
                  },
                  "default": [],
                  "description": "Path Instructions | Add path-specific guidelines for docstring generation."
                }
              },
              "description": "Docstring Generation | Settings for generating docstrings.",
              "default": {
                "path_instructions": []
              },
              "additionalProperties": false
            },
            "unit_tests": {
              "type": "object",
              "properties": {
                "path_instructions": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "path": {
                        "type": "string",
                        "description": "File path glob pattern. Example: `**/*.js`."
                      },
                      "instructions": {
                        "type": "string",
                        "maxLength": 20000,
                        "description": "Additional unit-test-generation guidelines for matching paths."
                      }
                    },
                    "required": [
                      "path",
                      "instructions"
                    ],
                    "additionalProperties": false
                  },
                  "default": [],
                  "description": "Path Instructions | Add path-specific guidelines for unit test generation."
                }
              },
              "description": "Unit Test Generation | Settings for generating unit tests.",
              "default": {
                "path_instructions": []
              },
              "additionalProperties": false
            }
          },
          "default": {},
          "additionalProperties": false
        },
        "issue_enrichment": {
          "type": "object",
          "properties": {
            "auto_enrich": {
              "type": "object",
              "properties": {
                "enabled": {
                  "type": "boolean",
                  "default": false,
                  "description": "Automatic Issue Enrichment | Analyze and enrich issues with additional context (related code, potential solutions, complexity assessment)."
                }
              },
              "description": "Settings for automatic issue enrichment.",
              "default": {},
              "additionalProperties": false
            },
            "planning": {
              "type": "object",
              "properties": {
                "enabled": {
                  "type": "boolean",
                  "default": true,
                  "description": "Issue Planning | Generate an implementation plan for issues (early preview)."
                },
                "auto_planning": {
                  "type": "object",
                  "properties": {
                    "enabled": {
                      "type": "boolean",
                      "default": true,
                      "description": "Automatic Planning | Trigger issue planning based on labels."
                    },
                    "labels": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      },
                      "default": [],
                      "description": "Labels that trigger automatic issue planning. Labels starting with '!' are negative matches. Examples: ['feature', 'enhancement'] plans issues with either label. ['!wip'] plans all issues except those labeled 'wip'. ['feature', '!wip'] plans issues labeled 'feature' but not 'wip'."
                    }
                  },
                  "default": {},
                  "additionalProperties": false
                }
              },
              "description": "Settings for issue planning.",
              "default": {},
              "additionalProperties": false
            },
            "labeling": {
              "type": "object",
              "properties": {
                "labeling_instructions": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "label": {
                        "type": "string",
                        "description": "Label to suggest for the issue. Example: enhancement"
                      },
                      "instructions": {
                        "type": "string",
                        "maxLength": 3000,
                        "description": "Instructions for the label. Example: New feature or request."
                      }
                    },
                    "required": [
                      "label",
                      "instructions"
                    ],
                    "additionalProperties": false
                  },
                  "default": [],
                  "description": "Labeling Instructions | Define issue labels to suggest and when to suggest them."
                },
                "auto_apply_labels": {
                  "type": "boolean",
                  "default": false,
                  "description": "Automatically apply suggested labels to the issue. When enabled without labeling instructions, labels are auto-suggested based on similar issues."
                }
              },
              "description": "Settings for issue labeling.",
              "default": {},
              "additionalProperties": false
            }
          },
          "default": {},
          "additionalProperties": false
        }
      },
      "additionalProperties": false
    }
  }
}
