biome Documentation

A toolchain for web projects, aimed to provide functionalities to maintain them. Biome offers formatter and linter, usable via CLI and LSP.

RAW Doc

1. Project Overview & Quickstart (biomejs/biome)

Biome is a performant toolchain for web projects, it aims to provide developer tools to maintain the health of said projects.

Biome is a fast formatter for JavaScript, TypeScript, JSX, JSON, CSS and GraphQL that scores 97% compatibility with Prettier.

Biome is a performant linter for JavaScript, TypeScript, JSX, JSON, CSS, and GraphQL that features more than 500 rules from ESLint, typescript-eslint, and other sources.
It outputs detailed and contextualized diagnostics that help you to improve your code and become a better programmer!

Biome is designed from the start to be used interactively within an editor.
It can format and lint malformed code as you are writing it.

Installation

shell
npm install --save-dev --save-exact @biomejs/biome

Usage

shell
# format files
npx @biomejs/biome format --write

# lint files and apply the safe fixes
npx @biomejs/biome lint --write

# run format, lint, etc. and apply the safe fixes
npx @biomejs/biome check --write

# check all files against format, lint, etc. in CI environments
npx @biomejs/biome ci

If you want to give Biome a run without installing it, use the online playground, compiled to WebAssembly.

Documentation

Check out our homepage to learn more about Biome,
or directly head to the Getting Started guide to start using Biome.

More about Biome

Biome has sane defaults and it doesn't require configuration.

Biome aims to support all main languages of modern web development.

Biome doesn't require Node.js to function.

Biome has first-class LSP support, with a sophisticated parser that represents the source text in full fidelity and top-notch error recovery.

Biome wants to offer a high-quality Developer Experience, with descriptive diagnostics and great performance.

Biome unifies functionalities that have previously been separate tools. Building upon a shared base allows us to provide a cohesive experience for processing code, displaying errors, parallelize work, caching, and configuration.

Read more about our project philosophy.

Biome is MIT licensed or Apache 2.0 licensed and moderated under the Contributor Covenant Code of Conduct.

Funding

You can fund the project in different ways

Project sponsorship and funding

You can sponsor or fund the project via Open collective or GitHub sponsors

Biome offers a simple sponsorship program that allows companies to get visibility and recognition among various developers.

Biome offers enterprise support, where Core Contributors can be employed to work on company-focused projects.

Sponsors

Platinum Sponsors

Gold Sponsors

Silver Sponsors

Bronze Sponsors

2. Official Technical Reference & Guides (biomejs/website)

[`biomejs.dev`](https://biomejs.dev/)


The website source of biomejs/biome.

Clone

To clone the repository, run

shell
git clone https://github.com/biomejs/website

Installation

First install pnpm by enabling corepack:

shell
corepack enable

Then install the required dependencies:

shell
pnpm i --frozen-lockfile

Local Development

This command starts a local development server:

shell
pnpm dev

Most changes are reflected live without having to restart the server.

Code generation

The pages of the lint rules are all code generated from the repository biomejs/biome. To update the pages you have to install the Rust toolchain, because
the code that does that requires reading the source code of the analyzer.

First, make sure that you've pulled the latest version of the repository and installed the required toolchains, then run the corresponding scripts from the repo root via pnpm:

shell
# generate only rules files
pnpm codegen:rules

# generate only rules metadata
pnpm codegen:metadata

# generate only release files
pnpm codegen:release-files

# generate all files
pnpm codegen:all

Build

This command generates static content into the dist directory:

shell
pnpm build

The dist directory can be served using any static contents hosting service, or you can preview the site locally with

shell
pnpm preview