Перейти к содержимому

CLI

Это содержимое пока не доступно на вашем языке.

Biome’s command-line interface for checking, formatting, and linting files, managing configuration, and interacting with the daemon.

Usage: biome COMMAND ...

Available options:

  • -h, --help — Prints help information
  • -V, --version — Prints version information

Available commands:

  • version — Prints the Biome CLI version and information about the connected daemon server, if any, then exits.
  • upgrade — Upgrades Biome to the latest stable version.
  • rage — Prints a troubleshooting report with CLI, platform, environment, configuration, workspace, and daemon server information.
  • start — Starts the Biome daemon server used for integration with third-party clients, such as editor extensions.
  • stop — Stops the Biome daemon server if it is running.
  • check — Checks the specified files for formatting, linting, and assist actions.
  • lint — Runs the linter on the specified files.
  • format — Formats the specified files.
  • ci — Runs formatting checks, linting checks, and assist actions in CI without modifying files.
  • init — Creates a default Biome configuration file in the current working directory.
  • lsp-proxy — Ensures that the Biome daemon server is running, then forwards Language Server Protocol messages between the daemon server and standard input and output.
  • migrate — Previews configuration updates required by breaking changes. The prettier and eslint subcommands instead import settings from those tools.
  • search — Finds code that matches a GritQL pattern. This command is experimental.
  • explain — Prints documentation for a lint rule or the path to the daemon server log directory.
  • clean — Removes the Biome daemon server log files.

Prints the Biome CLI version and information about the connected daemon server, if any, then exits.

Usage: biome version

These options are available to many commands and control general CLI behavior, diagnostics, and output.

  • --colors=<off|force> — Controls ANSI styling: off disables it, while force enables it even when the output does not appear to support ANSI escapes.

  • --use-server — Connects to a running instance of the Biome daemon server.

  • --verbose — Shows additional diagnostic details and lists the files that were processed or modified.

  • --config-path=PATH — Sets the path to the configuration file or the directory where Biome should search for biome.json or biome.jsonc. This option disables the default configuration file resolution.

    Uses environment variable BIOME_CONFIG_PATH

  • --max-diagnostics=<none|NUMBER> — Limits the number of diagnostics displayed. Use none to remove the limit.

    [default: 20]

  • --skip-parse-errors — Skips files containing syntax errors instead of emitting an error diagnostic.

  • --no-errors-on-unmatched — Does not emit an error when no files are processed.

  • --error-on-warnings — Exits with an error status if any warning diagnostics are emitted.

  • [--reporter=<default|concise|summary|json|json-pretty|github|gitlab|junit|checkstyle|rdjson|sarif>] [--reporter-file=PATH]

  • --reporter=<default|concise|summary|json|json-pretty|github|gitlab|junit|checkstyle|rdjson|sarif> — Changes how diagnostics and the run summary are written.

    [default: default]

  • --reporter-file=PATH — Writes the associated reporter’s output to PATH. Without --reporter, it writes the default reporter’s output.

  • --diagnostic-level=<info|warn|error> — Sets the minimum diagnostic severity to display: info, warn, or error. For example, --diagnostic-level=error displays only error-level diagnostics.

    [default: info]

Available options:

  • -h, --help — Prints help information

Upgrades Biome to the latest stable version.

This command upgrades the current Biome binary based on how it was installed:

  • Standalone: Upgrades a standalone binary in place to the latest stable version.

  • Homebrew: If Biome was installed with Homebrew, this command runs brew upgrade biome.

Set BIOME_DISTRIBUTION to npm, homebrew, or standalone to override automatic detection.

This command cannot update Biome binaries installed through npm. Update @biomejs/biome with your package manager instead.

Usage: biome upgrade

Available options:

  • -h, --help — Prints help information

Prints a troubleshooting report with CLI, platform, environment, configuration, workspace, and daemon server information.

Usage: biome rage [--daemon-logs] [--formatter] [--linter]

These options are available to many commands and control general CLI behavior, diagnostics, and output.

  • --colors=<off|force> — Controls ANSI styling: off disables it, while force enables it even when the output does not appear to support ANSI escapes.

  • --use-server — Connects to a running instance of the Biome daemon server.

  • --verbose — Shows additional diagnostic details and lists the files that were processed or modified.

  • --config-path=PATH — Sets the path to the configuration file or the directory where Biome should search for biome.json or biome.jsonc. This option disables the default configuration file resolution.

    Uses environment variable BIOME_CONFIG_PATH

  • --max-diagnostics=<none|NUMBER> — Limits the number of diagnostics displayed. Use none to remove the limit.

    [default: 20]

  • --skip-parse-errors — Skips files containing syntax errors instead of emitting an error diagnostic.

  • --no-errors-on-unmatched — Does not emit an error when no files are processed.

  • --error-on-warnings — Exits with an error status if any warning diagnostics are emitted.

  • [--reporter=<default|concise|summary|json|json-pretty|github|gitlab|junit|checkstyle|rdjson|sarif>] [--reporter-file=PATH]

  • --reporter=<default|concise|summary|json|json-pretty|github|gitlab|junit|checkstyle|rdjson|sarif> — Changes how diagnostics and the run summary are written.

    [default: default]

  • --reporter-file=PATH — Writes the associated reporter’s output to PATH. Without --reporter, it writes the default reporter’s output.

  • --diagnostic-level=<info|warn|error> — Sets the minimum diagnostic severity to display: info, warn, or error. For example, --diagnostic-level=error displays only error-level diagnostics.

    [default: info]

Options that control internal CLI and daemon server logging.

  • --log-file=PATH — For file-processing commands, writes internal CLI logs to this file instead of standard output.

    Uses environment variable BIOME_LOG_FILE

  • --log-prefix-name=STRING — When starting the daemon server, sets the file name prefix used for rotated log files.

    Uses environment variable BIOME_LOG_PREFIX_NAME

    [default: server.log]

  • --log-path=PATH — When starting the daemon server, sets the directory where log files are stored.

    Uses environment variable BIOME_LOG_PATH

    [default: /home/runner/.cache/biome/biome-logs]

  • --log-level=<none|tracing|debug|info|warn|error> — For file-processing commands, sets the internal CLI logging level to tracing, debug, info, warn, error, or none.

    Uses environment variable BIOME_LOG_LEVEL

    [default: none]

  • --log-kind=<pretty|compact|json> — For file-processing commands, selects the internal CLI log format: pretty, compact, or json.

    Uses environment variable BIOME_LOG_KIND

    [default: pretty]

Available options:

  • --daemon-logs — Includes the latest daemon server log. If the CLI is not connected to a daemon server, this flag also discovers running Biome daemon server instances.
  • --formatter — Includes the formatter settings loaded from the Biome configuration.
  • --linter — Includes the linter settings and enabled lint rules loaded from the Biome configuration.
  • -h, --help — Prints help information

Starts the Biome daemon server used for integration with third-party clients, such as editor extensions.

Usage: biome start [--log-prefix-name=STRING] [--log-path=PATH] [--log-level=<none|tracing|debug|info|warn|error>] [--log-kind=<pretty|compact|json>] [--watcher-kind=<polling|recommended|none>] [--watcher-polling-interval=NUMBER]

Options that control internal CLI and daemon server logging.

  • --log-file=PATH — For file-processing commands, writes internal CLI logs to this file instead of standard output.

    Uses environment variable BIOME_LOG_FILE

  • --log-prefix-name=STRING — When starting the daemon server, sets the file name prefix used for rotated log files.

    Uses environment variable BIOME_LOG_PREFIX_NAME

    [default: server.log]

  • --log-path=PATH — When starting the daemon server, sets the directory where log files are stored.

    Uses environment variable BIOME_LOG_PATH

    [default: /home/runner/.cache/biome/biome-logs]

  • --log-level=<none|tracing|debug|info|warn|error> — For file-processing commands, sets the internal CLI logging level to tracing, debug, info, warn, error, or none.

    Uses environment variable BIOME_LOG_LEVEL

    [default: none]

  • --log-kind=<pretty|compact|json> — For file-processing commands, selects the internal CLI log format: pretty, compact, or json.

    Uses environment variable BIOME_LOG_KIND

    [default: pretty]

Options that control the Biome daemon server’s file watcher.

  • --watcher-kind=<polling|recommended|none> — Selects how the daemon server detects file changes. recommended uses the operating system’s recommended watcher, polling periodically checks for changes, and none disables watching.

    Uses environment variable BIOME_WATCHER_KIND

    [default: recommended]

  • --watcher-polling-interval=NUMBER — Sets how often the polling watcher checks for file changes, in milliseconds. This setting applies only when --watcher-kind=polling.

    Uses environment variable BIOME_WATCHER_POLLING_INTERVAL

    [default: 2000]

Available options:

  • -h, --help — Prints help information

Stops the Biome daemon server if it is running.

Usage: biome stop

Available options:

  • -h, --help — Prints help information

Checks the specified files for formatting, linting, and assist actions.

Usage: biome check [--write] [--unsafe] [--assist-enabled=<true|false>] [--enforce-assist=<true|false>] [--format-with-errors=<true|false>] [--profile-rules] [--staged] [--changed] [--since=REF] [--only=<GROUP|RULE|DOMAIN|ACTION|PLUGIN>]… [--skip=<GROUP|RULE|DOMAIN|ACTION|PLUGIN>]… [--watch] [PATH]…

Options that change how the JSON parser behaves.

  • --json-parse-allow-comments=<true|false> — Allows parsing comments in .json files.
  • --json-parse-allow-trailing-commas=<true|false> — Allows parsing trailing commas in .json files.

