Repolode
haydenbleasel

haydenbleasel/ultracite

A zero-configuration linter and formatter for JavaScript and TypeScript that wires up Biome, ESLint, or Oxlint with preset rules in one command.

Stars
3,347
Forks
129
Open issues
4
Last commit
yesterday

What is it?

Ultracite is a linter and formatter aimed at teams and AI coding agents that need consistent, type-safe code without hand-writing configuration. Running npx ultracite init walks through choosing a toolchain (Biome, ESLint with Prettier and Stylelint, or Oxlint with Oxfmt), framework, editor, and AI agents, then installs and configures the setup.

The CLI provides check and fix commands, a doctor command that diagnoses configuration and linter version mismatches, and an upgrade command that reinstalls the toolchain at supported versions. The fix command can also hand remaining unfixable issues to the Claude Code or Codex CLI, which repairs them file by file and re-lints each fix.

Ultracite generates ruleset and context files for many AI agents, including Claude Code, GitHub Copilot, Cursor, and Gemini, and supports monorepos with one shared configuration. Config presets for each supported toolchain can also be extended directly.

Key features

  • 01Interactive init sets up Biome, ESLint, or Oxlint with preset rules and editor config.
  • 02check and fix commands lint and auto-fix, passing extra flags to the underlying linter.
  • 03doctor command diagnoses configuration issues and linter version mismatches.
  • 04fix can hand unfixable issues to Claude Code or Codex CLI.
  • 05Generates agent rule files for Claude Code, Copilot, Cursor, Gemini and others.
  • 06Supports single repos and monorepos with one shared configuration.

Use cases

  • Setting up consistent linting and formatting in a new TypeScript project in minutes.
  • Keeping style rules shared between human developers and AI coding agents.
  • Standardizing toolchain configuration across the packages of a monorepo.
  • Adding lint checks to CI with non-interactive init flags.

Quick start

  1. 1

    Run the interactive setup to choose your linter, framework, editor and AI agents

    npx ultracite init
  2. 2

    Check your code for issues without writing changes

    npx ultracite check
  3. 3

    Lint and auto-fix issues across the project

    npx ultracite fix

Things to know

  • Relies on third-party linters (Biome, ESLint, or Oxlint), so the configured toolchain and its versions shape behavior.
  • Targets JavaScript and TypeScript projects only.

Topics

FAQ

What is ultracite?
A zero-configuration linter and formatter for JavaScript and TypeScript that wires up Biome, ESLint, or Oxlint with preset rules in one command. Ultracite is a linter and formatter aimed at teams and AI coding agents that need consistent, type-safe code without hand-writing configuration. Running npx ultracite init walks through choosing a toolchain (Biome, ESLint with Prettier and Stylelint, or Oxlint with Oxfmt), framework, editor, and AI agents, then installs and configures the setup.
Is ultracite free to use? What license does it have?
ultracite is open source under the MIT license. Check the license terms before using it in commercial products.
Is ultracite still maintained?
Actively maintained. The last commit to ultracite was on Oct 19, 2026.
What can I use ultracite for?
Setting up consistent linting and formatting in a new TypeScript project in minutes. Keeping style rules shared between human developers and AI coding agents. Standardizing toolchain configuration across the packages of a monorepo. Adding lint checks to CI with non-interactive init flags.
How do I install ultracite?
Run the interactive setup to choose your linter, framework, editor and AI agents: npx ultracite init Check your code for issues without writing changes: npx ultracite check Lint and auto-fix issues across the project: npx ultracite fix
Where can I get ultracite?
The source code and installation instructions are on GitHub: https://github.com/haydenbleasel/ultracite

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects