This reference is automatically generated from the CodeRabbit tools schema. Last updated: 2025-09-23
CodeRabbit supports integration with 39 static analysis tools, linters, and security scanners. Each tool can be configured individually within your .coderabbit.yaml file.

Quick Setup

Recommended tools for most projects:
.coderabbit.yaml
reviews:
  tools:
    # Security scanning
    gitleaks:
      enabled: true
    # Language-specific linters (enable as needed)
    eslint:
      enabled: true
    ruff:
      enabled: true
    golangci-lint:
      enabled: true
    # Infrastructure
    hadolint:
      enabled: true
    yamllint:
      enabled: true

Tool Categories

Language Linters

ESLint is a static code analysis tool for JavaScript files.Configuration Options:
enabled
boolean
Enable ESLint | ESLint is a static code analysis tool for JavaScript files.Defaults to true.
Example Configuration:
reviews:
  tools:
    eslint:
      enabled: true
Ruff is a Python linter and code formatter.Configuration Options:
enabled
boolean
Enable Ruff | Ruff is a Python linter and code formatter. | Enable Ruff integration. | v0.13.1Defaults to true.
Example Configuration:
reviews:
  tools:
    ruff:
      enabled: true
Pylint is a Python static code analysis tool.Configuration Options:
enabled
boolean
Enable Pylint | Pylint is a Python static code analysis tool. | v3.3.8Defaults to true.
Example Configuration:
reviews:
  tools:
    pylint:
      enabled: true
Flake8 is a Python linter that wraps PyFlakes, pycodestyle and Ned Batchelder’s McCabe script.Configuration Options:
enabled
boolean
Enable Flake8 | Flake8 is a Python linter that wraps PyFlakes, pycodestyle and Ned Batchelder’s McCabe script. | v7.2.0Defaults to true.
Example Configuration:
reviews:
  tools:
    flake8:
      enabled: true
RuboCop is a Ruby static code analyzer (a.k.a. linter ) and code formatter.Configuration Options:
enabled
boolean
Enable RuboCop | RuboCop is a Ruby static code analyzer (a.k.a. linter ) and code formatter. | v1.80.2Defaults to true.
Example Configuration:
reviews:
  tools:
    rubocop:
      enabled: true
SwiftLint integration configuration object.Configuration Options:
enabled
boolean
Enable SwiftLint | SwiftLint is a Swift linter. | Enable SwiftLint integration. | v0.57.0Defaults to true.
config_file
string
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’.
Example Configuration:
reviews:
  tools:
    swiftlint:
      enabled: true
      config_file: ".eslint.yml"
golangci-lint is a fast linters runner for Go.Configuration Options:
enabled
boolean
Enable golangci-lint | golangci-lint is a fast linters runner for Go. | Enable golangci-lint integration. | v2.2.2Defaults to true.
config_file
string
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’.
Example Configuration:
reviews:
  tools:
    golangci-lint:
      enabled: true
      config_file: ".eslint.yml"
Clippy is a collection of lints to catch common mistakes and improve your Rust code.Configuration Options:
enabled
boolean
Enable Clippy | Clippy is a collection of lints to catch common mistakes and improve your Rust code. | Enable Clippy integration.Defaults to true.
Example Configuration:
reviews:
  tools:
    clippy:
      enabled: true
Detekt is a static code analysis tool for Kotlin files.Configuration Options:
enabled
boolean
Enable detekt | detekt is a static code analysis tool for Kotlin files. | v1.23.8Defaults to true.
config_file
string
Optional path to the detekt configuration file relative to the repository.
Example Configuration:
reviews:
  tools:
    detekt:
      enabled: true
      config_file: ".eslint.yml"
Oxlint is a JavaScript/TypeScript linter for OXC written in Rust.Configuration Options:
enabled
boolean
Enable Oxlint | Oxlint is a JavaScript/TypeScript linter for OXC written in Rust. | v0.16.10Defaults to true.
Example Configuration:
reviews:
  tools:
    oxc:
      enabled: true

Security & Secrets

Gitleaks is a secret scanner.Configuration Options:
enabled
boolean
Enable Gitleaks | Gitleaks is a secret scanner. | Enable Gitleaks integration. | v8.28.0Defaults to true.
Example Configuration:
reviews:
  tools:
    gitleaks:
      enabled: true
Semgrep is a static analysis tool designed to scan code for security vulnerabilities and code quality issues.Configuration Options:
enabled
boolean
Enable Semgrep | Semgrep is a static analysis tool designed to scan code for security vulnerabilities and code quality issues. | Enable Semgrep integration. | v1.137.0Defaults to true.
config_file
string
Optional path to the Semgrep configuration file relative to the repository.
Example Configuration:
reviews:
  tools:
    semgrep:
      enabled: true
      config_file: ".eslint.yml"