The configuration contained in biome.json.

  • --vcs-enabled=<true|false> — Whether Biome should integrate with the version control client.

  • --vcs-client-kind=<git> — The version control client.

  • --vcs-use-ignore-file=<true|false> — When true, Biome ignores files listed in .gitignore, .ignore, and Git’s local exclude file.

  • --vcs-root=PATH — Sets the directory where Biome checks for version control files.

    Defaults to the directory containing biome.json or biome.jsonc. If no configuration is found, Biome uses the current working directory.

    If neither directory is available, Biome disables version control integration and emits a diagnostic.

  • --vcs-default-branch=BRANCH — The project’s default branch.

  • --files-max-size=NUMBER — The maximum source file size in bytes. Biome ignores larger files. Defaults to 1 MiB.

  • --files-ignore-unknown=<true|false> — Prevents Biome from emitting diagnostics for unrecognized file types.

  • --format-with-errors=<true|false> — Allows formatting files that contain syntax errors when set to true. Defaults to false.

  • --indent-style=<tab|space> — Uses tabs or spaces for indentation. Defaults to tab.

  • --indent-width=NUMBER — The indentation width. Defaults to 2.

  • --line-ending=<lf|crlf|cr|auto> — Selects the line ending. auto uses the platform convention. Defaults to lf.

  • --line-width=NUMBER — The maximum line width. Defaults to 80.

  • --attribute-position=<multiline|auto> — The attribute position style in HTML-like languages. Defaults to auto.

  • --bracket-same-line=<true|false> — Places the > of a multiline HTML or JSX element at the end of the last line instead of on the next line. Self-closing elements are unaffected. Defaults to false.

  • --bracket-spacing=<true|false> — Whether to insert spaces inside braces in object literals. Defaults to true.

  • --delimiter-spacing=<true|false> — Controls spaces immediately inside supported delimiters when their content fits on one line. It doesn’t add spaces before opening delimiters or inside empty delimiters.

    The affected delimiters vary by language. Defaults to false.

  • --expand=<auto|always|never> — Controls whether arrays and objects are formatted on one line or multiple lines.

    auto formats objects on multiple lines if the first property has a newline, and arrays on one line if they fit.

    always formats arrays and objects on multiple lines.

    never formats arrays and objects on one line if they fit.

    Defaults to auto.

    When formatting package.json, Biome uses always unless configured otherwise.

  • --trailing-newline=<true|false> — Whether to add a trailing newline at the end of the file. Defaults to true; disabling this option can cause compatibility problems with other tools.

  • --use-editorconfig=<true|false> — Uses .editorconfig files to configure the formatter. Settings in biome.json or biome.jsonc override .editorconfig settings. Defaults to false.

  • --jsx-everywhere=<true|false> — When enabled, files such as .js, .mjs, and .cjs may contain JSX syntax. Defaults to true.

  • --javascript-formatter-enabled=<true|false> — Controls the formatter for JavaScript and languages that extend it.

  • --jsx-quote-style=<double|single> — The type of quotes used in JSX. Defaults to double.

  • --quote-properties=<preserve|as-needed> — Controls when object properties are quoted. Defaults to asNeeded in configuration (as-needed on the CLI).

  • --trailing-commas=<all|es5|none> — Prints trailing commas wherever possible in multiline comma-separated structures. Defaults to all.

  • --semicolons=<always|as-needed> — Prints semicolons after every statement or only where needed to avoid automatic semicolon insertion hazards. Defaults to always.

  • --arrow-parentheses=<always|as-needed> — Whether to add parentheses around arrow function parameters. Defaults to always.

  • --bracket-same-line=<true|false> — Whether to hug the closing bracket of multiline HTML/JSX tags to the end of the last line, rather than being alone on the following line. If unset, inherits the global bracket placement setting.

  • --javascript-formatter-indent-style=<tab|space> — The indent style applied to JavaScript and languages that extend it. If unset, inherits the global indentation style.

  • --javascript-formatter-indent-width=NUMBER — The indentation width applied to JavaScript and languages that extend it. If unset, inherits the global indentation width.

  • --javascript-formatter-line-ending=<lf|crlf|cr|auto> — The line ending applied to JavaScript and languages that extend it. If unset, inherits the global line ending.

  • --javascript-formatter-line-width=NUMBER — The maximum line width applied to JavaScript and languages that extend it. If unset, inherits the global line width.

  • --javascript-formatter-quote-style=<double|single> — The type of quotes used in JavaScript code. Defaults to double.

  • --javascript-formatter-attribute-position=<multiline|auto> — The attribute position style in JSX elements. If unset, inherits the global attribute position setting.

  • --javascript-formatter-bracket-spacing=<true|false> — Whether to insert spaces inside braces in object literals. If unset, inherits the global bracket spacing setting.

  • --javascript-formatter-delimiter-spacing=<true|false> — Controls spaces immediately inside supported JavaScript and TypeScript delimiters when their content fits on one line. It doesn’t add spaces before opening delimiters or inside empty delimiters.

    It affects parentheses, square brackets, template interpolations, TypeScript angle brackets, JSX expression braces, and logical NOT. In operator chains, only the final operator receives a following space.

    If unset, inherits the global delimiter spacing setting.

  • --javascript-formatter-expand=<auto|always|never> — Uses the same auto, always, and never behavior as the global expansion setting.

    If unset, inherits the global expansion setting.

  • --javascript-formatter-operator-linebreak=<before|after> — When breaking binary expressions into multiple lines, whether to break them before or after the binary operator. Defaults to after.

  • --javascript-formatter-trailing-newline=<true|false> — Whether to add a trailing newline at the end of the file. If unset, inherits the global trailing newline setting.

  • --javascript-linter-enabled=<true|false> — Controls the linter for JavaScript and languages that extend it.

  • --javascript-assist-enabled=<true|false> — Controls assist actions for JavaScript and languages that extend it.

  • --json-parse-allow-comments=<true|false> — Allows parsing comments in .json files.

  • --json-parse-allow-trailing-commas=<true|false> — Allows parsing trailing commas in .json files.

  • --json-formatter-enabled=<true|false> — Controls the formatter for JSON and languages that extend it.

  • --json-formatter-indent-style=<tab|space> — The indent style applied to JSON and languages that extend it. If unset, inherits the global indentation style.

  • --json-formatter-indent-width=NUMBER — The indentation width applied to JSON and languages that extend it. If unset, inherits the global indentation width.

  • --json-formatter-line-ending=<lf|crlf|cr|auto> — The line ending applied to JSON and languages that extend it. If unset, inherits the global line ending.

  • --json-formatter-line-width=NUMBER — The maximum line width applied to JSON and languages that extend it. If unset, inherits the global line width.

  • --json-formatter-trailing-commas=<none|all> — Prints trailing commas wherever possible in multiline comma-separated structures. Defaults to none.

  • --json-formatter-expand=<auto|always|never> — Uses the same auto, always, and never behavior as the global expansion setting.

    If unset, inherits the global expansion setting.

    When formatting package.json, Biome uses always unless configured otherwise.

  • --json-formatter-bracket-spacing=<true|false> — Whether to insert spaces inside braces in object literals. If unset, inherits the global bracket spacing setting.

  • --json-formatter-delimiter-spacing=<true|false> — Controls spaces inside JSON square brackets when their content fits on one line. When enabled, [1, 2, 3] becomes [ 1, 2, 3 ]. Empty brackets are unchanged.

    If unset, inherits the global delimiter spacing setting.

  • --json-formatter-trailing-newline=<true|false> — Whether to add a trailing newline at the end of the file. If unset, inherits the global trailing newline setting.

  • --json-linter-enabled=<true|false> — Controls the linter for JSON and languages that extend it.

  • --json-assist-enabled=<true|false> — Controls assist actions for JSON and languages that extend it.

  • --css-parse-css-modules=<true|false> — Enables parsing of CSS Modules-specific features. Enable this feature only when your files don’t end in .module.css.

  • --css-parse-tailwind-directives=<true|false> — Enables parsing of Tailwind CSS 4.0 directives and functions.

  • --css-formatter-enabled=<true|false> — Controls the formatter for CSS and languages that extend it.

  • --css-formatter-indent-style=<tab|space> — The indent style applied to CSS and languages that extend it. If unset, inherits the global indentation style.

  • --css-formatter-indent-width=NUMBER — The indentation width applied to CSS and languages that extend it. If unset, inherits the global indentation width.

  • --css-formatter-line-ending=<lf|crlf|cr|auto> — The line ending applied to CSS and languages that extend it. If unset, inherits the global line ending.

  • --css-formatter-line-width=NUMBER — The maximum line width for CSS and languages that extend it. If unset, inherits the global line width.

  • --css-formatter-quote-style=<double|single> — The type of quotes used in CSS code. Defaults to double.

  • --css-formatter-delimiter-spacing=<true|false> — Controls spaces inside CSS parentheses and square brackets when their content fits on one line. When enabled, rgb(0, 0, 0) becomes rgb( 0, 0, 0 ) and [data-attr] becomes [ data-attr ]. Empty delimiters are unchanged.

    If unset, inherits the global delimiter spacing setting.

  • --css-formatter-trailing-newline=<true|false> — Whether to add a trailing newline at the end of the file. If unset, inherits the global trailing newline setting.

  • --css-linter-enabled=<true|false> — Controls the linter for CSS files.

  • --css-assist-enabled=<true|false> — Controls assist actions for CSS files.

  • --graphql-formatter-enabled=<true|false> — Controls the formatter for GraphQL files.

  • --graphql-formatter-indent-style=<tab|space> — The indent style applied to GraphQL files. If unset, inherits the global indentation style.

  • --graphql-formatter-indent-width=NUMBER — The indentation width applied to GraphQL files. If unset, inherits the global indentation width.

  • --graphql-formatter-line-ending=<lf|crlf|cr|auto> — The line ending applied to GraphQL files. If unset, inherits the global line ending.

  • --graphql-formatter-line-width=NUMBER — The maximum line width for GraphQL files. If unset, inherits the global line width.

  • --graphql-formatter-quote-style=<double|single> — The type of quotes used in GraphQL code. Defaults to double.

  • --bracket-spacing=<true|false> — Whether to insert spaces inside braces in object literals. If unset, inherits the global bracket spacing setting.

  • --graphql-formatter-trailing-newline=<true|false> — Whether to add a trailing newline at the end of the file. If unset, inherits the global trailing newline setting.

  • --graphql-linter-enabled=<true|false> — Controls the linter for GraphQL files.

  • --graphql-assist-enabled=<true|false> — Controls assist actions for GraphQL files.

  • --grit-formatter-enabled=<true|false> — Controls the formatter for GritQL files.

  • --grit-formatter-indent-style=<tab|space> — The indent style applied to GritQL files. If unset, inherits the global indentation style.

  • --grit-formatter-indent-width=NUMBER — The indentation width applied to GritQL files. If unset, inherits the global indentation width.

  • --grit-formatter-line-ending=<lf|crlf|cr|auto> — The line ending applied to GritQL files. If unset, inherits the global line ending.

  • --grit-formatter-line-width=NUMBER — The maximum line width for GritQL files. If unset, inherits the global line width.

  • --grit-formatter-trailing-newline=<true|false> — Whether to add a trailing newline at the end of the file. If unset, inherits the global trailing newline setting.

  • --grit-linter-enabled=<true|false> — Controls the linter for GritQL files.

  • --grit-assist-enabled=<true|false> — Controls assist actions for GritQL files.

  • --html-formatter-enabled=<true|false> — Controls the formatter for HTML and languages that extend it.

  • --html-formatter-indent-style=<tab|space> — The indent style applied to HTML and languages that extend it. If unset, inherits the global indentation style.

  • --html-formatter-indent-width=NUMBER — The indentation width applied to HTML and languages that extend it. If unset, inherits the global indentation width.

  • --html-formatter-line-ending=<lf|crlf|cr|auto> — The line ending applied to HTML and languages that extend it. If unset, inherits the global line ending.

  • --html-formatter-line-width=NUMBER — The maximum line width for HTML and languages that extend it. If unset, inherits the global line width.

  • --html-formatter-attribute-position=<multiline|auto> — The attribute position style in HTML elements. If unset, inherits the global attribute position setting.

  • --html-formatter-bracket-same-line=<true|false> — Whether to place the closing bracket of a multiline HTML tag at the end of the last line instead of on its own line. If unset, inherits the global bracketSameLine setting.

  • --html-formatter-whitespace-sensitivity=<css|strict|ignore> — Whether to account for whitespace sensitivity when formatting HTML and languages that extend it. Defaults to css.

  • --html-formatter-indent-script-and-style=<true|false> — Whether to indent <script> and <style> tags in HTML and languages that extend it. Defaults to false.

  • --html-formatter-self-close-void-elements=<always|never> — Controls whether void elements are self-closed. Defaults to never.

  • --html-formatter-trailing-newline=<true|false> — Whether to add a trailing newline at the end of the file. Unlike other language-specific trailing newline settings, this option defaults to true instead of inheriting the global setting.

  • --html-linter-enabled=<true|false> — Controls the linter for HTML and languages that extend it.

  • --html-assist-enabled=<true|false> — Controls assist actions for HTML and languages that extend it.

  • --assist-enabled=<true|false> — Whether Biome should enable assist via LSP and CLI.

