> ## Documentation Index
> Fetch the complete documentation index at: https://docs.coderabbit.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Third-party tools overview

> Integrate 50+ third-party tools like ESLint, Ruff, and Betterleaks into CodeRabbit reviews for enhanced code quality and 1-click fixes.

export const ProPlanBadge = ({tip = "This feature is available as part of the Pro, Pro+ and Enterprise plans. Please refer to our pricing page for more information about our plans and features.", title = "Pro Plan", cta = "Read more", href = "https://coderabbit.ai/pricing", disabled = false}) => {
  return <Tooltip tip={tip} cta={cta} href={href}>
        <Badge icon="shield-check" disabled={disabled || undefined}>
            {title}
        </Badge>
    </Tooltip>;
};

export const AllPlatformsBadge = ({tip = "This feature is available on all supported platforms: GitHub, GitLab, Azure DevOps, and Bitbucket.", title = "All Platforms", cta, href, disabled = false}) => {
  return <Tooltip tip={tip} cta={cta} href={href}>
        <Badge icon="globe" disabled={disabled || undefined}>
            {title}
        </Badge>
    </Tooltip>;
};

<AllPlatformsBadge /> | <ProPlanBadge />

CodeRabbit integrates with [50+](/tools/list) third-party linters and security analysis tools to enhance your code reviews. These tools run automatically in secure sandboxed environments, providing detailed feedback and 1-click fixes for common issues.

## Default behavior

Almost all tools are enabled by default. CodeRabbit automatically determines which tools are relevant for each project, for example, PHP linters won't run on a Java project, and Rust linters won't run on a Python codebase. Tools are only invoked when the repository contains files they understand.

This means most projects require no tool configuration at all. The defaults work well out of the box. Configuration is typically only needed when you want to:

* **Disable a specific tool** that is not relevant or causes too much noise for your project.
* **Point to a non-default config file location**, for example if your ESLint config is in a custom path rather than the project root.

For details on how a specific tool behaves, what file types it targets, and what configuration options it supports, see that tool's individual page in the [tool catalog](/tools/list).

## Configuration methods

### Individual tool settings

<Tabs borderBottom>
  <Tab title="YAML configuration">
    Add tools to your repository's `.coderabbit.yaml` file:

    ```yaml .coderabbit.yaml lines wrap icon="code" theme={null}
    reviews:
      tools:
        eslint:
          enabled: true
        ruff:
          enabled: true
          config_file: "pyproject.toml"
    ```

    Use `reviews.tools.<tool>.enabled` to enable or disable individual tools. The optional `config_file` field points to your existing tool-specific configuration file (for example `.eslintrc.js` or `pyproject.toml`), letting you control which rules are active and their severity. See [specific tool guides](/tools/list) for more detailed instructions.
  </Tab>

  <Tab title="Settings page">
    Configure tools through CodeRabbit's web interface:

    1. Navigate to **Reviews → Tools** in your settings (use **All Settings** mode)
    2. Toggle individual tools on/off
    3. Save changes to apply across all repositories
  </Tab>
</Tabs>

### Configuration files

When a tool-specific configuration file is present in your repository (such as `.eslintrc.js` or `pyproject.toml`), CodeRabbit uses it as-is. When no configuration file is found, most tools fall back to a profile-based default configuration so reviews still run without any setup required.

### Profiles

CodeRabbit offers two review profiles that control tool strictness:

* `Chill`: Focuses on critical issues and reduces noise from minor style violations
* `Assertive`: Provides comprehensive feedback including style and best practice suggestions

  ```yaml .coderabbit.yaml lines wrap icon="code" theme={null}
  reviews:
    profile: assertive
  ```

## Tool output and fixes

When tools detect issues, CodeRabbit attaches structured output under the **"Review details"** comment in your pull or merge request. Each entry shows the file path, line number, and the issue detected:

```shell lines wrap icon="code" theme={null}
ESLint
src/components/Button.tsx
12-12: 'React' must be in scope when using JSX

Add React import statement

(react/react-in-jsx-scope)
```

Many tools provide 1-click fixes that CodeRabbit can apply directly to your pull request, streamlining the review process.

## What's next

<CardGroup cols={1}>
  <Card title="Tool catalog" href="/tools/list" icon="list" horizontal>
    Browse all linters, security analyzers, and CI/CD integrations by category and technology.
  </Card>

  <Card title="Tool configuration reference" href="/tools/reference" icon="settings" horizontal>
    See every YAML configuration option for each supported tool.
  </Card>

  <Card title="YAML configuration" href="/reference/configuration" icon="file-text" horizontal>
    Full reference for all `.coderabbit.yaml` configuration options.
  </Card>
</CardGroup>