Checkov is a static code analysis tool for infrastructure-as-code files.Configuration Options:
enabled
boolean
Enable Checkov | Checkov is a static code analysis tool for infrastructure-as-code files. | v3.2.334Defaults to true.
Example Configuration:
reviews:
  tools:
    checkov:
      enabled: true
Brakeman is a static analysis security vulnerability scanner for Ruby on Rails applications. | v7.0.2Configuration Options:
enabled
boolean
Enable Brakeman | Brakeman is a static analysis security vulnerability scanner for Ruby on Rails applications. | v7.0.2Defaults to true.
Example Configuration:
reviews:
  tools:
    brakeman:
      enabled: true

Code Quality

Cppcheck is a static code analysis tool for the C and C++ programming languages.Configuration Options:
enabled
boolean
Enable Cppcheck | Cppcheck is a static code analysis tool for the C and C++ programming languages. | v2.18.0Defaults to true.
Example Configuration:
reviews:
  tools:
    cppcheck:
      enabled: true
PMD is an extensible multilanguage static code analyzer. It’s mainly concerned with Java.Configuration Options:
enabled
boolean
Enable PMD | PMD is an extensible multilanguage static code analyzer. It’s mainly concerned with Java. | v7.17.0Defaults to true.
config_file
string
Optional path to the PMD configuration file relative to the repository.
Example Configuration:
reviews:
  tools:
    pmd:
      enabled: true
      config_file: ".eslint.yml"
PHPStan is a tool to analyze PHP code.Configuration Options:
enabled
boolean
Enable PHPStan | PHPStan requires config file in your repository root. Please ensure that this file contains the paths: parameter. | v2.1.28Defaults to true.
level
enum
Level | Specify the rule level to run. This setting is ignored if your configuration file already has a level: parameter.One of: default, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, maxDefaults to default.
Example Configuration:
reviews:
  tools:
    phpstan:
      enabled: true
      level: "default"
PHPMD is a tool to find potential problems in PHP code.Configuration Options:
enabled
boolean
Enable PHPMD | PHPMD is a tool to find potential problems in PHP code. | v2.15.0Defaults to true.
Example Configuration:
reviews:
  tools:
    phpmd:
      enabled: true
PHP CodeSniffer is a PHP linter and coding standard checker.Configuration Options:
enabled
boolean
Enable PHP CodeSniffer | PHP CodeSniffer is a PHP linter and coding standard checker. | v3.7.2Defaults to true.
Example Configuration:
reviews:
  tools:
    phpcs:
      enabled: true

Infrastructure

Hadolint is a Dockerfile linter.Configuration Options:
enabled
boolean
Enable Hadolint | Hadolint is a Dockerfile linter. | Enable Hadolint integration. | v2.14.0Defaults to true.
Example Configuration:
reviews:
  tools:
    hadolint:
      enabled: true
YAMLlint is a linter for YAML files.Configuration Options:
enabled
boolean
Enable YAMLlint | YAMLlint is a linter for YAML files. | Enable YAMLlint integration. | v1.37.1Defaults to true.
Example Configuration:
reviews:
  tools:
    yamllint:
      enabled: true
actionlint is a static checker for GitHub Actions workflow files.Configuration Options:
enabled
boolean
Enable actionlint | is a static checker for GitHub Actions workflow files. | v1.7.7Defaults to true.
Example Configuration:
reviews:
  tools:
    actionlint:
      enabled: true
CircleCI tool is a static checker for CircleCI config files.Configuration Options:
enabled
boolean
Enable CircleCI | CircleCI tool is a static checker for CircleCI config files. | v0.1.33163Defaults to true.
Example Configuration:
reviews:
  tools:
    circleci:
      enabled: true
checkmake is a linter for Makefiles.Configuration Options:
enabled
boolean
Enable checkmake | checkmake is a linter for Makefiles. | v0.2.2Defaults to true.
Example Configuration:
reviews:
  tools:
    checkmake:
      enabled: true

Documentation

markdownlint-cli2 is a static analysis tool to enforce standards and consistency for Markdown files.Configuration Options:
enabled
boolean
Enable markdownlint | markdownlint-cli2 is a static analysis tool to enforce standards and consistency for Markdown files. | Enable markdownlint integration. | v0.18.1Defaults to true.
Example Configuration:
reviews:
  tools:
    markdownlint:
      enabled: true