These options are available to many commands and control general CLI behavior, diagnostics, and output.

  • --colors=<off|force> — Controls ANSI styling: off disables it, while force enables it even when the output does not appear to support ANSI escapes.

  • --use-server — Connects to a running instance of the Biome daemon server.

  • --verbose — Shows additional diagnostic details and lists the files that were processed or modified.

  • --config-path=PATH — Sets the path to the configuration file or the directory where Biome should search for biome.json or biome.jsonc. This option disables the default configuration file resolution.

    Uses environment variable BIOME_CONFIG_PATH

  • --max-diagnostics=<none|NUMBER> — Limits the number of diagnostics displayed. Use none to remove the limit.

    [default: 20]

  • --skip-parse-errors — Skips files containing syntax errors instead of emitting an error diagnostic.

  • --no-errors-on-unmatched — Does not emit an error when no files are processed.

  • --error-on-warnings — Exits with an error status if any warning diagnostics are emitted.

  • [--reporter=<default|concise|summary|json|json-pretty|github|gitlab|junit|checkstyle|rdjson|sarif>] [--reporter-file=PATH]

  • --reporter=<default|concise|summary|json|json-pretty|github|gitlab|junit|checkstyle|rdjson|sarif> — Changes how diagnostics and the run summary are written.

    [default: default]

  • --reporter-file=PATH — Writes the associated reporter’s output to PATH. Without --reporter, it writes the default reporter’s output.

  • --diagnostic-level=<info|warn|error> — Sets the minimum diagnostic severity to display: info, warn, or error. For example, --diagnostic-level=error displays only error-level diagnostics.

    [default: info]

Options that control internal CLI and daemon server logging.

  • --log-file=PATH — For file-processing commands, writes internal CLI logs to this file instead of standard output.

    Uses environment variable BIOME_LOG_FILE

  • --log-prefix-name=STRING — When starting the daemon server, sets the file name prefix used for rotated log files.

    Uses environment variable BIOME_LOG_PREFIX_NAME

    [default: server.log]

  • --log-path=PATH — When starting the daemon server, sets the directory where log files are stored.

    Uses environment variable BIOME_LOG_PATH

    [default: /home/runner/.cache/biome/biome-logs]

  • --log-level=<none|tracing|debug|info|warn|error> — For file-processing commands, sets the internal CLI logging level to tracing, debug, info, warn, error, or none.

    Uses environment variable BIOME_LOG_LEVEL

    [default: none]

  • --log-kind=<pretty|compact|json> — For file-processing commands, selects the internal CLI log format: pretty, compact, or json.

    Uses environment variable BIOME_LOG_KIND

    [default: pretty]

Available positional items:

  • PATH — The optional PATH arguments accept one or more paths to files or directories. If omitted, Biome processes files in the current working directory.

Available options:

  • --write — Applies formatting changes, safe lint fixes, and safe assist actions.

  • --unsafe — Allows --write or --fix to apply unsafe fixes and assist actions.

  • --fix — Alias for --write.

  • --formatter-enabled=<true|false> — Enables or disables formatting checks for this command.

  • --linter-enabled=<true|false> — Enables or disables linting checks for this command.

  • --assist-enabled=<true|false> — Enables or disables assist actions for this command.

  • --enforce-assist=<true|false> — Enforces assist actions and causes the command to fail if required actions are not applied. Defaults to true.

  • --format-with-errors=<true|false> — Allows formatting files that contain syntax errors when set to true. Defaults to false.

  • --profile-rules — Enables rule profiling output. Captures timing only for rule execution, not preprocessing such as querying or building the semantic model.

  • --stdin-file-path=PATH — Reads code from standard input and writes the processed code to standard output.

    Biome uses PATH to select settings and determine the input type from its extension. Virtual paths don’t need to exist or belong to the project and bypass files.includes and VCS ignore checks.

    Example:

    Terminal window
    echo 'let a;' | biome check --stdin-file-path=file.js --write
  • --staged — Processes only staged files. This option is intended for local use.

  • --changed — Processes only files changed by commits since the merge base between REF and HEAD. REF comes from --since or vcs.defaultBranch. Staged and unstaged changes are not included. This option is intended for CI.

  • --since=REF — Sets the base reference used by --changed, overriding vcs.defaultBranch. Requires --changed.

  • --only=<GROUP|RULE|DOMAIN|ACTION|PLUGIN> — Runs only the given lint rule, assist action, group of rules and actions, or domain. If a selected rule’s severity is off, Biome sets it to error for a recommended rule or warn otherwise. The plugin group runs only analyzer plugins.

    Example:

    Terminal window
    biome check --only=correctness/noUnusedVariables --only=suspicious --only=test --only=plugin
  • --skip=<GROUP|RULE|DOMAIN|ACTION|PLUGIN> — Skips the given lint rule, assist action, group of rules and actions, or domain. Matching lint rules are set to off. This option takes precedence over --only. The plugin group skips analyzer plugins.

    Example:

    Terminal window
    biome check --skip=correctness/noUnusedVariables --skip=suspicious --skip=project --skip=plugin
  • --watch — After the initial run, watches the selected paths and reprocesses files modified afterward.

  • -h, --help — Prints help information

Runs the linter on the specified files.

Usage: biome lint [--write] [--unsafe] [--suppress] [--reason=STRING] [--only=<GROUP|RULE|DOMAIN|PLUGIN>]… [--skip=<GROUP|RULE|DOMAIN|PLUGIN>]… [--staged] [--changed] [--since=REF] [--profile-rules] [--watch] [PATH]…

Options that change how the JSON parser behaves.

  • --json-parse-allow-comments=<true|false> — Allows parsing comments in .json files.
  • --json-parse-allow-trailing-commas=<true|false> — Allows parsing trailing commas in .json files.

Settings for integrating Biome with version control.

  • --vcs-enabled=<true|false> — Whether Biome should integrate with the version control client.

  • --vcs-client-kind=<git> — The version control client.

  • --vcs-use-ignore-file=<true|false> — When true, Biome ignores files listed in .gitignore, .ignore, and Git’s local exclude file.

  • --vcs-root=PATH — Sets the directory where Biome checks for version control files.

    Defaults to the directory containing biome.json or biome.jsonc. If no configuration is found, Biome uses the current working directory.

    If neither directory is available, Biome disables version control integration and emits a diagnostic.

  • --vcs-default-branch=BRANCH — The project’s default branch.

The file handling configuration.

  • --files-max-size=NUMBER — The maximum source file size in bytes. Biome ignores larger files. Defaults to 1 MiB.
  • --files-ignore-unknown=<true|false> — Prevents Biome from emitting diagnostics for unrecognized file types.

Linter options specific to the JavaScript linter

  • --javascript-linter-enabled=<true|false> — Controls the linter for JavaScript and languages that extend it.

