Skip to main content
VibeStacks

Loading the search index…

EntryTop pick

Biome

One tool for formatting, linting, and import sorting. It replaces the ESLint + Prettier combination with a single config file.

Last reviewed
Applies to
Biome 2.5

Good for

  • New projects: one dependency and one config file give you complete code standards
  • Having the AI fix formatting and simple mistakes automatically after every change
  • Anyone burned by ESLint plugins fighting Prettier config

Not for

  • Projects that depend heavily on ESLint plugin rules Biome does not have yet

Code standards matter even more for AI-written code: the AI may write in a different style each time, formatting makes it consistent, and static checks catch unused variables, misused hooks, and accessibility issues before anything runs.

Why it is our top pick

  • One tool, two jobs. Instead of ESLint, Prettier, a pile of plugins, and config to stop them fighting, Biome needs one dependency and one biome.json.
  • Fast. Written in Rust, it usually checks a whole project in under a second, so running it after every AI change costs nothing.
  • Useful rules out of the box. The recommended set covers common mistakes, with rule domains for React, Next.js, and test code.
  • It fixes things. biome check --write formats, sorts imports, and applies safe fixes.

Getting started

pnpm add -D -E @biomejs/biome
pnpm exec biome init

Then add two scripts to package.json: "lint": "biome check ." and "format": "biome check --write .".

Migrating from ESLint + Prettier

Biome provides biome migrate eslint and biome migrate prettier to convert existing config. After migrating, run biome format once, confirm the formatting diff is small, and commit it in one go. This site migrated exactly that way, with a single formatting difference across the whole repository.

Rules for the AI

  • After a change, run pnpm format, then pnpm lint.
  • Do not bypass rules with ignore comments; when an exception is truly needed, explain why in the comment.
Souvenir

Take it home to your AI

Drop this biome.json into your project, or paste it straight to your AI coding assistant.

biome.json
{
  "$schema": "https://biomejs.dev/schemas/2.5.15/schema.json",
  "vcs": {
    "enabled": true,
    "clientKind": "git",
    "useIgnoreFile": true
  },
  "formatter": {
    "enabled": true,
    "indentStyle": "space",
    "indentWidth": 2,
    "lineWidth": 100
  },
  "javascript": {
    "formatter": {
      "quoteStyle": "single",
      "trailingCommas": "all"
    }
  },
  "linter": {
    "enabled": true,
    "rules": {
      "preset": "recommended"
    },
    "domains": {
      "react": "recommended",
      "test": "recommended"
    }
  },
  "assist": {
    "actions": {
      "source": {
        "organizeImports": "on"
      }
    }
  }
}
  • Article

    The structure of a frontend project

    Start from the folders. A scaffold creates the skeleton, the framework decides how pages are organized, and tests and code standards guard every AI change.

  • EntryTop pick

    Vitest + Playwright

    Vitest runs unit tests, and Playwright runs user flows in a real browser. The more the AI changes, the more you need both layers.