Biome - Fast All-in-One Toolchain
Overview
Biome is a fast, all-in-one toolchain for web projects written in Rust. It replaces both ESLint and Prettier with a single tool that's 100x faster and provides zero-config defaults.
Key Features:
- Single tool for linting and formatting
- 100x faster than ESLint
- Zero configuration by default
- Built-in import sorting
- TypeScript-first design
- Partial Prettier compatibility
- Native monorepo support
- VS Code integration
Installation:
Quick Start
1. Initialize Biome
2. Package.json Scripts
3. Basic Configuration
Core Commands
Check Command (Recommended)
The check command runs both linting and formatting:
Format Command
Format code without linting:
Lint Command
Lint code without formatting:
Configuration Deep Dive
Formatter Configuration
Linter Configuration
File Ignore Patterns
Override Configuration for Specific Files
VS Code Integration
1. Install Biome Extension
2. VS Code Settings (.vscode/settings.json)
3. Workspace Settings
Migration from ESLint and Prettier
1. Remove Old Tools
2. Migrate Configuration
Use Biome's migration tool:
3. Manual Migration
Prettier → Biome Formatter:
ESLint → Biome Linter:
4. Update Scripts
Git Hooks Integration
Using Husky + lint-staged
.husky/pre-commit:
package.json:
Using Lefthook
lefthook.yml:
Simple Git Hook (no dependencies)
.git/hooks/pre-commit:
CI/CD Integration
GitHub Actions
GitLab CI
CircleCI
Import Sorting
Biome includes built-in import sorting:
Configuration:
Example:
TypeScript Support
Biome has first-class TypeScript support:
Type-aware linting:
Monorepo Support
Biome works great in monorepos:
Project Structure
Root Configuration
Package Override
Monorepo Scripts
Performance Benefits
Speed Comparison
100x faster on average workloads.
Caching
Biome includes intelligent caching:
Parallel Processing
Biome uses all CPU cores by default:
Common Patterns
React Projects
Next.js Projects
Node.js Backend
Best Practices
- Use
biome checkinstead of separate format/lint commands - Enable
--writeflag for automatic fixes - Configure VS Code for format-on-save
- Add git hooks to enforce quality before commits
- Use CI mode (
biome ci) in continuous integration - Start with recommended rules then customize
- Leverage import sorting to organize imports automatically
- Use overrides for different file types or directories
- Enable VCS integration to respect .gitignore
- Keep configuration minimal - Biome has smart defaults
Troubleshooting
Biome Not Formatting
Conflicts with Prettier
Performance Issues
Rule Configuration Not Working
Local Biome Configs (Your Repos)
Patterns from active projects:
ai-code-review/biome.json:files.includestargetssrc/**/*.tsand excludes tests,lineWidth: 100, single quotes, semicolons always, andnoExplicitAny: warn.itinerizer-ts/biome.json:files.ignoreincludesnode_modules,dist,.claude, and data directories;organizeImports.enabled = true.matsuoka-comanddiogenesuse similar formatting defaults (2-space indent, lineWidth 100).
Common scripts:
Resources
- Official Docs: https://biomejs.dev
- VS Code Extension: https://marketplace.visualstudio.com/items?itemName=biomejs.biome
- GitHub: https://github.com/biomejs/biome
- Rules Reference: https://biomejs.dev/linter/rules/
- Migration Guide: https://biomejs.dev/guides/migrate-eslint-prettier/
Summary
- Biome is a fast all-in-one linter and formatter
- 100x faster than ESLint + Prettier
- Zero config by default with smart defaults
- Built in Rust for maximum performance
- TypeScript-first with excellent type support
- Import sorting included out of the box
- VS Code integration with official extension
- Perfect for modern web projects, monorepos, CI/CD
- Easy migration from ESLint and Prettier


