skills/linter-formatter-init/SKILL.md
Set up Biome (default) or ESLint + Prettier, Vitest testing, and pre-commit hooks for any JavaScript/TypeScript project. Uses Bun as the package manager. Use this skill when initializing code quality tooling for a new project or adding linting to an existing one.
npx skillsauth add shipshitdev/library linter-formatter-initInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Set up linting, formatting, and testing for JavaScript/TypeScript projects using Biome 2.3+ (default), Vitest, and Bun.
IMPORTANT: Always uses Biome 2.3+ (latest) - never older versions.
This skill automates the setup of:
--vitest flag)--eslint flag)# Default setup (Biome) - RECOMMENDED
python3 scripts/setup.py --root /path/to/project
# Add Vitest testing with 80% coverage threshold
python3 scripts/setup.py --root /path/to/project --vitest --coverage 80
# Use ESLint + Prettier instead (legacy)
python3 scripts/setup.py --root /path/to/project --eslint --typescript
See references/full-guide.md (§ Quick Start — Full Command Variants) for --no-hooks, --monorepo, and every flag combination.
Biome 2.3+ (default): @biomejs/biome@latest (always latest, minimum 2.3+)
Vitest (with --vitest): vitest, @vitest/coverage-v8
ESLint + Prettier (legacy, with --eslint): eslint, prettier, eslint-config-prettier, eslint-plugin-prettier, plus @typescript-eslint/parser and @typescript-eslint/eslint-plugin if --typescript
Pre-commit hooks: husky, lint-staged
project/
├── biome.json # Biome config (lint + format)
├── .vscode/settings.json # Auto-format on save
├── .husky/pre-commit # Pre-commit hook
└── package.json # Updated with scripts + lint-staged
ESLint + Prettier (legacy) produces the equivalent .eslintrc.json / .prettierrc layout — see references/full-guide.md (§ Configuration Files (ESLint + Prettier - Legacy)).
Biome adds lint, lint:fix, format, format:check, check, check:fix. Vitest adds test, test:watch, test:coverage, test:ui. ESLint + Prettier (legacy) adds lint, lint:fix, format, format:check. See references/full-guide.md (§ Bun Scripts Added) for the exact script commands.
Biome is a fast, all-in-one linter and formatter. The default config enables recommended lint rules, 2-space/100-char formatting, single quotes, and organizeImports. See references/full-guide.md (§ Biome Configuration (Default)) for the full biome.json.
After setup, customize biome.json to adjust linting rules, formatting preferences, and file ignore patterns.
The --vitest flag creates vitest.config.ts (node/jsdom environment, v8 coverage, 80% default thresholds) and src/test/setup.ts for global test setup. See references/full-guide.md (§ Vitest Configuration (with --vitest)) for both files in full.
Customize the coverage threshold with --coverage 90.
When enabled (default), lint-staged runs on every commit:
Biome: *.{js,jsx,ts,tsx,json,css} → bunx biome check --write
ESLint + Prettier (legacy): *.{js,jsx,ts,tsx} → eslint --fix, prettier --write; *.{json,md,yml,yaml} → prettier --write
This ensures all committed code passes linting, is formatted, and no broken code enters the repo.
The skill creates .vscode/settings.json enabling format-on-save with Biome (default) or Prettier/ESLint (legacy) as the default formatter. See references/full-guide.md (§ VS Code / Cursor Settings) for both full configs.
Run python3 scripts/setup.py --root /path/to/monorepo --monorepo from the root. This adds root-level config that applies to all packages.
bunx husky
chmod +x .husky/pre-commit
When using --eslint, the skill detects common frameworks and adjusts config:
next/core-web-vitals to ESLinteslint-plugin-react and eslint-plugin-react-hooksIf preferring manual setup over the script:
# Biome
bun add -D @biomejs/biome husky lint-staged
bunx biome init && bunx husky
See references/full-guide.md (§ Manual Setup (Alternative to the setup script)) for the ESLint + Prettier manual sequence, then copy configs from assets/configs/.
development
Coordinates a weekly engineering review of board accuracy, recent code changes, operational health, and scoped cleanup. Use for a recurring repository health review or a review of the last several days.
testing
Audits project board configuration and prepares explicitly requested setup, copy, or normalization changes while preserving the existing workflow and provider boundaries. Use when inspecting a board's fields, columns, scope, or configuration.
testing
Reconciles a project board with current work and delivery evidence, reports incomplete coverage and metadata gaps, and applies only approved provider-supported field changes. Use when auditing board drift, reviewing blocked work, or assessing upcoming delivery.
development
Walk through how a subsystem works. Use for "how does X work", code walkthroughs before changing something, and placement or ownership questions. Explains architecture, runtime flow, and onboarding mental models. Can critique architecture. Use why for motivation.