From typescript-plugin
Provides Biome commands for formatting, linting, and organizing imports in JavaScript, TypeScript, JSX/TSX, JSON, CSS projects. Use for zero-config setup, fast CI checks, or ESLint/Prettier migration.
npx claudepluginhub laurigates/claude-plugins --plugin typescript-pluginThis skill is limited to using the following tools:
Biome is a modern, performant toolchain for JavaScript, TypeScript, and related web languages. It combines formatting, linting, and import organization into a single tool that's **15-20x faster** than ESLint/Prettier.
Generates design tokens/docs from CSS/Tailwind/styled-components codebases, audits visual consistency across 10 dimensions, detects AI slop in UI.
Records polished WebM UI demo videos of web apps using Playwright with cursor overlay, natural pacing, and three-phase scripting. Activates for demo, walkthrough, screen recording, or tutorial requests.
Delivers idiomatic Kotlin patterns for null safety, immutability, sealed classes, coroutines, Flows, extensions, DSL builders, and Gradle DSL. Use when writing, reviewing, refactoring, or designing Kotlin code.
Biome is a modern, performant toolchain for JavaScript, TypeScript, and related web languages. It combines formatting, linting, and import organization into a single tool that's 15-20x faster than ESLint/Prettier.
| Use this skill when... | Use another approach when... |
|---|---|
| Starting a new JS/TS project | Need specific ESLint plugins (React hooks, a11y) |
| Want zero-config formatting/linting | Have complex custom ESLint rules |
| Need fast CI/CD pipelines | Need framework-specific rules (Next.js, Nuxt) |
| Migrating from ESLint+Prettier | Legacy codebase with heavy ESLint customization |
Hybrid approach: Use Biome for formatting, ESLint for specialized linting.
What is Biome?
# Project-local (recommended)
bun add --dev @biomejs/biome
# Verify installation
bunx biome --version
# Initialize configuration
bunx biome init
# Format files
bunx biome format --write src/
# Lint with fixes
bunx biome lint --write src/
# Check everything (format + lint + organize imports)
bunx biome check --write src/
# Check without changes (CI mode)
bunx biome check src/
# CI mode (exits with error on issues)
bunx biome ci src/
# Migrate from ESLint/Prettier
bunx biome migrate eslint --write
bunx biome migrate prettier --write
# Explain a rule
bunx biome explain noUnusedVariables
Biome works without configuration. For basic customization:
{
"$schema": "https://biomejs.dev/schemas/1.9.4/schema.json",
"vcs": {
"enabled": true,
"clientKind": "git",
"useIgnoreFile": true
},
"files": {
"ignoreUnknown": false,
"ignore": ["dist", "build", "node_modules", ".next", "coverage"]
},
"formatter": {
"enabled": true,
"indentStyle": "space",
"indentWidth": 2,
"lineWidth": 100
},
"linter": {
"enabled": true,
"rules": {
"recommended": true
}
},
"organizeImports": {
"enabled": true
}
}
| Category | Purpose | Example Rules |
|---|---|---|
recommended | Essential rules everyone should enable | Most rules marked "recommended" |
correctness | Prevent bugs and logic errors | noUnusedVariables, noUnreachable |
suspicious | Detect code that might be wrong | noExplicitAny, noDoubleEquals |
style | Enforce consistent style | useConst, noVar |
complexity | Reduce code complexity | noForEach, useFlatMap |
performance | Optimize performance | noAccumulatingSpread |
a11y | Accessibility best practices | noSvgWithoutTitle, useAltText |
security | Security vulnerabilities | noDangerouslySetInnerHtml |
Via biome.json:
{
"files": {
"ignore": [
"dist",
"build",
"node_modules",
"**/*.config.js",
"scripts/legacy/**"
]
}
}
Via .gitignore (automatic):
{
"vcs": {
"enabled": true,
"useIgnoreFile": true
}
}
| Tool | Time (1000 files) | Notes |
|---|---|---|
| Biome | 0.5s | Rust, parallel processing |
| ESLint | 8-10s | Node.js, single-threaded |
| Prettier | 3-5s | Node.js, formatting only |
| ESLint + Prettier | 11-15s | Sequential execution |
| Context | Command |
|---|---|
| Quick check | bunx biome check src/ |
| Fix all | bunx biome check --write src/ |
| Format only | bunx biome format --write src/ |
| Lint only | bunx biome lint --write src/ |
| CI mode | bunx biome ci src/ |
| Errors only | bunx biome check --diagnostic-level=error src/ |
| Limited output | bunx biome check --max-diagnostics=10 src/ |
| GitHub reporter | bunx biome check --reporter=github src/ |
| JSON output | bunx biome check --reporter=json src/ |
| Migrate ESLint | bunx biome migrate eslint --write |
| Migrate Prettier | bunx biome migrate prettier --write |
| Flag | Description |
|---|---|
--write | Apply fixes/formatting |
--reporter=github | GitHub annotations format |
--reporter=json | JSON output |
--diagnostic-level=error | Errors only |
--max-diagnostics=N | Limit output count |
--verbose | Show detailed diagnostics |
--no-errors-on-unmatched | Ignore unmatched files |
ci | CI mode (check + exit code) |
For detailed examples, advanced patterns, and best practices, see REFERENCE.md.