What is it?
Biome is a Rust-based toolchain that combines linting and formatting into a single tool, replacing the ESLint + Prettier combo. It handles JavaScript, TypeScript, JSX, JSON, and CSS with near-instant execution. Configuration is minimal — a single biome.json file replaces .eslintrc, .prettierrc, and their respective ignore files.
Why does it matter?
The ESLint + Prettier setup is a rite of passage that wastes hours on every new project: plugin conflicts, configuration inheritance, .eslintignore vs .prettierignore, the Prettier-ESLint integration plugin, and the inevitable “which rule is conflicting?” debugging session. Biome replaces all of this with one tool, one config file, and formatting speeds that make save-on-format invisible.
Trade-offs
Strengths:
- 10-100x faster than ESLint + Prettier
- Single tool replaces two (linting + formatting)
- Minimal configuration with sensible defaults
- Great VS Code extension with instant feedback
- Growing rule set covering most common ESLint rules
Limitations:
- Plugin ecosystem is nonexistent compared to ESLint’s thousands of plugins
- Missing rules that teams depend on (specific React patterns, accessibility, etc.)
- Framework-specific rules (Next.js, Remix) are not yet available
- CSS support is still maturing
- Smaller community means fewer ready-made configs and answers
Our take
Biome is at Assess — fast, clean, and promising, but the plugin gap is real. If your team’s ESLint config is just the recommended rules plus Prettier, Biome is a drop-in upgrade. If you rely on specific plugins (eslint-plugin-import, eslint-plugin-jsx-a11y, custom rules), you’ll need to evaluate what’s missing. We’re running Biome on new internal tools and side projects to build confidence before migrating our main projects.