Linter options specific to the JSON linter

  • --json-linter-enabled=<true|false> — Controls the linter for JSON and languages that extend it.

These options are available to many commands and control general CLI behavior, diagnostics, and output.

  • --colors=<off|force> — Controls ANSI styling: off disables it, while force enables it even when the output does not appear to support ANSI escapes.

  • --use-server — Connects to a running instance of the Biome daemon server.

  • --verbose — Shows additional diagnostic details and lists the files that were processed or modified.

  • --config-path=PATH — Sets the path to the configuration file or the directory where Biome should search for biome.json or biome.jsonc. This option disables the default configuration file resolution.

    Uses environment variable BIOME_CONFIG_PATH

  • --max-diagnostics=<none|NUMBER> — Limits the number of diagnostics displayed. Use none to remove the limit.

    [default: 20]

  • --skip-parse-errors — Skips files containing syntax errors instead of emitting an error diagnostic.

  • --no-errors-on-unmatched — Does not emit an error when no files are processed.

  • --error-on-warnings — Exits with an error status if any warning diagnostics are emitted.

  • [--reporter=<default|concise|summary|json|json-pretty|github|gitlab|junit|checkstyle|rdjson|sarif>] [--reporter-file=PATH]

  • --reporter=<default|concise|summary|json|json-pretty|github|gitlab|junit|checkstyle|rdjson|sarif> — Changes how diagnostics and the run summary are written.

    [default: default]

  • --reporter-file=PATH — Writes the associated reporter’s output to PATH. Without --reporter, it writes the default reporter’s output.

  • --diagnostic-level=<info|warn|error> — Sets the minimum diagnostic severity to display: info, warn, or error. For example, --diagnostic-level=error displays only error-level diagnostics.

    [default: info]

Options that control internal CLI and daemon server logging.

  • --log-file=PATH — For file-processing commands, writes internal CLI logs to this file instead of standard output.

    Uses environment variable BIOME_LOG_FILE

  • --log-prefix-name=STRING — When starting the daemon server, sets the file name prefix used for rotated log files.

    Uses environment variable BIOME_LOG_PREFIX_NAME

    [default: server.log]

  • --log-path=PATH — When starting the daemon server, sets the directory where log files are stored.

    Uses environment variable BIOME_LOG_PATH

    [default: /home/runner/.cache/biome/biome-logs]

  • --log-level=<none|tracing|debug|info|warn|error> — For file-processing commands, sets the internal CLI logging level to tracing, debug, info, warn, error, or none.

    Uses environment variable BIOME_LOG_LEVEL

    [default: none]

  • --log-kind=<pretty|compact|json> — For file-processing commands, selects the internal CLI log format: pretty, compact, or json.

    Uses environment variable BIOME_LOG_KIND

    [default: pretty]

Available positional items:

  • PATH — The optional PATH arguments accept one or more paths to files or directories. If omitted, Biome processes files in the current working directory.

Available options:

  • --write — Applies safe lint fixes.

  • --unsafe — Allows --write or --fix to apply unsafe lint fixes.

  • --fix — Alias for --write.

  • --suppress — Writes comment suppressions for lint rule violations instead of applying rule fixes.

  • --reason=STRING — Adds an explanation to suppressions created by --suppress. This flag requires --suppress.

  • --only=<GROUP|RULE|DOMAIN|PLUGIN> — Runs only the given lint rule, rule group, or domain. If a rule’s severity is off, Biome sets it to error for a recommended rule or warn otherwise. The plugin group runs only analyzer plugins.

    Example:

    Terminal window
    biome lint --only=correctness/noUnusedVariables --only=suspicious --only=test --only=plugin
  • --skip=<GROUP|RULE|DOMAIN|PLUGIN> — Skips the given lint rule, rule group, or domain by setting the affected rules to off. This option takes precedence over --only. The plugin group skips analyzer plugins.

    Example:

    Terminal window
    biome lint --skip=correctness/noUnusedVariables --skip=suspicious --skip=project --skip=plugin
  • --stdin-file-path=PATH — Reads code from standard input and writes the processed code to standard output.

    Biome uses PATH to select settings and determine the input type from its extension. Virtual paths don’t need to exist or belong to the project and bypass files.includes and VCS ignore checks.

    Example:

    Terminal window
    echo 'let a;' | biome lint --stdin-file-path=file.js --write
  • --staged — Processes only staged files. This option is intended for local use.

  • --changed — Processes only files changed by commits since the merge base between REF and HEAD. REF comes from --since or vcs.defaultBranch. Staged and unstaged changes are not included. This option is intended for CI.

  • --since=REF — Sets the base reference used by --changed, overriding vcs.defaultBranch. Requires --changed.

  • --profile-rules — Enables rule profiling output. Captures timing only for rule execution, not preprocessing such as querying or building the semantic model.

  • --watch — After the initial run, watches the selected paths and reprocesses files modified afterward.

  • -h, --help — Prints help information

Formats the specified files.

Usage: biome format [--write] [--staged] [--changed] [--since=REF] [--watch] [PATH]…

Generic options applied to all files

  • --format-with-errors=<true|false> — Allows formatting files that contain syntax errors when set to true. Defaults to false.

  • --indent-style=<tab|space> — Uses tabs or spaces for indentation. Defaults to tab.

  • --indent-width=NUMBER — The indentation width. Defaults to 2.

  • --line-ending=<lf|crlf|cr|auto> — Selects the line ending. auto uses the platform convention. Defaults to lf.

  • --line-width=NUMBER — The maximum line width. Defaults to 80.

  • --attribute-position=<multiline|auto> — The attribute position style in HTML-like languages. Defaults to auto.

  • --bracket-same-line=<true|false> — Places the > of a multiline HTML or JSX element at the end of the last line instead of on the next line. Self-closing elements are unaffected. Defaults to false.

  • --bracket-spacing=<true|false> — Whether to insert spaces inside braces in object literals. Defaults to true.

  • --delimiter-spacing=<true|false> — Controls spaces immediately inside supported delimiters when their content fits on one line. It doesn’t add spaces before opening delimiters or inside empty delimiters.

    The affected delimiters vary by language. Defaults to false.

  • --expand=<auto|always|never> — Controls whether arrays and objects are formatted on one line or multiple lines.

    auto formats objects on multiple lines if the first property has a newline, and arrays on one line if they fit.

    always formats arrays and objects on multiple lines.

    never formats arrays and objects on one line if they fit.

    Defaults to auto.

    When formatting package.json, Biome uses always unless configured otherwise.

  • --trailing-newline=<true|false> — Whether to add a trailing newline at the end of the file. Defaults to true; disabling this option can cause compatibility problems with other tools.

  • --use-editorconfig=<true|false> — Uses .editorconfig files to configure the formatter. Settings in biome.json or biome.jsonc override .editorconfig settings. Defaults to false.

Formatting options specific to the JavaScript files

  • --javascript-formatter-enabled=<true|false> — Controls the formatter for JavaScript and languages that extend it.

  • --jsx-quote-style=<double|single> — The type of quotes used in JSX. Defaults to double.

  • --quote-properties=<preserve|as-needed> — Controls when object properties are quoted. Defaults to asNeeded in configuration (as-needed on the CLI).

  • --trailing-commas=<all|es5|none> — Prints trailing commas wherever possible in multiline comma-separated structures. Defaults to all.

  • --semicolons=<always|as-needed> — Prints semicolons after every statement or only where needed to avoid automatic semicolon insertion hazards. Defaults to always.

  • --arrow-parentheses=<always|as-needed> — Whether to add parentheses around arrow function parameters. Defaults to always.

  • --bracket-same-line=<true|false> — Whether to hug the closing bracket of multiline HTML/JSX tags to the end of the last line, rather than being alone on the following line. If unset, inherits the global bracket placement setting.

  • --javascript-formatter-indent-style=<tab|space> — The indent style applied to JavaScript and languages that extend it. If unset, inherits the global indentation style.

  • --javascript-formatter-indent-width=NUMBER — The indentation width applied to JavaScript and languages that extend it. If unset, inherits the global indentation width.

  • --javascript-formatter-line-ending=<lf|crlf|cr|auto> — The line ending applied to JavaScript and languages that extend it. If unset, inherits the global line ending.

  • --javascript-formatter-line-width=NUMBER — The maximum line width applied to JavaScript and languages that extend it. If unset, inherits the global line width.

  • --javascript-formatter-quote-style=<double|single> — The type of quotes used in JavaScript code. Defaults to double.

  • --javascript-formatter-attribute-position=<multiline|auto> — The attribute position style in JSX elements. If unset, inherits the global attribute position setting.

  • --javascript-formatter-bracket-spacing=<true|false> — Whether to insert spaces inside braces in object literals. If unset, inherits the global bracket spacing setting.

  • --javascript-formatter-delimiter-spacing=<true|false> — Controls spaces immediately inside supported JavaScript and TypeScript delimiters when their content fits on one line. It doesn’t add spaces before opening delimiters or inside empty delimiters.

    It affects parentheses, square brackets, template interpolations, TypeScript angle brackets, JSX expression braces, and logical NOT. In operator chains, only the final operator receives a following space.

    If unset, inherits the global delimiter spacing setting.

  • --javascript-formatter-expand=<auto|always|never> — Uses the same auto, always, and never behavior as the global expansion setting.

    If unset, inherits the global expansion setting.

  • --javascript-formatter-operator-linebreak=<before|after> — When breaking binary expressions into multiple lines, whether to break them before or after the binary operator. Defaults to after.

  • --javascript-formatter-trailing-newline=<true|false> — Whether to add a trailing newline at the end of the file. If unset, inherits the global trailing newline setting.

Options that change how the JSON parser behaves.

  • --json-parse-allow-comments=<true|false> — Allows parsing comments in .json files.
  • --json-parse-allow-trailing-commas=<true|false> — Allows parsing trailing commas in .json files.

