跳到主要内容
VibeStacks
工具条目首选

Biome

一个工具同时负责格式化、代码检查和 import 排序,取代 ESLint + Prettier 的组合,配置只有一个文件。

最后审阅
适用版本
Biome 2.5

适合

  • 新项目:一个依赖、一个配置文件就有完整的代码规范
  • 想让 AI 每次改动后自动修好格式和低级错误
  • 被 ESLint 插件和 Prettier 配置的组合问题困扰过的人

不适合

  • 重度依赖某些 ESLint 插件规则、且 Biome 尚无对应规则的项目

代码规范对 AI 生成的代码格外重要:AI 每次写的风格可能都不一样,格式化工具让它们统一;静态检查能在运行前拦下未使用的变量、错误的 Hook 用法、可访问性问题。

为什么是首选

  • 一个工具管两件事。 以前要装 ESLint、Prettier、一堆插件和让它们不打架的配置;Biome 一个依赖、一个 biome.json 就够了。
  • 快。 用 Rust 写成,整个项目检查一遍通常不到一秒,AI 每次改动后都跑也不心疼。
  • 规则开箱可用。 推荐规则集覆盖常见错误,还有针对 React、Next.js、测试代码的规则域。
  • 能自动修。 biome check --write 会修好格式、排好 import,并应用安全的修复。

上手

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

再在 package.json 里加两条脚本:"lint": "biome check ." 和 "format": "biome check --write ."。

从 ESLint + Prettier 迁移

Biome 提供 biome migrate eslint 和 biome migrate prettier,能把现有配置转换过来。迁移后先跑一遍 biome format,确认格式差异很小,再一次性提交。这个网站就是这样迁移过来的:全仓库只有一处格式差异。

给 AI 的规矩

  • 改动后运行 pnpm format,再运行 pnpm lint。
  • 不要用忽略注释绕过规则;确实需要豁免时,在注释里写明理由。
纪念品

带走给你的 AI

把这份 biome.json 放进项目,或直接粘贴给 AI 编程助手。

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"
      }
    }
  }
}
  • 主题文章

    一个前端项目的结构

    从目录讲起:脚手架生成骨架,框架决定页面怎么组织,测试和代码规范守住 AI 的每一次改动。

  • 工具条目首选

    Vitest + Playwright

    Vitest 跑单元测试,Playwright 在真实浏览器里跑用户流程。AI 改得越多,越需要这两层兜底。