mcpField
B
biome-tooling

biome-tooling

github.com/laurigatesDevelopment5941 installsUpdated 1d ago
Repository

About biome-tooling

biome-tooling is a skill for applying Biome to JavaScript, TypeScript, and related web-language projects. It covers setup, configuration, formatting, linting, import organization, and migration from ESLint and Prettier.

Key features

  1. 01Formatting, linting, and import organization
  2. 02JavaScript, TypeScript, JSX, TSX, JSON, and CSS support
  3. 03Zero-configuration setup and project configuration
  4. 04Commands for CI and diagnostic output
  5. 05ESLint and Prettier migration guidance

Use cases

  1. 01Setting up checks for a new JS/TS project
  2. 02Running formatting and linting in CI
  3. 03Migrating an ESLint and Prettier setup

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/laurigates/claude-plugins --skill biome-tooling

After installing, type/biome-toolingin Claude Code to confirm it loaded.

Bundled filesREFERENCE.md

Details

From the project README

Biome Tooling

Biome is a modern, performant toolchain for JavaScript, TypeScript, and related web languages. It combines formatting, linting, and import organization into a single tool that's 15-20x faster than ESLint/Prettier.

When to Use This Skill

Use this skill when...Use another approach when...
Starting a new JS/TS projectNeed specific ESLint plugins (React hooks, a11y)
Want zero-config formatting/lintingHave complex custom ESLint rules
Need fast CI/CD pipelinesNeed framework-specific rules (Next.js, Nuxt)
Migrating from ESLint+PrettierLegacy codebase with heavy ESLint customization

Hybrid approach: Use Biome for formatting, ESLint for specialized linting.

Core Expertise

What is Biome?

  • All-in-one toolchain: Linter + formatter + import sorter
  • Zero-config: Works out of the box with sensible defaults
  • Fast: Written in Rust, processes files in parallel
  • Compatible: Matches Prettier formatting 97%+
  • Supports: JavaScript, TypeScript, JSX, TSX, JSON, CSS

Installation

# Project-local (recommended)
bun add --dev @biomejs/biome

# Verify installation
bunx biome --version

# Initialize configuration
bunx biome init

Essential Commands

# 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

Configuration (biome.json)

Minimal Setup (Zero Config)

Biome works without configuration. For basic customization:

{
  "$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
  }
}

Rule Categories

CategoryPurposeExample Rules
recommendedEssential rules everyone should enableMost rules marked "recommended"
correctnessPrevent bugs and logic errorsnoUnusedVariables, noUnreachable
suspiciousDetect code that might be wrongnoExplicitAny, noDoubleEquals
styleEnforce consistent styleuseConst, noVar
complexityReduce code complexitynoForEach, useFlatMap
performanceOptimize performancenoAccumulatingSpread
a11yAccessibility best practicesnoSvgWithoutTitle, useAltText
securitySecurity vulnerabilitiesnoDangerouslySetInnerHtml

Common Patterns

Ignore Files and Directories

Via biome.json:

{
  "files": {
    "ignore": [
      "dist",
      "build",
      "node_modules",
      "**/*.config.js",
      "scripts/legacy/**"
    ]
  }
}

Via .gitignore (automatic):

{
  "vcs": {
    "enabled": true,
    "useIgnoreFile": true
  }
}

Performance Comparison

ToolTime (1000 files)Notes
Biome0.5sRust, parallel processing
ESLint8-10sNode.js, single-threaded
Prettier3-5sNode.js, formatting only
ESLint + Prettier11-15sSequential execution

Agentic Optimizations

ContextCommand
Quick checkbunx biome check src/
Fix allbunx biome check --write src/
Format onlybunx biome format --write src/
Lint onlybunx biome lint --write src/
CI modebunx biome ci src/
Errors onlybunx biome check --diagnostic-level=error src/
Limited outputbunx biome check --max-diagnostics=10 src/
GitHub reporterbunx biome check --reporter=github src/
JSON outputbunx biome check --reporter=json src/
Migrate ESLintbunx biome migrate eslint --write
Migrate Prettierbunx biome migrate prettier --write

Quick Reference

FlagDescription
--writeApply fixes/formatting
--reporter=githubGitHub annotations format
--reporter=jsonJSON output
--diagnostic-level=errorErrors only
--max-diagnostics=NLimit output count
--verboseShow detailed diagnostics
--no-errors-on-unmatchedIgnore unmatched files
ciCI mode (check + exit code)

For detailed examples, advanced patterns, and best practices, see REFERENCE.md.

References

Comments

Markdown supported