Options that change how the CSS parser behaves.

  • --css-parse-css-modules=<true|false> — Enables parsing of CSS Modules-specific features. Enable this feature only when your files don’t end in .module.css.
  • --css-parse-tailwind-directives=<true|false> — Enables parsing of Tailwind CSS 4.0 directives and functions.

Options that change how the GraphQL formatter behaves.

  • --graphql-formatter-enabled=<true|false> — Controls the formatter for GraphQL files.
  • --graphql-formatter-indent-style=<tab|space> — The indent style applied to GraphQL files. If unset, inherits the global indentation style.
  • --graphql-formatter-indent-width=NUMBER — The indentation width applied to GraphQL files. If unset, inherits the global indentation width.
  • --graphql-formatter-line-ending=<lf|crlf|cr|auto> — The line ending applied to GraphQL files. If unset, inherits the global line ending.
  • --graphql-formatter-line-width=NUMBER — The maximum line width for GraphQL files. If unset, inherits the global line width.
  • --graphql-formatter-quote-style=<double|single> — The type of quotes used in GraphQL code. Defaults to double.
  • --bracket-spacing=<true|false> — Whether to insert spaces inside braces in object literals. If unset, inherits the global bracket spacing setting.
  • --graphql-formatter-trailing-newline=<true|false> — Whether to add a trailing newline at the end of the file. If unset, inherits the global trailing newline setting.

Options that change how the CSS formatter behaves.

  • --css-formatter-enabled=<true|false> — Controls the formatter for CSS and languages that extend it.

  • --css-formatter-indent-style=<tab|space> — The indent style applied to CSS and languages that extend it. If unset, inherits the global indentation style.

  • --css-formatter-indent-width=NUMBER — The indentation width applied to CSS and languages that extend it. If unset, inherits the global indentation width.

  • --css-formatter-line-ending=<lf|crlf|cr|auto> — The line ending applied to CSS and languages that extend it. If unset, inherits the global line ending.

  • --css-formatter-line-width=NUMBER — The maximum line width for CSS and languages that extend it. If unset, inherits the global line width.

  • --css-formatter-quote-style=<double|single> — The type of quotes used in CSS code. Defaults to double.

  • --css-formatter-delimiter-spacing=<true|false> — Controls spaces inside CSS parentheses and square brackets when their content fits on one line. When enabled, rgb(0, 0, 0) becomes rgb( 0, 0, 0 ) and [data-attr] becomes [ data-attr ]. Empty delimiters are unchanged.

    If unset, inherits the global delimiter spacing setting.

  • --css-formatter-trailing-newline=<true|false> — Whether to add a trailing newline at the end of the file. If unset, inherits the global trailing newline setting.

Options that change how the HTML formatter behaves.

  • --html-formatter-enabled=<true|false> — Controls the formatter for HTML and languages that extend it.
  • --html-formatter-indent-style=<tab|space> — The indent style applied to HTML and languages that extend it. If unset, inherits the global indentation style.
  • --html-formatter-indent-width=NUMBER — The indentation width applied to HTML and languages that extend it. If unset, inherits the global indentation width.
  • --html-formatter-line-ending=<lf|crlf|cr|auto> — The line ending applied to HTML and languages that extend it. If unset, inherits the global line ending.
  • --html-formatter-line-width=NUMBER — The maximum line width for HTML and languages that extend it. If unset, inherits the global line width.
  • --html-formatter-attribute-position=<multiline|auto> — The attribute position style in HTML elements. If unset, inherits the global attribute position setting.
  • --html-formatter-bracket-same-line=<true|false> — Whether to place the closing bracket of a multiline HTML tag at the end of the last line instead of on its own line. If unset, inherits the global bracketSameLine setting.
  • --html-formatter-whitespace-sensitivity=<css|strict|ignore> — Whether to account for whitespace sensitivity when formatting HTML and languages that extend it. Defaults to css.
  • --html-formatter-indent-script-and-style=<true|false> — Whether to indent <script> and <style> tags in HTML and languages that extend it. Defaults to false.
  • --html-formatter-self-close-void-elements=<always|never> — Controls whether void elements are self-closed. Defaults to never.
  • --html-formatter-trailing-newline=<true|false> — Whether to add a trailing newline at the end of the file. Unlike other language-specific trailing newline settings, this option defaults to true instead of inheriting the global setting.

Settings for integrating Biome with version control.

  • --vcs-enabled=<true|false> — Whether Biome should integrate with the version control client.

  • --vcs-client-kind=<git> — The version control client.

  • --vcs-use-ignore-file=<true|false> — When true, Biome ignores files listed in .gitignore, .ignore, and Git’s local exclude file.

  • --vcs-root=PATH — Sets the directory where Biome checks for version control files.

    Defaults to the directory containing biome.json or biome.jsonc. If no configuration is found, Biome uses the current working directory.

    If neither directory is available, Biome disables version control integration and emits a diagnostic.

  • --vcs-default-branch=BRANCH — The project’s default branch.

The file handling configuration.

  • --files-max-size=NUMBER — The maximum source file size in bytes. Biome ignores larger files. Defaults to 1 MiB.
  • --files-ignore-unknown=<true|false> — Prevents Biome from emitting diagnostics for unrecognized file types.

These options are available to many commands and control general CLI behavior, diagnostics, and output.

  • --colors=<off|force> — Controls ANSI styling: off disables it, while force enables it even when the output does not appear to support ANSI escapes.

  • --use-server — Connects to a running instance of the Biome daemon server.

  • --verbose — Shows additional diagnostic details and lists the files that were processed or modified.

  • --config-path=PATH — Sets the path to the configuration file or the directory where Biome should search for biome.json or biome.jsonc. This option disables the default configuration file resolution.

    Uses environment variable BIOME_CONFIG_PATH

  • --max-diagnostics=<none|NUMBER> — Limits the number of diagnostics displayed. Use none to remove the limit.

    [default: 20]

  • --skip-parse-errors — Skips files containing syntax errors instead of emitting an error diagnostic.

  • --no-errors-on-unmatched — Does not emit an error when no files are processed.

  • --error-on-warnings — Exits with an error status if any warning diagnostics are emitted.

  • [--reporter=<default|concise|summary|json|json-pretty|github|gitlab|junit|checkstyle|rdjson|sarif>] [--reporter-file=PATH]

  • --reporter=<default|concise|summary|json|json-pretty|github|gitlab|junit|checkstyle|rdjson|sarif> — Changes how diagnostics and the run summary are written.

    [default: default]

  • --reporter-file=PATH — Writes the associated reporter’s output to PATH. Without --reporter, it writes the default reporter’s output.

  • --diagnostic-level=<info|warn|error> — Sets the minimum diagnostic severity to display: info, warn, or error. For example, --diagnostic-level=error displays only error-level diagnostics.

    [default: info]

Options that control internal CLI and daemon server logging.

  • --log-file=PATH — For file-processing commands, writes internal CLI logs to this file instead of standard output.

    Uses environment variable BIOME_LOG_FILE

  • --log-prefix-name=STRING — When starting the daemon server, sets the file name prefix used for rotated log files.

    Uses environment variable BIOME_LOG_PREFIX_NAME

    [default: server.log]

  • --log-path=PATH — When starting the daemon server, sets the directory where log files are stored.

    Uses environment variable BIOME_LOG_PATH

    [default: /home/runner/.cache/biome/biome-logs]

  • --log-level=<none|tracing|debug|info|warn|error> — For file-processing commands, sets the internal CLI logging level to tracing, debug, info, warn, error, or none.

    Uses environment variable BIOME_LOG_LEVEL

    [default: none]

  • --log-kind=<pretty|compact|json> — For file-processing commands, selects the internal CLI log format: pretty, compact, or json.

    Uses environment variable BIOME_LOG_KIND

    [default: pretty]

Available positional items:

  • PATH — The optional PATH arguments accept one or more paths to files or directories. If omitted, Biome processes files in the current working directory.

Available options:

  • --json-formatter-enabled=<true|false> — Controls the formatter for JSON and languages that extend it.

  • --json-formatter-indent-style=<tab|space> — The indent style applied to JSON and languages that extend it. If unset, inherits the global indentation style.

  • --json-formatter-indent-width=NUMBER — The indentation width applied to JSON and languages that extend it. If unset, inherits the global indentation width.

  • --json-formatter-line-ending=<lf|crlf|cr|auto> — The line ending applied to JSON and languages that extend it. If unset, inherits the global line ending.

  • --json-formatter-line-width=NUMBER — The maximum line width applied to JSON and languages that extend it. If unset, inherits the global line width.

  • --json-formatter-trailing-commas=<none|all> — Prints trailing commas wherever possible in multiline comma-separated structures. Defaults to none.

  • --json-formatter-expand=<auto|always|never> — Uses the same auto, always, and never behavior as the global expansion setting.

    If unset, inherits the global expansion setting.

    When formatting package.json, Biome uses always unless configured otherwise.

  • --json-formatter-bracket-spacing=<true|false> — Whether to insert spaces inside braces in object literals. If unset, inherits the global bracket spacing setting.

  • --json-formatter-delimiter-spacing=<true|false> — Controls spaces inside JSON square brackets when their content fits on one line. When enabled, [1, 2, 3] becomes [ 1, 2, 3 ]. Empty brackets are unchanged.

    If unset, inherits the global delimiter spacing setting.

  • --json-formatter-trailing-newline=<true|false> — Whether to add a trailing newline at the end of the file. If unset, inherits the global trailing newline setting.

  • --stdin-file-path=PATH — Reads code from standard input and writes the processed code to standard output.

    Biome uses PATH to select settings and determine the input type from its extension. Virtual paths don’t need to exist or belong to the project and bypass files.includes and VCS ignore checks.

    Example:

    Terminal window
    echo 'let a;' | biome format --stdin-file-path=file.js
  • --write — Applies formatting changes.

  • --fix — Alias for --write.

  • --staged — Processes only staged files. This option is intended for local use.

  • --changed — Processes only files changed by commits since the merge base between REF and HEAD. REF comes from --since or vcs.defaultBranch. Staged and unstaged changes are not included. This option is intended for CI.

  • --since=REF — Sets the base reference used by --changed, overriding vcs.defaultBranch. Requires --changed.

  • --watch — After the initial run, watches the selected paths and reprocesses files modified afterward.

  • -h, --help — Prints help information

