biome-validator

Validates Biome 2.3+ configuration and prevents outdated patterns. Ensures type-aware linting, domains, and modern Biome features are properly configured.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "biome-validator" with this command: npx skills add gracefullight/stock-checker/gracefullight-stock-checker-biome-validator

Biome Validator

Validates Biome 2.3+ configuration and prevents outdated patterns. Ensures type-aware linting, domains, and modern Biome features are properly configured.

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

python3 ~/.claude/skills/biome-validator/scripts/validate.py --root . python3 ~/.claude/skills/biome-validator/scripts/validate.py --root . --strict

What Gets Checked

  1. Biome Version & Schema

GOOD - Biome 2.3+:

{ "$schema": "https://biomejs.dev/schemas/2.3.11/schema.json" }

BAD - Old schema:

{ "$schema": "https://biomejs.dev/schemas/1.9.0/schema.json" }

  1. Package Version

// GOOD: v2.3+ "@biomejs/biome": "^2.3.0"

// BAD: v1.x or v2.0-2.2 "@biomejs/biome": "^1.9.0"

  1. Linter Configuration

GOOD - Biome 2.x:

{ "linter": { "enabled": true, "rules": { "recommended": true, "suspicious": { "noExplicitAny": "warn" } } } }

  1. Biome Assist (2.0+)

GOOD - Using assist:

{ "assist": { "actions": { "source": { "organizeImports": "on" } } } }

BAD - Old organizeImports location:

{ "organizeImports": { "enabled": true } }

  1. Domains (2.0+)

GOOD - Using domains for framework-specific rules:

{ "linter": { "domains": { "react": "on", "next": "on" } } }

  1. Suppression Comments

GOOD - Biome 2.0+ comments:

// biome-ignore lint/suspicious/noExplicitAny: legacy code // biome-ignore-all lint/style/useConst // biome-ignore-start lint/complexity // biome-ignore-end

BAD - Wrong format:

// @ts-ignore // Not Biome // eslint-disable // Wrong tool

Biome 2.3+ Features

Type-Aware Linting

Biome 2.0+ includes type inference without requiring TypeScript compiler:

{ "linter": { "rules": { "correctness": { "noUndeclaredVariables": "error", "useAwaitThenable": "error" } } } }

Assist Actions

{ "assist": { "actions": { "source": { "organizeImports": "on", "useSortedKeys": "on" } } } }

Multi-file Analysis

Lint rules can query information from other files for more powerful analysis.

Framework Domains

{ "linter": { "domains": { "react": "on", // React-specific rules "next": "on", // Next.js rules "test": "on" // Testing framework rules } } }

Recommended Configuration

{ "$schema": "https://biomejs.dev/schemas/2.3.11/schema.json", "assist": { "actions": { "source": { "organizeImports": "on" } } }, "linter": { "enabled": true, "rules": { "recommended": true, "complexity": { "noForEach": "off" }, "style": { "noNonNullAssertion": "off" }, "suspicious": { "noArrayIndexKey": "off", "noExplicitAny": "warn" }, "correctness": { "useAwaitThenable": "error", "noLeakedRender": "error" } }, "domains": { "react": "on", "next": "on" } }, "formatter": { "enabled": true, "indentStyle": "space", "indentWidth": 2, "lineWidth": 100 }, "javascript": { "formatter": { "quoteStyle": "single", "trailingCommas": "es5", "semicolons": "always" } }, "files": { "ignore": [ "node_modules", "dist", "build", ".next", "out", ".cache", ".turbo", "coverage" ] } }

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

Validation Output

=== Biome 2.3+ Validation Report ===

Package Version: @biomejs/biome@2.3.11 ✓

Configuration: ✓ Schema version: 2.3.11 ✓ Linter enabled with recommended rules ✓ Using assist.actions for imports ✗ No domains configured (consider enabling react, next) ✓ Formatter configured

Rules: ✓ noExplicitAny: warn ✓ useAwaitThenable: error ✗ noLeakedRender not enabled (recommended)

Summary: 2 issues found

Migration from ESLint

Step 1: Install Biome

bun remove eslint prettier eslint-config-* eslint-plugin-* bun add -D @biomejs/biome@latest

Step 2: Create biome.json

bunx biome init

Step 3: Migrate rules

bunx biome migrate eslint --write

Step 4: Update scripts

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

Step 5: Remove old configs

rm .eslintrc* .prettierrc* .eslintignore .prettierignore

VS Code Integration

// .vscode/settings.json { "editor.formatOnSave": true, "editor.defaultFormatter": "biomejs.biome", "editor.codeActionsOnSave": { "source.organizeImports.biome": "explicit", "quickfix.biome": "explicit" } }

CI/CD Integration

.github/workflows/lint.yml

  • name: Validate Biome Config run: | python3 ~/.claude/skills/biome-validator/scripts/validate.py
    --root .
    --strict
    --ci

  • name: Lint run: bunx biome check --error-on-warnings .

Integration

  • linter-formatter-init

  • Sets up Biome from scratch

  • nextjs-validator

  • Validates Next.js (enable next domain)

  • bun-validator

  • Validates Bun workspace

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

yahoo-finance

No summary provided by upstream source.

Repository SourceNeeds Review
General

backtesting-trading-strategies

No summary provided by upstream source.

Repository SourceNeeds Review
General

financial data fetcher

No summary provided by upstream source.

Repository SourceNeeds Review