关于 biome-tooling
biome-tooling 是一项介绍如何在 JavaScript、TypeScript 等 Web 语言项目中使用 Biome 的技能,涵盖配置、格式化、检查、导入整理及从 ESLint 和 Prettier 迁移。
主要功能
- 01格式化、代码检查与导入整理
- 02支持 JavaScript、TypeScript、JSX、TSX、JSON 和 CSS
- 03零配置使用与项目配置
- 04CI 和诊断输出命令
- 05ESLint 与 Prettier 迁移指导
适用场景
- 01为新的 JS/TS 项目设置检查
- 02在 CI 中运行格式化和检查
- 03迁移 ESLint 与 Prettier 配置
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ laurigates/ claude-plugins --skill biome-tooling安装后在 Claude Code 中输入/biome-tooling确认已加载。
附带文件REFERENCE.md
详细介绍
Biome 工具链
Biome 是一款面向 JavaScript、TypeScript 及相关 Web 语言的现代化高性能工具链。它将格式化、代码检查和导入排序整合到一个工具中,速度比 ESLint/Prettier 快 15-20 倍。
何时使用此技能
| 在以下情况下使用此技能…… | 在以下情况下采用其他方案…… |
|---|---|
| 开始一个新的 JS/TS 项目 | 需要特定的 ESLint 插件(React hooks、a11y) |
| 希望实现零配置的格式化和代码检查 | 有复杂的自定义 ESLint 规则 |
| 需要快速的 CI/CD 流水线 | 需要框架专属规则(Next.js、Nuxt) |
| 从 ESLint+Prettier 迁移 | 旧代码库高度依赖 ESLint 自定义配置 |
混合方案:使用 Biome 进行格式化,使用 ESLint 进行专门的代码检查。
核心专长
什么是 Biome?
- 一体化工具链:代码检查器 + 格式化程序 + 导入排序器
- 零配置:开箱即用,采用合理的默认设置
- 快速:使用 Rust 编写,可并行处理文件
- 兼容:与 Prettier 的格式化结果有 97% 以上一致
- 支持:JavaScript、TypeScript、JSX、TSX、JSON、CSS
安装
# Project-local (recommended)
bun add --dev @biomejs/biome
# Verify installation
bunx biome --version
# Initialize configuration
bunx biome init
基本命令
# Format files
bunx biome format --write src/
# Lint with fixes
bunx biome lint --write src/
# Check everything (format + lint + organize imports)
bunx biome check --write src/
# Check without changes (CI mode)
bunx biome check src/
# CI mode (exits with error on issues)
bunx biome ci src/
# Migrate from ESLint/Prettier
bunx biome migrate eslint --write
bunx biome migrate prettier --write
# Explain a rule
bunx biome explain noUnusedVariables
配置(biome.json)
最小配置(零配置)
Biome 无需配置即可使用。若要进行基本自定义:
{
"$schema": "https://biomejs.dev/schemas/1.9.4/schema.json",
"vcs": {
"enabled": true,
"clientKind": "git",
"useIgnoreFile": true
},
"files": {
"ignoreUnknown": false,
"ignore": ["dist", "build", "node_modules", ".next", "coverage"]
},
"formatter": {
"enabled": true,
"indentStyle": "space",
"indentWidth": 2,
"lineWidth": 100
},
"linter": {
"enabled": true,
"rules": {
"recommended": true
}
},
"organizeImports": {
"enabled": true
}
}
规则类别
| 类别 | 用途 | 规则示例 |
|---|---|---|
recommended | 所有人都应启用的基本规则 | 大多数标记为“recommended”的规则 |
correctness | 防止缺陷和逻辑错误 | noUnusedVariables、noUnreachable |
suspicious | 检测可能有误的代码 | noExplicitAny、noDoubleEquals |
style | 强制统一代码风格 | useConst、noVar |
complexity | 降低代码复杂度 | noForEach、useFlatMap |
performance | 优化性能 | noAccumulatingSpread |
a11y | 无障碍最佳实践 | noSvgWithoutTitle、useAltText |
security | 安全漏洞 | noDangerouslySetInnerHtml |
常见模式
忽略文件和目录
通过 biome.json:
{
"files": {
"ignore": [
"dist",
"build",
"node_modules",
"**/*.config.js",
"scripts/legacy/**"
]
}
}
通过 .gitignore(自动):
{
"vcs": {
"enabled": true,
"useIgnoreFile": true
}
}
性能对比
| 工具 | 耗时(1000 个文件) | 说明 |
|---|---|---|
| Biome | 0.5s | Rust,并行处理 |
| ESLint | 8-10s | Node.js,单线程 |
| Prettier | 3-5s | Node.js,仅格式化 |
| ESLint + Prettier | 11-15s | 顺序执行 |
Agent 优化
| 场景 | 命令 |
|---|---|
| 快速检查 | bunx biome check src/ |
| 修复所有问题 | bunx biome check --write src/ |
| 仅格式化 | bunx biome format --write src/ |
| 仅代码检查 | bunx biome lint --write src/ |
| CI 模式 | bunx biome ci src/ |
| 仅显示错误 | bunx biome check --diagnostic-level=error src/ |
| 限制输出 | bunx biome check --max-diagnostics=10 src/ |
| GitHub 报告器 | bunx biome check --reporter=github src/ |
| JSON 输出 | bunx biome check --reporter=json src/ |
| 迁移 ESLint | bunx biome migrate eslint --write |
| 迁移 Prettier | bunx biome migrate prettier --write |
快速参考
| 标志 | 说明 |
|---|---|
--write | 应用修复/格式化 |
--reporter=github | GitHub 注释格式 |
--reporter=json | JSON 输出 |
--diagnostic-level=error | 仅显示错误 |
--max-diagnostics=N | 限制输出数量 |
--verbose | 显示详细诊断信息 |
--no-errors-on-unmatched | 忽略未匹配的文件 |
ci | CI 模式(检查 + 退出代码) |
如需查看详细示例、高级模式和最佳实践,请参阅 REFERENCE.md。
参考资料
评论
支持 Markdown