> ## 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.

# Biome

> CodeRabbit runs Biome to find code quality issues in web projects.

[Biome](https://biomejs.dev/) is a linter for JavaScript, TypeScript, JSX, TSX, JSON, JSONC, and CSS. CodeRabbit runs Biome version 2.5.8.

## Files

Biome will run on files with the following extensions:

* `.js`
* `.mjs`
* `.cjs`
* `.jsx`
* `.ts`
* `.mts`
* `.cts`
* `.tsx`
* `.vue`
* `.astro`
* `.svelte`
* `.json`
* `.jsonc`
* `.css`

## Configuration

Biome is enabled by default. Enable or disable it with `.coderabbit.yaml` or the CodeRabbit web UI:

<Tabs>
  <Tab title=".coderabbit.yaml">
    ```yaml .coderabbit.yaml theme={null}
    reviews:
      tools:
        biome:
          enabled: true
    ```
  </Tab>

  <Tab title="Web UI">
    Go to **Reviews → Tools → Biome** in your organization or repository settings and toggle Biome `on` or `off`.
  </Tab>
</Tabs>

Biome supports the following config files:

* `biome.json`
* `biome.jsonc`
* `.biome.json`
* `.biome.jsonc`

Dot-prefixed config files are supported only at the repository root. In nested directories, CodeRabbit looks for `biome.json` and `biome.jsonc` and applies the nearest config to each supported changed file.

At the repository root, CodeRabbit recognizes all four filenames. In nested directories, CodeRabbit recognizes only `biome.json` and `biome.jsonc` and uses the nearest applicable configuration.

CodeRabbit uses profile-based defaults if no config file is found. It also uses those defaults when a repository config has JSON or JSONC parse errors, is not a JSON object, declares a different Biome schema version, or uses a package-based `extends` value.

## Profile behavior

When CodeRabbit generates the Biome configuration:

* **Chill** uses a focused set of correctness, suspicious-code, security, and performance rules.
* **Assertive** adds broader correctness, suspicious-code, style, accessibility, and complexity rules. CSS linting is enabled only in Assertive mode.

## Security policy and restrictions

Biome runs inside the CodeRabbit sandbox. CodeRabbit does not load JavaScript-based Biome plugins, custom Node.js hooks, or package-based `extends` values that resolve through `node_modules`.

## When we skip Biome

CodeRabbit will skip running Biome when:

* Biome is already running in GitHub Actions, GitLab CI, CircleCI, or Azure Pipelines.
* Biome rejects the repository configuration during execution, including for unknown keys, nested root configurations, or unresolved configuration.

## Notes

* Files in `node_modules/` directories are automatically excluded.
* Repository configurations that do not match the installed Biome schema version are replaced with CodeRabbit's generated profile configuration for the run.

## Links

* [Biome Configuration](https://biomejs.dev/reference/configuration/)
