Biomejs: Um único arquivo para formatar, lintar e organizar o código
Autor
Caroline Oliveira
Data de publicação

Visão geral
O Biome é um linter e formatter escrito em Rust, pensado para substituir ESLint e Prettier com uma única ferramenta. Oferece:
- Um único arquivo de config (biome.json)
- Performance: execução bem mais rápida em projetos grandes
- Batteries included: formatação, lint (com regras recomendadas) e organização de imports sem plugins extras para o caso de uso básico
Setup
Para instalar e inicializar o Biome, com apenas dois comandos ele já é instalado e está pronto para uso no projeto:
pnpm add -D @biomejs/biomenpx @biomejs/biome initO init cria o biome.json na raiz do projeto. A partir daí toda a configuração fica nesse arquivo.
Anatomia do biome.json
Uma configuração básica para um projeto Vite + React + Tailwindcss:
{ "$schema": "https://biomejs.dev/schemas/2.4.4/schema.json", "vcs": { "enabled": true, "clientKind": "git", "useIgnoreFile": true }, "files": { "ignoreUnknown": false, "includes": [ "**", "!!**/dist" ] }, "formatter": { "enabled": true, "indentStyle": "tab" }, "linter": { "enabled": true, "domains": { "react": "recommended" }, "rules": { "recommended": true } }, "javascript": { "formatter": { "quoteStyle": "double" } }, "assist": { "enabled": true, "actions": { "source": { "organizeImports": "on" } } }, "css": { "parser": { "tailwindDirectives": true } }}Essa configuração traz os as principais regras:
- useIgnoreFile: true — respeita `.gitignore`; arquivos ignorados pelo Git não são formatados/lintados (ex.: `node_modules`, `dist`
- indentStyle: "tab" — padroniza a indentação com tab.
- domains.react: "recommended — ativa o conjunto de regras recomendadas para React.
- organizeImports: "on" — ordena e remove imports não usados ao salvar/rodar o Biome.
Scripts para o package.json
{ "scripts": { "format": "pnpx @biomejs/biome format --write ./src", "lint": "pnpx @biomejs/biome lint ./src", "check": "pnpx @biomejs/biome check --write ./src" }}- format: formata apenas `./src`
- lint: só executa o linter (sem escrever).
- check: formata + lint e aplica correções automáticas onde possível (`--write`). O check é o comando que costuma rodar em CI e no pre-commit.
Conclusão
O Biome entrega lint + formatação + organize imports em uma ferramenta só, com um único `biome.json` e boa performance. Para times que buscam algo mais prático que manter ESLint e Prettier em paralelo, vale testar em um projeto piloto ou em um módulo novo.
Atenção: o ecossistema de plugins do ESLint é maior; se você depende de regras ou plugins muito específicos, vale checar se o Biome já cobre ou se há equivalentes antes de migrar.
Estou usando em um projeto pessoal e o resultado está sendo bem satisfatório. Até agora não tive problemas críticos ou que não fosse simples e rápido de corrigir.