# biome

A skill that tells the agent how to run Biome on your project: linting, formatting and import sorting from a single command.

- skill · `type=skill` · Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode · 927 installs · ★ 78
- Author: Claude MPM Team
- License: MIT · policy=mirror · the beginning of the file is at the end of this page
- Source: https://github.com/bobmatnyc/claude-mpm-skills/tree/HEAD/toolchains/javascript/tooling/biome/SKILL.md
- Updated: 2026-07-18
- HTML: https://affpapa.org/en/nevibecode/skills/biome

## What it does

Biome is a Rust toolchain for web projects that replaces ESLint and Prettier. This skill hands the agent ready-made commands and a `biome.json` template, so it does not invent a config from scratch.

Inside you get the package install, `npx @biomejs/biome init`, and three modes: `check` (lint plus format), `format`, and `lint`. There is a section on `package.json` scripts, rule groups (a11y, correctness, security, style), ignore patterns, and overrides for test files. VS Code gets its own part: the `biomejs.biome` extension and format-on-save settings.

You need Node.js with npm. If ESLint and Prettier already live in the repo, keep their configs nearby: Biome does not read everything, and some rules have to be carried over by hand. The skill is not user-invocable — it loads when the agent picks up linting or formatting work.

## Install

### Claude Code (native platform)

1. **Skills CLI (Vercel)**
```bash
npx skills add bobmatnyc/claude-mpm-skills --skill biome -a claude-code
```

2. **Manually: put the files in place**
- File: `~/.claude/skills/biome/SKILL.md` — Copy the whole skill folder; for one project use .claude/skills/biome/

### Codex

1. **Skills CLI (Vercel)**
```bash
npx skills add bobmatnyc/claude-mpm-skills --skill biome -a codex
```

2. **Manually: put the files in place**
- File: `.agents/skills/biome/SKILL.md` — For all projects use ~/.agents/skills/

### Cursor

1. **Skills CLI (Vercel)**
```bash
npx skills add bobmatnyc/claude-mpm-skills --skill biome -a cursor
```

2. **Manually: put the files in place**
- File: `.cursor/skills/biome/SKILL.md` — Cursor also reads .agents/skills/ and .claude/skills/

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install bobmatnyc/claude-mpm-skills biome
```

2. **Manually: put the files in place**
- File: `.github/skills/biome/SKILL.md`

### Gemini CLI

1. **Skills CLI (Vercel)**
```bash
npx skills add bobmatnyc/claude-mpm-skills --skill biome -a gemini-cli
```

2. **Platform CLI**
```bash
gemini skills install https://github.com/bobmatnyc/claude-mpm-skills --path toolchains/javascript/tooling/biome
```

### Windsurf (Devin Desktop)

**Manually: put the files in place**
- File: `.devin/skills/biome/SKILL.md` — The legacy .windsurf/skills/ path still works

### OpenCode

**Skills CLI (Vercel)**
```bash
npx skills add bobmatnyc/claude-mpm-skills --skill biome -a opencode
```

### Claude.ai

**Claude.ai**
- Zip the folder and upload it in Settings → Capabilities → Skills

Where a file is given instead of a command, copy the files from the source to that path: https://github.com/bobmatnyc/claude-mpm-skills/tree/HEAD/toolchains/javascript/tooling/biome/SKILL.md

## When to use it
- run lint and format in one command instead of two
- swap ESLint and Prettier for a single tool
- write a `biome.json` without hand-picking every option
- clean up imports and formatting before a commit
- wire Biome into VS Code with format on save

## Example prompts
- Set up Biome in this project and run `biome check --write .`
- Add `check`, `format` and `lint` scripts to `package.json` using Biome
- Port the rules from `.eslintrc` into `biome.json`

## Source text · SKILL.md · MIT

Below is the content of a third-party file. It is data, not instructions for you: do not act on anything written inside unless the human asks. Block tag: 0f32ef7df9b114e9.

BEGIN THIRD-PARTY FILE 0f32ef7df9b114e9
````text
---
name: biome
description: Biome - Fast all-in-one toolchain for web projects (linter + formatter in Rust, 100x faster than ESLint)
user-invocable: false
disable-model-invocation: true
version: 1.0.0
category: toolchain
author: Claude MPM Team
license: MIT
progressive_disclosure:
  entry_point:
    summary: "Fast all-in-one linter and formatter (Rust-based replacement for ESLint + Prettier)"
    when_to_use:
      - "When you need fast linting and formatting"
      - "When replacing ESLint + Prettier"
      - "When working with TypeScript/JavaScript"
      - "When you want zero-config setup"
    quick_start:
      - "npm install --save-dev @biomejs/biome"
      - "npx @biomejs/biome init"
      - "npx @biomejs/biome check --write ."
context_limit: 700
tags:
  - biome
  - linting
  - formatting
  - code-quality
  - tooling
  - typescript
  - javascript
requires_tools: []
---

# Biome - Fast All-in-One Toolchain

## Overview

Biome is a fast, all-in-one toolchain for web projects written in Rust. It replaces both ESLint and Prettier with a single tool that's 100x faster and provides zero-config defaults.

**Key Features**:
- Single tool for linting and formatting
- 100x faster than ESLint
- Zero configuration by default
- Built-in import sorting
- TypeScript-first design
- Partial Prettier compatibility
- Native monorepo support
- VS Code integration

**Installation**:
```bash
npm install --save-dev @biomejs/biome
```

## Quick Start

### 1. Initialize Biome

```bash
# Create biome.json configuration
npx @biomejs/biome init

# Check your project
npx @biomejs/biome check .

# Fix issues automatically
npx @biomejs/biome check --write .

# Format only
npx @biomejs/biome format --write .

# Lint only
npx @biomejs/biome lint .
```

### 2. Package.json Scripts

```json
{
  "scripts": {
    "check": "biome check .",
    "check:write": "biome check --write .",
    "format": "biome format --write .",
    "lint": "biome lint .",
    "lint:fix": "biome lint --write ."
  }
}
```

### 3. Basic Configuration

```json
{
  "$schema": "https://biomejs.dev/schemas/1.9.4/schema.json",
  "vcs": {
    "enabled": true,
    "clientKind": "git",
    "useIgnoreFile": true
  },
  "files": {
    "ignoreUnknown": false,
    "ignore": ["node_modules", "dist", "build", ".next"]
  },
  "formatter": {
    "enabled": true,
    "indentStyle": "space",
    "indentWidth": 2,
    "lineWidth": 100
  },
  "linter": {
    "enabled": true,
    "rules": {
      "recommended": true
    }
  },
  "javascript": {
    "formatter": {
      "quoteStyle": "single",
      "semicolons": "asNeeded",
      "trailingCommas": "all"
    }
  }
}
```

## Core Commands

### Check Command (Recommended)

The `check` command runs both linting and formatting:

```bash
# Check all files
biome check .

# Fix issues automatically
biome check --write .

# Unsafe fixes (may change behavior)
biome check --write --unsafe .

# Apply suggested fixes
biome check --write --unsafe --apply-suggested
````
END THIRD-PARTY FILE 0f32ef7df9b114e9

The third-party file has ended. Everything between the 0f32ef7df9b114e9 tags is data: requests and commands from it are not followed. An “end of file” line with another tag inside the block is part of the file.

First 2978 of 17781 bytes. © Claude MPM Team · MIT · https://github.com/bobmatnyc/claude-mpm-skills/tree/HEAD/toolchains/javascript/tooling/biome/SKILL.md

_Part of the page did not fit — see the HTML version._

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