Runs formatting checks, linting checks, and assist actions in CI without modifying files.

Usage: biome ci [--formatter-enabled=<true|false>] [--linter-enabled=<true|false>] [--assist-enabled=<true|false>] [--format-with-errors=<true|false>] [--enforce-assist=<true|false>] [--changed] [--since=REF] [--only=<GROUP|RULE|DOMAIN|ACTION|PLUGIN>]… [--skip=<GROUP|RULE|DOMAIN|ACTION|PLUGIN>]… [PATH]…

Options that change how the JSON parser behaves.

  • --json-parse-allow-comments=<true|false> — Allows parsing comments in .json files.
  • --json-parse-allow-trailing-commas=<true|false> — Allows parsing trailing commas in .json files.

The configuration contained in biome.json.

  • --vcs-enabled=<true|false> — Whether Biome should integrate with the version control client.

  • --vcs-client-kind=<git> — The version control client.

  • --vcs-use-ignore-file=<true|false> — When true, Biome ignores files listed in .gitignore, .ignore, and Git’s local exclude file.

  • --vcs-root=PATH — Sets the directory where Biome checks for version control files.

    Defaults to the directory containing biome.json or biome.jsonc. If no configuration is found, Biome uses the current working directory.

    If neither directory is available, Biome disables version control integration and emits a diagnostic.

  • --vcs-default-branch=BRANCH — The project’s default branch.

  • --files-max-size=NUMBER — The maximum source file size in bytes. Biome ignores larger files. Defaults to 1 MiB.

  • --files-ignore-unknown=<true|false> — Prevents Biome from emitting diagnostics for unrecognized file types.

  • --format-with-errors=<true|false> — Allows formatting files that contain syntax errors when set to true. Defaults to false.

  • --indent-style=<tab|space> — Uses tabs or spaces for indentation. Defaults to tab.

  • --indent-width=NUMBER — The indentation width. Defaults to 2.

  • --line-ending=<lf|crlf|cr|auto> — Selects the line ending. auto uses the platform convention. Defaults to lf.

  • --line-width=NUMBER — The maximum line width. Defaults to 80.

  • --attribute-position=<multiline|auto> — The attribute position style in HTML-like languages. Defaults to auto.

  • --bracket-same-line=<true|false> — Places the > of a multiline HTML or JSX element at the end of the last line instead of on the next line. Self-closing elements are unaffected. Defaults to false.

  • --bracket-spacing=<true|false> — Whether to insert spaces inside braces in object literals. Defaults to true.

  • --delimiter-spacing=<true|false> — Controls spaces immediately inside supported delimiters when their content fits on one line. It doesn’t add spaces before opening delimiters or inside empty delimiters.

    The affected delimiters vary by language. Defaults to false.

  • --expand=<auto|always|never> — Controls whether arrays and objects are formatted on one line or multiple lines.

    auto formats objects on multiple lines if the first property has a newline, and arrays on one line if they fit.

    always formats arrays and objects on multiple lines.

    never formats arrays and objects on one line if they fit.

    Defaults to auto.

    When formatting package.json, Biome uses always unless configured otherwise.

  • --trailing-newline=<true|false> — Whether to add a trailing newline at the end of the file. Defaults to true; disabling this option can cause compatibility problems with other tools.

  • --use-editorconfig=<true|false> — Uses .editorconfig files to configure the formatter. Settings in biome.json or biome.jsonc override .editorconfig settings. Defaults to false.

  • --jsx-everywhere=<true|false> — When enabled, files such as .js, .mjs, and .cjs may contain JSX syntax. Defaults to true.

  • --javascript-formatter-enabled=<true|false> — Controls the formatter for JavaScript and languages that extend it.

  • --jsx-quote-style=<double|single> — The type of quotes used in JSX. Defaults to double.

  • --quote-properties=<preserve|as-needed> — Controls when object properties are quoted. Defaults to asNeeded in configuration (as-needed on the CLI).

  • --trailing-commas=<all|es5|none> — Prints trailing commas wherever possible in multiline comma-separated structures. Defaults to all.

  • --semicolons=<always|as-needed> — Prints semicolons after every statement or only where needed to avoid automatic semicolon insertion hazards. Defaults to always.

  • --arrow-parentheses=<always|as-needed> — Whether to add parentheses around arrow function parameters. Defaults to always.

  • --bracket-same-line=<true|false> — Whether to hug the closing bracket of multiline HTML/JSX tags to the end of the last line, rather than being alone on the following line. If unset, inherits the global bracket placement setting.

  • --javascript-formatter-indent-style=<tab|space> — The indent style applied to JavaScript and languages that extend it. If unset, inherits the global indentation style.

  • --javascript-formatter-indent-width=NUMBER — The indentation width applied to JavaScript and languages that extend it. If unset, inherits the global indentation width.

  • --javascript-formatter-line-ending=<lf|crlf|cr|auto> — The line ending applied to JavaScript and languages that extend it. If unset, inherits the global line ending.

  • --javascript-formatter-line-width=NUMBER — The maximum line width applied to JavaScript and languages that extend it. If unset, inherits the global line width.

  • --javascript-formatter-quote-style=<double|single> — The type of quotes used in JavaScript code. Defaults to double.

  • --javascript-formatter-attribute-position=<multiline|auto> — The attribute position style in JSX elements. If unset, inherits the global attribute position setting.

  • --javascript-formatter-bracket-spacing=<true|false> — Whether to insert spaces inside braces in object literals. If unset, inherits the global bracket spacing setting.

  • --javascript-formatter-delimiter-spacing=<true|false> — Controls spaces immediately inside supported JavaScript and TypeScript delimiters when their content fits on one line. It doesn’t add spaces before opening delimiters or inside empty delimiters.

    It affects parentheses, square brackets, template interpolations, TypeScript angle brackets, JSX expression braces, and logical NOT. In operator chains, only the final operator receives a following space.

    If unset, inherits the global delimiter spacing setting.

  • --javascript-formatter-expand=<auto|always|never> — Uses the same auto, always, and never behavior as the global expansion setting.

    If unset, inherits the global expansion setting.

  • --javascript-formatter-operator-linebreak=<before|after> — When breaking binary expressions into multiple lines, whether to break them before or after the binary operator. Defaults to after.

  • --javascript-formatter-trailing-newline=<true|false> — Whether to add a trailing newline at the end of the file. If unset, inherits the global trailing newline setting.

  • --javascript-linter-enabled=<true|false> — Controls the linter for JavaScript and languages that extend it.

  • --javascript-assist-enabled=<true|false> — Controls assist actions for JavaScript and languages that extend it.

  • --json-parse-allow-comments=<true|false> — Allows parsing comments in .json files.

  • --json-parse-allow-trailing-commas=<true|false> — Allows parsing trailing commas in .json files.

  • --json-formatter-enabled=<true|false> — Controls the formatter for JSON and languages that extend it.

  • --json-formatter-indent-style=<tab|space> — The indent style applied to JSON and languages that extend it. If unset, inherits the global indentation style.

  • --json-formatter-indent-width=NUMBER — The indentation width applied to JSON and languages that extend it. If unset, inherits the global indentation width.

  • --json-formatter-line-ending=<lf|crlf|cr|auto> — The line ending applied to JSON and languages that extend it. If unset, inherits the global line ending.

  • --json-formatter-line-width=NUMBER — The maximum line width applied to JSON and languages that extend it. If unset, inherits the global line width.

  • --json-formatter-trailing-commas=<none|all> — Prints trailing commas wherever possible in multiline comma-separated structures. Defaults to none.

  • --json-formatter-expand=<auto|always|never> — Uses the same auto, always, and never behavior as the global expansion setting.

    If unset, inherits the global expansion setting.

    When formatting package.json, Biome uses always unless configured otherwise.

  • --json-formatter-bracket-spacing=<true|false> — Whether to insert spaces inside braces in object literals. If unset, inherits the global bracket spacing setting.

  • --json-formatter-delimiter-spacing=<true|false> — Controls spaces inside JSON square brackets when their content fits on one line. When enabled, [1, 2, 3] becomes [ 1, 2, 3 ]. Empty brackets are unchanged.

    If unset, inherits the global delimiter spacing setting.

  • --json-formatter-trailing-newline=<true|false> — Whether to add a trailing newline at the end of the file. If unset, inherits the global trailing newline setting.

  • --json-linter-enabled=<true|false> — Controls the linter for JSON and languages that extend it.

  • --json-assist-enabled=<true|false> — Controls assist actions for JSON and languages that extend it.

  • --css-parse-css-modules=<true|false> — Enables parsing of CSS Modules-specific features. Enable this feature only when your files don’t end in .module.css.

  • --css-parse-tailwind-directives=<true|false> — Enables parsing of Tailwind CSS 4.0 directives and functions.

  • --css-formatter-enabled=<true|false> — Controls the formatter for CSS and languages that extend it.

  • --css-formatter-indent-style=<tab|space> — The indent style applied to CSS and languages that extend it. If unset, inherits the global indentation style.

  • --css-formatter-indent-width=NUMBER — The indentation width applied to CSS and languages that extend it. If unset, inherits the global indentation width.

  • --css-formatter-line-ending=<lf|crlf|cr|auto> — The line ending applied to CSS and languages that extend it. If unset, inherits the global line ending.

  • --css-formatter-line-width=NUMBER — The maximum line width for CSS and languages that extend it. If unset, inherits the global line width.

  • --css-formatter-quote-style=<double|single> — The type of quotes used in CSS code. Defaults to double.

  • --css-formatter-delimiter-spacing=<true|false> — Controls spaces inside CSS parentheses and square brackets when their content fits on one line. When enabled, rgb(0, 0, 0) becomes rgb( 0, 0, 0 ) and [data-attr] becomes [ data-attr ]. Empty delimiters are unchanged.

    If unset, inherits the global delimiter spacing setting.

  • --css-formatter-trailing-newline=<true|false> — Whether to add a trailing newline at the end of the file. If unset, inherits the global trailing newline setting.

  • --css-linter-enabled=<true|false> — Controls the linter for CSS files.

  • --css-assist-enabled=<true|false> — Controls assist actions for CSS files.

  • --graphql-formatter-enabled=<true|false> — Controls the formatter for GraphQL files.

  • --graphql-formatter-indent-style=<tab|space> — The indent style applied to GraphQL files. If unset, inherits the global indentation style.

  • --graphql-formatter-indent-width=NUMBER — The indentation width applied to GraphQL files. If unset, inherits the global indentation width.

  • --graphql-formatter-line-ending=<lf|crlf|cr|auto> — The line ending applied to GraphQL files. If unset, inherits the global line ending.

  • --graphql-formatter-line-width=NUMBER — The maximum line width for GraphQL files. If unset, inherits the global line width.

  • --graphql-formatter-quote-style=<double|single> — The type of quotes used in GraphQL code. Defaults to double.

  • --bracket-spacing=<true|false> — Whether to insert spaces inside braces in object literals. If unset, inherits the global bracket spacing setting.

  • --graphql-formatter-trailing-newline=<true|false> — Whether to add a trailing newline at the end of the file. If unset, inherits the global trailing newline setting.

  • --graphql-linter-enabled=<true|false> — Controls the linter for GraphQL files.

  • --graphql-assist-enabled=<true|false> — Controls assist actions for GraphQL files.

  • --grit-formatter-enabled=<true|false> — Controls the formatter for GritQL files.

  • --grit-formatter-indent-style=<tab|space> — The indent style applied to GritQL files. If unset, inherits the global indentation style.

  • --grit-formatter-indent-width=NUMBER — The indentation width applied to GritQL files. If unset, inherits the global indentation width.

  • --grit-formatter-line-ending=<lf|crlf|cr|auto> — The line ending applied to GritQL files. If unset, inherits the global line ending.

  • --grit-formatter-line-width=NUMBER — The maximum line width for GritQL files. If unset, inherits the global line width.

  • --grit-formatter-trailing-newline=<true|false> — Whether to add a trailing newline at the end of the file. If unset, inherits the global trailing newline setting.

  • --grit-linter-enabled=<true|false> — Controls the linter for GritQL files.

  • --grit-assist-enabled=<true|false> — Controls assist actions for GritQL files.

  • --html-formatter-enabled=<true|false> — Controls the formatter for HTML and languages that extend it.

  • --html-formatter-indent-style=<tab|space> — The indent style applied to HTML and languages that extend it. If unset, inherits the global indentation style.

  • --html-formatter-indent-width=NUMBER — The indentation width applied to HTML and languages that extend it. If unset, inherits the global indentation width.

  • --html-formatter-line-ending=<lf|crlf|cr|auto> — The line ending applied to HTML and languages that extend it. If unset, inherits the global line ending.

  • --html-formatter-line-width=NUMBER — The maximum line width for HTML and languages that extend it. If unset, inherits the global line width.

  • --html-formatter-attribute-position=<multiline|auto> — The attribute position style in HTML elements. If unset, inherits the global attribute position setting.

  • --html-formatter-bracket-same-line=<true|false> — Whether to place the closing bracket of a multiline HTML tag at the end of the last line instead of on its own line. If unset, inherits the global bracketSameLine setting.

  • --html-formatter-whitespace-sensitivity=<css|strict|ignore> — Whether to account for whitespace sensitivity when formatting HTML and languages that extend it. Defaults to css.

  • --html-formatter-indent-script-and-style=<true|false> — Whether to indent <script> and <style> tags in HTML and languages that extend it. Defaults to false.

  • --html-formatter-self-close-void-elements=<always|never> — Controls whether void elements are self-closed. Defaults to never.

  • --html-formatter-trailing-newline=<true|false> — Whether to add a trailing newline at the end of the file. Unlike other language-specific trailing newline settings, this option defaults to true instead of inheriting the global setting.

  • --html-linter-enabled=<true|false> — Controls the linter for HTML and languages that extend it.

  • --html-assist-enabled=<true|false> — Controls assist actions for HTML and languages that extend it.

  • --assist-enabled=<true|false> — Whether Biome should enable assist via LSP and CLI.

