Skip to main content

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.

Quellinformationen

Repository
shipshitdev/v0
Letzte Quellaktivität
23. Juli 2026 um 16:41
Erkannte Sprache von SKILL.md
Englisch
Sterne
1
Forks
0

Installationsoptionen

Standardmäßig ist der Prompt ausgewählt, der zuerst die Quelle prüft. Sie können zu einem direkten Befehl wechseln oder eine lokale Kopie herunterladen.

Quelldateien prüfen

Lesen Sie SKILL.md und alle von SkillsMP angezeigten Begleitdateien, bevor Sie sich für eine Installation entscheiden.

Datei-Explorer
3 Dateien

SKILL.md wird angezeigt

SKILL.md
Quellanweisungen · Schreibgeschützte Vorschau
name
biome-validator
description
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.
metadata
{"version":"1.0.0","tags":"biome, linter, formatter, validation, code-quality"}
# 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 ```bash python3 scripts/validate.py --root . python3 scripts/validate.py --root . --strict ``` ## What Gets Checked ### 1. Biome Version & Schema **GOOD - Biome 2.3+:** ```json { "$schema": "https://biomejs.dev/schemas/2.3.12/schema.json" } ``` **BAD - Old schema:** ```json { "$schema": "https://biomejs.dev/schemas/1.9.0/schema.json" } ``` ### 2. Package Version ```json // GOOD: v2.3+ "@biomejs/biome": "^2.3.0" // BAD: v1.x or v2.0-2.2 "@biomejs/biome": "^1.9.0" ``` ### 3. Linter Configuration **GOOD - Biome 2.x:** ```json { "linter": { "enabled": true, "rules": { "recommended": true, "suspicious": { "noExplicitAny": "warn" } } } } ``` ### 4. Biome Assist (2.0+) **GOOD - Using assist:** ```json { "assist": { "actions": { "source": { "organizeImports": "on" } } } } ``` **BAD - Old organizeImports location:** ```json { "organizeImports": { "enabled": true } } ``` ### 5. Domains (2.0+) **GOOD - Using domains for framework-specific rules:** ```json { "linter": { "domains": { "react": "on", "next": "on" } } } ``` ### 6. Suppression Comments **GOOD - Biome 2.0+ comments:** ```typescript // biome-ignore lint/suspicious/noExplicitAny: legacy code // biome-ignore-all lint/style/useConst // biome-ignore-start lint/complexity // biome-ignore-end ``` **BAD - Wrong format:** ```typescript // @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: ```json { "linter": { "rules": { "correctness": { "noUndeclaredVariables": "error", "useAwaitThenable": "error" } } } } ``` ### Assist Actions ```json { "assist": { "actions": { "source": { "organizeImports": "on", "useSortedKeys": "on" } } } } ``` ### Multi-file Analysis Lint rules can query information from other files for more powerful analysis. ### Framework Domains ```json { "linter": { "domains": { "react": "on", // React-specific rules "next": "on", // Next.js rules "test": "on" // Testing framework rules } } } ``` ## Recommended Configuration ```json { "$schema": "https://biomejs.dev/schemas/2.3.12/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 ```bash bun remove eslint prettier eslint-config-* eslint-plugin-* bun add -D @biomejs/biome@latest ``` ### Step 2: Create biome.json ```bash bunx biome init ``` ### Step 3: Migrate rules ```bash bunx biome migrate eslint --write ``` ### Step 4: Update scripts ```json { "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 ```bash rm .eslintrc* .prettierrc* .eslintignore .prettierignore ``` ## VS Code Integration ```json // .vscode/settings.json { "editor.formatOnSave": true, "editor.defaultFormatter": "biomejs.biome", "editor.codeActionsOnSave": { "source.organizeImports.biome": "explicit", "quickfix.biome": "explicit" } } ``` ## CI/CD Integration ```yaml # .github/workflows/lint.yml - name: Validate Biome Config run: | python3 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
Auf GitHub ansehen