工具条目首选
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 编程助手。
{
"$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 改得越多,越需要这两层兜底。