These options are available to many commands and control general CLI behavior, diagnostics, and output.

  • --colors=<off|force> — Controls ANSI styling: off disables it, while force enables it even when the output does not appear to support ANSI escapes.

  • --use-server — Connects to a running instance of the Biome daemon server.

  • --verbose — Shows additional diagnostic details and lists the files that were processed or modified.

  • --config-path=PATH — Sets the path to the configuration file or the directory where Biome should search for biome.json or biome.jsonc. This option disables the default configuration file resolution.

    Uses environment variable BIOME_CONFIG_PATH

  • --max-diagnostics=<none|NUMBER> — Limits the number of diagnostics displayed. Use none to remove the limit.

    [default: 20]

  • --skip-parse-errors — Skips files containing syntax errors instead of emitting an error diagnostic.

  • --no-errors-on-unmatched — Does not emit an error when no files are processed.

  • --error-on-warnings — Exits with an error status if any warning diagnostics are emitted.

  • [--reporter=<default|concise|summary|json|json-pretty|github|gitlab|junit|checkstyle|rdjson|sarif>] [--reporter-file=PATH]

  • --reporter=<default|concise|summary|json|json-pretty|github|gitlab|junit|checkstyle|rdjson|sarif> — Changes how diagnostics and the run summary are written.

    [default: default]

  • --reporter-file=PATH — Writes the associated reporter’s output to PATH. Without --reporter, it writes the default reporter’s output.

  • --diagnostic-level=<info|warn|error> — Sets the minimum diagnostic severity to display: info, warn, or error. For example, --diagnostic-level=error displays only error-level diagnostics.

    [default: info]

Options that control internal CLI and daemon server logging.

  • --log-file=PATH — For file-processing commands, writes internal CLI logs to this file instead of standard output.

    Uses environment variable BIOME_LOG_FILE

  • --log-prefix-name=STRING — When starting the daemon server, sets the file name prefix used for rotated log files.

    Uses environment variable BIOME_LOG_PREFIX_NAME

    [default: server.log]

  • --log-path=PATH — When starting the daemon server, sets the directory where log files are stored.

    Uses environment variable BIOME_LOG_PATH

    [default: /home/runner/.cache/biome/biome-logs]

  • --log-level=<none|tracing|debug|info|warn|error> — For file-processing commands, sets the internal CLI logging level to tracing, debug, info, warn, error, or none.

    Uses environment variable BIOME_LOG_LEVEL

    [default: none]

  • --log-kind=<pretty|compact|json> — For file-processing commands, selects the internal CLI log format: pretty, compact, or json.

    Uses environment variable BIOME_LOG_KIND

    [default: pretty]

Available positional items:

  • PATH — The optional PATH arguments accept one or more paths to files or directories. If omitted, Biome processes files in the current working directory.

Available options:

  • --formatter-enabled=<true|false> — Enables or disables formatting checks for this command.

  • --linter-enabled=<true|false> — Enables or disables linting checks for this command.

  • --assist-enabled=<true|false> — Enables or disables assist actions for this command.

  • --format-with-errors=<true|false> — Allows formatting files that contain syntax errors when set to true. Defaults to false.

  • --enforce-assist=<true|false> — Enforces assist actions and causes the command to fail if required actions are not applied. Defaults to true.

  • --changed — Processes only files changed by commits since the merge base between REF and HEAD. REF comes from --since or vcs.defaultBranch. Staged and unstaged changes are not included. This option is intended for CI.

  • --since=REF — Sets the base reference used by --changed, overriding vcs.defaultBranch. Requires --changed.

  • --threads=NUMBER — Sets the number of threads to use. This is useful in environments with limited resources, such as CI.

    Uses environment variable BIOME_THREADS

  • --only=<GROUP|RULE|DOMAIN|ACTION|PLUGIN> — Runs only the given lint rule, assist action, group of rules and actions, or domain. If a selected rule’s severity is off, Biome sets it to error for a recommended rule or warn otherwise. The plugin group runs only analyzer plugins.

    Example:

    Terminal window
    biome ci --only=correctness/noUnusedVariables --only=suspicious --only=test --only=plugin
  • --skip=<GROUP|RULE|DOMAIN|ACTION|PLUGIN> — Skips the given lint rule, assist action, group of rules and actions, or domain. Matching lint rules are set to off. This option takes precedence over --only. The plugin group skips analyzer plugins.

    Example:

    Terminal window
    biome ci --skip=correctness/noUnusedVariables --skip=suspicious --skip=project --skip=plugin
  • -h, --help — Prints help information

Creates a default Biome configuration file in the current working directory.

Usage: biome init [--jsonc]

Available options:

  • --jsonc — Creates biome.jsonc instead of biome.json.
  • -h, --help — Prints help information

Ensures that the Biome daemon server is running, then forwards Language Server Protocol messages between the daemon server and standard input and output.

Usage: biome lsp-proxy [--log-prefix-name=STRING] [--log-path=PATH] [--log-level=<none|tracing|debug|info|warn|error>] [--log-kind=<pretty|compact|json>] [--watcher-kind=<polling|recommended|none>] [--watcher-polling-interval=NUMBER]

