ultracite

Zero-config linting and formatting for JavaScript/TypeScript with pluggable linter backends. Supports three linter backends: Biome (recommended), ESLint + Prettier, and Oxlint + Oxfmt; auto-detects active linter from config files CLI commands for checking issues, auto-fixing, diagnosing setup problems, and initializing new projects with interactive or non-interactive modes Framework-specific presets available for React, Next, Vue, Svelte, Angular, Astro, NestJS, and others; extends via config files Enforces consistent code standards covering formatting (2-space indent, semicolons, 80-char width), style (arrow functions, const-first, template literals), and correctness (no unused imports, no any types, exhaustive React deps)

INSTALLATION
npx skills add https://github.com/haydenbleasel/ultracite --skill ultracite
Run in your project or agent environment. Adjust flags if your CLI version differs.

SKILL.md

Ultracite

Zero-config linting and formatting for JS/TS projects. Supports three linter backends: Biome (recommended), ESLint + Prettier, and Oxlint + Oxfmt.

Detecting Ultracite

Check if ultracite is in package.json devDependencies. Detect the active linter by looking for:

  • biome.jsonc → Biome
  • eslint.config.mjs → ESLint
  • oxlint.config.ts → Oxlint

CLI Commands

# Check for issues (read-only)

bunx ultracite check

Auto-fix issues

bunx ultracite fix

Diagnose setup problems

bunx ultracite doctor

Initialize in a new project

bunx ultracite init

Replace `bunx` with `npx`, `pnpx`, or `yarn dlx` depending on the package manager.

`check` and `fix` accept optional file paths: `bunx ultracite check src/index.ts`.

## Initialization

`bunx ultracite init` runs an interactive setup. For non-interactive (CI) use, pass flags:

bunx ultracite init \

--pm bun \

--linter biome \

--editors universal \

--agents claude copilot \

--frameworks react next \

--integrations husky lint-staged \

--quiet


**Flags:**

- `--pm` — `npm` | `yarn` | `pnpm` | `bun`

- `--linter` — `biome` (recommended) | `eslint` | `oxlint`

- `--editors` — `universal` (writes `.vscode/settings.json` for every VS Code-based editor) | `vscode` | `zed` | `cursor` | `windsurf` | `antigravity` | `kiro` | `trae` | `void` | `bob` | `codebuddy`

- `--agents` — `claude` | `codex` | `copilot` | `cline` | `amp` | `gemini` | `cursor-cli` + 19 more

- `--frameworks` — `react` | `next` | `solid` | `vue` | `svelte` | `qwik` | `remix` | `angular` | `astro` | `nestjs`

- `--integrations` — `husky` | `lefthook` | `lint-staged` | `pre-commit`

- `--hooks` — Enable auto-fix hooks for supported agents/editors

- `--type-aware` — Enable type-aware linting (oxlint only)

- `--skip-install` — Skip dependency installation

- `--quiet` — Suppress prompts (auto-detected when `CI=true`)

Init creates config that extends Ultracite presets:

// biome.jsonc

{ "extends": ["ultracite/biome/core", "ultracite/biome/react"] }

BrowserAct

Let your agent run on any real-world website

Bypass CAPTCHA & anti-bot for free. Start local, scale to cloud.

Explore BrowserAct Skills →

Stop writing automation&scrapers

Install the CLI. Run your first Skill in 30 seconds. Scale when you're ready.

Start free
free · no credit card