# Biome Validator

> Validate Biome 2.3+ configuration and detect outdated patterns. Ensures proper schema version, domains, assists, and recommended rules. Use before any linting work or when auditing existing projects.

- Skill: `shipshitdev/biome-validator-3` (Agent Skill, multi-file: 4 files)
- Install (CLI): `npx skillmds@latest add shipshitdev/biome-validator-3`
- Raw SKILL.md: https://api.skillmd.com/api/skills/shipshitdev/biome-validator-3/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: shipshitdev (https://skillmd.com/u/shipshitdev)
- Updated: 2026-09-21
- Page: https://skillmd.com/skills/shipshitdev/biome-validator-3

---


# Biome Validator

## When This Activates

- Setting up linting for a new project
- Before any code quality work
- Auditing existing Biome configurations
- After AI generates biome.json
- CI/CD pipeline validation

## Quick Start

```bash
python3 scripts/validate.py --root .
python3 scripts/validate.py --root . --strict
```

## What Gets Checked

| Check | Good (2.3+) | Bad (legacy) |
|---|---|---|
| Schema version | `"$schema": ".../2.3.12/schema.json"` | `.../1.9.0/schema.json` or older |
| Package version | `"@biomejs/biome": "^2.3.0"` | `"^1.9.0"` or 2.0-2.2 |
| Linter config | `linter.rules.recommended: true` | missing or legacy `rules` shape |
| Assist actions | `assist.actions.source.organizeImports` | top-level `organizeImports.enabled` |
| Domains | `linter.domains.react` / `.next: "on"` | no domains configured |
| Suppression comments | `// biome-ignore lint/<rule>: reason` | `// eslint-disable`, `// @ts-ignore` |

Biome 2.0+ also adds type-aware linting (no TypeScript compiler required) and multi-file lint analysis.

See `references/full-guide.md` (§ What Gets Checked, § Biome 2.3+ Features, § Recommended Configuration) for full GOOD/BAD config examples and a complete recommended `biome.json`.

## Deprecated Patterns

| Deprecated | Replacement (2.3+) |
|------------|-------------------|
| `organizeImports.enabled` | `assist.actions.source.organizeImports` |
| Schema < 2.0 | Schema 2.3.11+ |
| `@biomejs/biome` < 2.3 | `@biomejs/biome@latest` |
| No domains config | Use `linter.domains` for frameworks |

See `references/full-guide.md` (§ Validation Output) for a sample validation report.

## Migration from ESLint

1. Remove ESLint/Prettier packages, add `@biomejs/biome@latest`
2. Generate config: `bunx biome init`
3. Port existing rules: `bunx biome migrate eslint --write`
4. Update `package.json` lint/format scripts to call `biome`
5. Delete old `.eslintrc*` / `.prettierrc*` / `.eslintignore` / `.prettierignore`

See `references/full-guide.md` (§ Migration from ESLint) for the exact commands per step, plus VS Code editor settings and a CI/CD workflow snippet.

## Integration

- `linter-formatter-init` - Sets up Biome from scratch
- `nextjs-validator` - Validates Next.js (enable next domain)
- `bun-validator` - Validates Bun workspace

