lint-rule-development
This skill guides you through building new lint rules and assist actions for Biome. It covers rule scaffolding across multiple languages, implementation patterns with semantic analysis, code action setup, and the three-pillar diagnostic framework required for all rules. Use it when adding custom rules like noVar or useConst to Biome's codebase.
lint-rule-development helps you create and implement new lint rules for Biome's JavaScript, CSS, JSON, and GraphQL analyzers.
AI-generated summary based on this skill's SKILL.md
Decision gist · record as of 2026-07-27
lint-rule-development helps you create and implement new lint rules for Biome's JavaScript, CSS, JSON, and GraphQL analyzers. This skill guides you through building new lint rules and assist actions for Biome. It covers rule scaffolding across multiple languages, implementation patterns with semantic analysis, code action setup, and the three-pillar diagnostic framework required for all rules. Use it when adding custom rules like noVar or useConst to Biome's codebase.
Use it when
- Lint-rule-development emphasizes writing high-quality diagnostics using Biome's three-pillar framework.
- Lint-rule-development covers adding code actions to lint rules through assist actions and automatic fixes.
Verify before relying
Read SKILL.md below before installing (2 files). Open directory: indexed for reading, not audited.
Install
biomejs/biome/lint-rule-development · repository language: Rust
Open directory. Skills are indexed for reading, not audited. Review a skill's body before installing it.
Frequently asked questions
AI-generated answers based on this skill's SKILL.md and metadata
How do I create a lint rule in Biome?
Lint-rule-development guides you through scaffolding and implementing new rules for Biome's analyzer. Start by using Biome's code generation tools to create rule boilerplate, then implement your rule logic following the three-pillar diagnostic pattern: message clarity, code action setup, and semantic analysis where needed. The skill covers rule structure across multiple languages and walks you through adding features like configurable options and automatic fixes.
What is the three-pillar pattern for Biome diagnostics?
Lint-rule-development emphasizes writing high-quality diagnostics using Biome's three-pillar framework. This pattern ensures each diagnostic includes clear messaging, proper code actions (assist actions or fixes), and correct semantic context. Following this pattern is mandatory for all lint rules in Biome and helps maintain consistency across the analyzer's rule set.
How do I add code actions and automatic fixes to Biome rules?
Lint-rule-development covers adding code actions to lint rules through assist actions and automatic fixes. You'll learn to configure fix kinds (safe vs. unsafe), implement the fix logic that transforms code, and integrate them into your diagnostic. The skill shows how to structure these actions so they appear in Biome's IDE integrations and CLI output.
What are binding references in Biome semantic analysis?
Lint-rule-development teaches semantic analysis rules using binding references to track variable declarations and usage. This approach lets you build rules like noVar or useConst that understand code scope and relationships. The skill explains how to query bindings, traverse semantic trees, and write rules that go beyond syntax-only pattern matching.
How do I test Biome lint rules with snapshot tests?
Lint-rule-development covers testing lint rules using snapshot tests and magic comments. You'll learn to mark expected diagnostics with comments, run quick test harnesses to validate rule behavior, and verify that fixes produce correct output. The skill includes patterns for testing both the diagnostics themselves and the code actions they provide.
Can I make Biome lint rules configurable with options?
Lint-rule-development shows how to build configurable lint rules with custom options. You'll define rule parameters, validate user input, and adjust rule behavior based on configuration. The skill covers naming conventions (like noVar and useConst examples), rule state management, and integration with Biome's configuration system.
SKILL.md
Rendered from the published skill. Quoted content, verbatim.
Purpose
Use this skill when creating new lint rules or assist actions for Biome. It provides scaffolding commands, implementation patterns, testing workflows, and documentation guidelines.
Prerequisites
- Install required tools:
just install-tools - Ensure
cargo,just, andpnpmare available - Read
crates/biome_analyze/CONTRIBUTING.mdfor in-depth concepts
Common Workflows
Create a New Lint Rule
Generate scaffolding for a JavaScript lint rule:
just new-js-lintrule useMyRuleName
For other languages:
just new-css-lintrule myRuleName
just new-json-lintrule myRuleName
just new-graphql-lintrule myRuleName
This creates a file in
(truncated - see the full file via the links below)
File tree — 2 files
.claude/skills/lint-rule-development/SKILL.md
.claude/skills/lint-rule-development/references/OPTIONS.md
Let your AI agent find skills like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 56,283 agent skills by what they can do, searchable in plain language.
wish › “Create and implement new lint rules for Biome's analyzer”
Give your agent the search over MCP, or paste the wish link into any chat. No install? Search from any chat →
Related skills
Build effective error messages, warnings, and hints for Biome lint rules using the Diagnostic trait and advice system. Learn to craft messages that explain what went wrong, why it matters, and how to fix it—with rich markup, code frames, and actionable guidance.
This skill establishes documentation standards for Biome developers writing comments and rustdoc in the codebase. It distinguishes three comment types—module docs for explanation, item docs for reference, and inline comments for rationale—and teaches which patterns to avoid. The core principle: write for future contributors with no access to your current context, stating how code works rather than how it came to be.
testing-codegen guides you through snapshot testing with insta and code generation for the Biome codebase. It covers running tests for specific crates, fast iteration with quick-test workflows, and safely managing snapshots—including pruning orphaned files and reviewing changes interactively. Use this skill when testing lint rules, inspecting AST structure, or regenerating parser and analyzer code.
This skill guides you through building option migrators for the `biome migrate eslint` command, preserving ESLint rule configurations beyond severity alone. Learn to model ESLint options in Rust, convert them to Biome equivalents, wire typed rule variants into the migration pipeline, and test through fixture-driven specs.
This skill walks you through the pull request workflow for the Biome project, covering branch selection based on change type, conventional commit title formatting, and the required PR template structure. It ensures you disclose any AI assistance used and prepare your code for review with the right context and test documentation.
This skill teaches you how to work with Biome's type inference engine and module graph architecture for building type-aware lint rules. It covers the three-phase type resolution process—local inference, module-level resolution, and cross-module full inference—plus the TypeReference pattern that prevents stale data in an IDE environment. Use it when implementing new type-aware rules, understanding type resolution, or working on type inference features.
More skills biome-developer (Apache-2.0) · linting (MIT) · parser-development (Apache-2.0)