LanguageTool is a style and grammar checker for 30+ languages.Configuration Options:
enabled
boolean
Enable LanguageTool | Enable LanguageTool integration.Defaults to true.
enabled_rules
array of string
IDs of rules to be enabled. The rule won’t run unless ‘level’ is set to a level that activates the rule.Defaults to “.
disabled_rules
array of string
IDs of rules to be disabled. Note: EN_UNPAIRED_BRACKETS, and EN_UNPAIRED_QUOTES are always disabled.Defaults to “.
enabled_categories
array of string
IDs of categories to be enabled.Defaults to “.
disabled_categories
array of string
IDs of categories to be disabled. Note: TYPOS, TYPOGRAPHY, and CASING are always disabled.Defaults to “.
enabled_only
boolean
Only the rules and categories whose IDs are specified with ‘enabledRules’ or ‘enabledCategories’ are enabled.Defaults to false.
level
enum
If set to ‘picky’, additional rules will be activated, i.e. rules that you might only find useful when checking formal text.One of: default, pickyDefaults to default.
Example Configuration:
reviews:
  tools:
    languagetool:
      enabled: true
      level: "default"
HTMLHint is a static code analysis tool for HTML files.Configuration Options:
enabled
boolean
Enable HTMLHint | HTMLHint is a static code analysis tool for HTML files. | Enable HTMLHint integration. | v1.7.1Defaults to true.
Example Configuration:
reviews:
  tools:
    htmlhint:
      enabled: true

Specialized

Buf offers linting for Protobuf files.Configuration Options:
enabled
boolean
Enable Buf | Buf offers linting for Protobuf files. | v1.57.2Defaults to true.
Example Configuration:
reviews:
  tools:
    buf:
      enabled: true
Configuration for Prisma Schema linting to ensure schema file qualityConfiguration Options:
enabled
boolean
Enable Prisma Schema linting | Prisma Schema linting helps maintain consistent and error-free schema files | v0.10.2Defaults to true.
Example Configuration:
reviews:
  tools:
    prismaLint:
      enabled: true
Configuration for Shopify Theme Check to ensure theme quality and best practicesConfiguration Options:
enabled
boolean
Enable Shopify Theme Check | A linter for Shopify themes that helps you follow Shopify theme & Liquid best practices | cli 3.84.2 | theme 3.58.2Defaults to true.
Example Configuration:
reviews:
  tools:
    shopifyThemeCheck:
      enabled: true
Configuration for Lua code linting to ensure code qualityConfiguration Options:
enabled
boolean
Enable Lua code linting | Luacheck helps maintain consistent and error-free Lua code | v1.2.0Defaults to true.
Example Configuration:
reviews:
  tools:
    luacheck:
      enabled: true
dotenv-linter is a tool for checking and fixing .env files for problems and best practicesConfiguration Options:
enabled
boolean
Enable dotenv-linter | dotenv-linter is a tool for checking and fixing .env files for problems and best practices | v3.3.0Defaults to true.
Example Configuration:
reviews:
  tools:
    dotenvLint:
      enabled: true
SQLFluff is an open source, dialect-flexible and configurable SQL linter.Configuration Options:
enabled
boolean
Enable SQLFluff | SQLFluff is an open source, dialect-flexible and configurable SQL linter. | v3.4.2Defaults to true.
Example Configuration:
reviews:
  tools:
    sqlfluff:
      enabled: true
Regal is a linter and language server for Rego.Configuration Options:
enabled
boolean
Enable Regal | Regal is a linter and language server for Rego. | v0.36.1Defaults to true.
Example Configuration:
reviews:
  tools:
    regal:
      enabled: true

Development Tools

Biome is a fast formatter, linter, and analyzer for web projects.Configuration Options:
enabled
boolean
Enable Biome | Biome is a fast formatter, linter, and analyzer for web projects. | Enable Biome integration. | v2.1.2Defaults to true.
Example Configuration:
reviews:
  tools:
    biome:
      enabled: true
GitHub Checks integration configuration.Configuration Options:
enabled
boolean
Enable GitHub Checks | Enable integration, defaults to true | Enable GitHub Checks integration.Defaults to true.
timeout_ms
number
Time in milliseconds to wait for all GitHub Checks to conclude. Default 90 seconds, max 15 minutes (900000ms).Defaults to 90000.
Example Configuration:
reviews:
  tools:
    github-checks:
      enabled: true
ShellCheck is a static analysis tool that finds bugs in your shell scripts.Configuration Options:
enabled
boolean
Enable ShellCheck | ShellCheck is a static analysis tool that finds bugs in your shell. | Enable ShellCheck integration. | v0.11.0Defaults to true.
Example Configuration:
reviews:
  tools:
    shellcheck:
      enabled: true
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.39.5Configuration Options:
rule_dirs
array of string
List of rules directories.Defaults to “.
util_dirs
array of string
List of utils directories.Defaults to “.
essential_rules
boolean
Use ast-grep essentials package.Defaults to true.
packages
array of string
Predefined packages to be used.Defaults to “.
Example Configuration:
reviews:
  tools:
    ast-grep:
      enabled: true