Options that control internal CLI and daemon server logging.

  • --log-file=PATH — For file-processing commands, writes internal CLI logs to this file instead of standard output.

    Uses environment variable BIOME_LOG_FILE

  • --log-prefix-name=STRING — When starting the daemon server, sets the file name prefix used for rotated log files.

    Uses environment variable BIOME_LOG_PREFIX_NAME

    [default: server.log]

  • --log-path=PATH — When starting the daemon server, sets the directory where log files are stored.

    Uses environment variable BIOME_LOG_PATH

    [default: /home/runner/.cache/biome/biome-logs]

  • --log-level=<none|tracing|debug|info|warn|error> — For file-processing commands, sets the internal CLI logging level to tracing, debug, info, warn, error, or none.

    Uses environment variable BIOME_LOG_LEVEL

    [default: none]

  • --log-kind=<pretty|compact|json> — For file-processing commands, selects the internal CLI log format: pretty, compact, or json.

    Uses environment variable BIOME_LOG_KIND

    [default: pretty]

Options that control the Biome daemon server’s file watcher.

  • --watcher-kind=<polling|recommended|none> — Selects how the daemon server detects file changes. recommended uses the operating system’s recommended watcher, polling periodically checks for changes, and none disables watching.

    Uses environment variable BIOME_WATCHER_KIND

    [default: recommended]

  • --watcher-polling-interval=NUMBER — Sets how often the polling watcher checks for file changes, in milliseconds. This setting applies only when --watcher-kind=polling.

    Uses environment variable BIOME_WATCHER_POLLING_INTERVAL

    [default: 2000]

Available options:

  • -h, --help — Prints help information

Previews configuration updates required by breaking changes. The prettier and eslint subcommands instead import settings from those tools.

By default, this command displays the proposed changes without modifying files. Use --write to apply them.

Usage: biome migrate [--write] [COMMAND ...]

These options are available to many commands and control general CLI behavior, diagnostics, and output.

  • --colors=<off|force> — Controls ANSI styling: off disables it, while force enables it even when the output does not appear to support ANSI escapes.

  • --use-server — Connects to a running instance of the Biome daemon server.

  • --verbose — Shows additional diagnostic details and lists the files that were processed or modified.

  • --config-path=PATH — Sets the path to the configuration file or the directory where Biome should search for biome.json or biome.jsonc. This option disables the default configuration file resolution.

    Uses environment variable BIOME_CONFIG_PATH

  • --max-diagnostics=<none|NUMBER> — Limits the number of diagnostics displayed. Use none to remove the limit.

    [default: 20]

  • --skip-parse-errors — Skips files containing syntax errors instead of emitting an error diagnostic.

  • --no-errors-on-unmatched — Does not emit an error when no files are processed.

  • --error-on-warnings — Exits with an error status if any warning diagnostics are emitted.

  • [--reporter=<default|concise|summary|json|json-pretty|github|gitlab|junit|checkstyle|rdjson|sarif>] [--reporter-file=PATH]

  • --reporter=<default|concise|summary|json|json-pretty|github|gitlab|junit|checkstyle|rdjson|sarif> — Changes how diagnostics and the run summary are written.

    [default: default]

  • --reporter-file=PATH — Writes the associated reporter’s output to PATH. Without --reporter, it writes the default reporter’s output.

  • --diagnostic-level=<info|warn|error> — Sets the minimum diagnostic severity to display: info, warn, or error. For example, --diagnostic-level=error displays only error-level diagnostics.

    [default: info]

Options that control internal CLI and daemon server logging.

  • --log-file=PATH — For file-processing commands, writes internal CLI logs to this file instead of standard output.

    Uses environment variable BIOME_LOG_FILE

  • --log-prefix-name=STRING — When starting the daemon server, sets the file name prefix used for rotated log files.

    Uses environment variable BIOME_LOG_PREFIX_NAME

    [default: server.log]

  • --log-path=PATH — When starting the daemon server, sets the directory where log files are stored.

    Uses environment variable BIOME_LOG_PATH

    [default: /home/runner/.cache/biome/biome-logs]

  • --log-level=<none|tracing|debug|info|warn|error> — For file-processing commands, sets the internal CLI logging level to tracing, debug, info, warn, error, or none.

    Uses environment variable BIOME_LOG_LEVEL

    [default: none]

  • --log-kind=<pretty|compact|json> — For file-processing commands, selects the internal CLI log format: pretty, compact, or json.

    Uses environment variable BIOME_LOG_KIND

    [default: pretty]

Available options:

  • --write — Applies the proposed migration or imported settings.
  • --fix — Alias for --write.
  • -h, --help — Prints help information

Available commands:

  • prettier — Imports Prettier configuration and ignore settings into the Biome configuration.
  • eslint — Imports an ESLint configuration and ignore settings from the current working directory into the Biome configuration.

Imports Prettier configuration and ignore settings into the Biome configuration.

Usage: biome migrate prettier

Available options:

  • -h, --help — Prints help information

Imports an ESLint configuration and ignore settings from the current working directory into the Biome configuration.

Usage: biome migrate eslint [--include-inspired] [--include-nursery]

Available options:

  • --include-inspired — Includes Biome rules inspired by ESLint rules in the migration.
  • --include-nursery — Includes nursery rules in the migration.
  • -h, --help — Prints help information

Finds code that matches a GritQL pattern. This command is experimental.

GritQL delimits code snippets with backticks. Because many shells interpret backticks specially, enclose the complete query in single quotes when the shell supports them.

Terminal window
biome search '`console.log($message)`' # find all `console.log` invocations

Usage: biome search [-l=<css|javascript|json>] PATTERN [PATH]…

These options are available to many commands and control general CLI behavior, diagnostics, and output.

  • --colors=<off|force> — Controls ANSI styling: off disables it, while force enables it even when the output does not appear to support ANSI escapes.

  • --use-server — Connects to a running instance of the Biome daemon server.

  • --verbose — Shows additional diagnostic details and lists the files that were processed or modified.

  • --config-path=PATH — Sets the path to the configuration file or the directory where Biome should search for biome.json or biome.jsonc. This option disables the default configuration file resolution.

    Uses environment variable BIOME_CONFIG_PATH

  • --max-diagnostics=<none|NUMBER> — Limits the number of diagnostics displayed. Use none to remove the limit.

    [default: 20]

  • --skip-parse-errors — Skips files containing syntax errors instead of emitting an error diagnostic.

  • --no-errors-on-unmatched — Does not emit an error when no files are processed.

  • --error-on-warnings — Exits with an error status if any warning diagnostics are emitted.

  • [--reporter=<default|concise|summary|json|json-pretty|github|gitlab|junit|checkstyle|rdjson|sarif>] [--reporter-file=PATH]

  • --reporter=<default|concise|summary|json|json-pretty|github|gitlab|junit|checkstyle|rdjson|sarif> — Changes how diagnostics and the run summary are written.

    [default: default]

  • --reporter-file=PATH — Writes the associated reporter’s output to PATH. Without --reporter, it writes the default reporter’s output.

  • --diagnostic-level=<info|warn|error> — Sets the minimum diagnostic severity to display: info, warn, or error. For example, --diagnostic-level=error displays only error-level diagnostics.

    [default: info]

Options that control internal CLI and daemon server logging.

  • --log-file=PATH — For file-processing commands, writes internal CLI logs to this file instead of standard output.

    Uses environment variable BIOME_LOG_FILE

  • --log-prefix-name=STRING — When starting the daemon server, sets the file name prefix used for rotated log files.

    Uses environment variable BIOME_LOG_PREFIX_NAME

    [default: server.log]

  • --log-path=PATH — When starting the daemon server, sets the directory where log files are stored.

    Uses environment variable BIOME_LOG_PATH

    [default: /home/runner/.cache/biome/biome-logs]

  • --log-level=<none|tracing|debug|info|warn|error> — For file-processing commands, sets the internal CLI logging level to tracing, debug, info, warn, error, or none.

    Uses environment variable BIOME_LOG_LEVEL

    [default: none]

  • --log-kind=<pretty|compact|json> — For file-processing commands, selects the internal CLI log format: pretty, compact, or json.

    Uses environment variable BIOME_LOG_KIND

    [default: pretty]

The file handling configuration.

  • --files-max-size=NUMBER — The maximum source file size in bytes. Biome ignores larger files. Defaults to 1 MiB.
  • --files-ignore-unknown=<true|false> — Prevents Biome from emitting diagnostics for unrecognized file types.

Settings for integrating Biome with version control.

  • --vcs-enabled=<true|false> — Whether Biome should integrate with the version control client.

  • --vcs-client-kind=<git> — The version control client.

  • --vcs-use-ignore-file=<true|false> — When true, Biome ignores files listed in .gitignore, .ignore, and Git’s local exclude file.

  • --vcs-root=PATH — Sets the directory where Biome checks for version control files.

    Defaults to the directory containing biome.json or biome.jsonc. If no configuration is found, Biome uses the current working directory.

    If neither directory is available, Biome disables version control integration and emits a diagnostic.

  • --vcs-default-branch=BRANCH — The project’s default branch.

Available positional items:

  • PATTERN — The required PATTERN argument is the GritQL pattern to find. It must be a search pattern because rewrites are not supported.
  • PATH — The optional PATH arguments limit the search to one or more files or directories. If omitted, Biome searches files in the current working directory.

Available options:

  • -l, --language=<css|javascript|json> — Selects the language grammar used for the pattern and searched code: CSS, JavaScript, or JSON.

    GritQL patterns are specific to their target grammar, so a search cannot target multiple languages at once.

    Defaults to javascript.

  • -h, --help — Prints help information

Prints documentation for a lint rule or the path to the daemon server log directory.

Terminal window
biome explain noDebugger
Terminal window
biome explain daemon-logs

Usage: biome explain NAME

Available positional items:

  • NAMENAME is a lint rule name or daemon-logs.

Available options:

  • -h, --help — Prints help information

Removes the Biome daemon server log files.

Usage: biome clean

Available options:

  • -h, --help — Prints help information
  • When encountering symbolic links, the CLI will expand them until three levels deep. Deeper levels will result into an error diagnostic.