UStackUStack
Ultracite icon

Ultracite

Ultracite is a zero-configuration linting and formatting preset for JavaScript and TypeScript projects. It configures Oxlint, Biome, or ESLint-based toolchains and supports editor, Git hook, and coding-agent workflows for consistent code checks.

Ultracite

What is Ultracite?

Ultracite is a zero-configuration preset for JavaScript and TypeScript linting and formatting. It is not a linter itself; instead, it configures Oxlint with Oxfmt, Biome, or ESLint with Prettier and Stylelint around a shared, strict standard.

The tool is designed for teams and coding agents that need consistent checks during development. It can run from the command line and editor, apply fixes on save, and connect to agent hooks so generated edits are checked before they move into review. Its presets emphasize type safety, React and hook patterns, accessibility, async correctness, imports, and formatting.

Features

Three supported toolchains

Provides shared presets for Oxlint with Oxfmt, Biome, or ESLint with Prettier and Stylelint, allowing projects to adopt the engine that fits their existing tooling.

Opinionated JavaScript and TypeScript rules

The default presets cover type safety, React and hooks, accessibility, async correctness, imports, and formatting. Examples include checks for `any`, hook dependencies, image alt text, equality, and floating promises.

Zero-configuration setup

The `init` command detects the project stack, writes the selected engine’s configuration, and can configure editors, agents, and Git hooks. Presets are available for frameworks including React, Next.js, Vue, Svelte, Angular, Astro, and others listed by the project.

Coding-agent workflow

Ultracite can write guidance to `AGENTS.md` and configure hooks for supported coding agents. Hooks can run after edits, while agent-specific fix commands pass unresolved diagnostics back to Claude Code or Codex.

Fast feedback and autofix

The project documents fast checks suitable for save-time and per-edit workflows. Its published benchmark shows different tradeoffs between Oxlint, Biome, and the ESLint toolchain depending on project size and configuration.

Use cases

  • Reviewing AI-generated code

    Add `AGENTS.md`, agent-specific settings, and post-edit hooks so generated files are checked as part of the agent’s normal write cycle. Unresolved issues can be returned to supported agents for further edits.

  • Standardizing a JavaScript or TypeScript project

    Use the initializer and save-time checks to establish shared linting and formatting conventions without assembling a configuration from scratch. Teams can override individual rules when their codebase needs different behavior.

  • Choosing or migrating linting infrastructure

    Select Oxlint, Biome, or ESLint based on the project’s needs: native speed, a single integrated tool, or access to the broader ESLint and Prettier plugin ecosystems. The toolchain can be changed later through `init`.

  • Adding continuous local feedback

    Run checks after edits, on save, or through Git hooks to catch type-safety, accessibility, React, async, and formatting problems before code reaches review or CI.

Pros and Cons

Pros

  • Supports three established JavaScript and TypeScript toolchains rather than requiring one underlying engine.
  • Combines linting, formatting, editor settings, and coding-agent instructions in an initialization workflow.
  • Targets common agent-generated code issues such as unsafe types, incomplete hook dependencies, missing accessibility attributes, and async mistakes.
  • Offers command-line, save-time, Git hook, and post-edit workflows, with autofix and agent handoff for unresolved diagnostics.

Cons

  • Its opinionated defaults may require rule overrides for projects with different conventions, although the presets are customizable.
  • The supported engines have different rule coverage, plugin support, formatters, and performance characteristics, so teams must choose the toolchain that matches their project.
  • The product site documents setup and workflow integrations, but does not provide pricing information on the referenced pricing page.

FAQ

How do you set up Ultracite?

Run `npx ultracite init`, or use the equivalent `pnpm dlx`, `yarn dlx`, `bunx`, or `nubx` command. The initializer detects the project stack, installs and configures the selected toolchain, and can set up editor, agent, and Git hook integrations. Existing ESLint, Prettier, Stylelint, Biome, or Oxlint projects can be migrated progressively or all at once.

Which linting engine should a project use?

Ultracite supports Oxlint with Oxfmt, Biome, and ESLint with Prettier and Stylelint. Oxlint is the documented starting recommendation for native speed and ESLint rule names; Biome fits projects wanting one linter, formatter, and configuration file; ESLint is suited to projects that depend on its plugins, Prettier plugins, or Vue and Svelte template linting.

How does Ultracite fit into an agent or editor workflow?

After setup, Ultracite can run checks and fixes from the command line and editor. It can also format and apply fixes on save, and agent hooks can run `ultracite fix --hook` after file-write or edit operations. Autofix handles resolvable issues; remaining diagnostics can be handed to Claude Code or Codex with the corresponding `ultracite fix` flag.

Can teams customize or change the selected toolchain?

Yes. The presets are zero-configuration by default but remain customizable. You can choose an engine during initialization, override rules, and later switch between Oxlint, Biome, and ESLint with `npx ultracite init --linter ...`.

Quick Facts

Category
Developer tool
Primary languages
JavaScript and TypeScript
Supported toolchains
Oxlint + Oxfmt; Biome; ESLint + Prettier + Stylelint
Primary users
Software teams and coding agents
Agent coverage
Setup guidance for 40 coding agents
License
MIT

Альтернативы Ultracite

ByteAsk icon

ByteAsk

ByteAsk is a terminal-first AI coding agent for C and C++ that edits repositories and verifies changes with the real compiler, debugger, sanitizers, and tests before showing a diff. It offers a free tier plus paid plans, with editor connectors and zero-retention handling described in the source.

GitBot icon

GitBot

GitBot is a local browser-based workspace for creating reusable coding bots powered by Claude Code, Codex, or OpenCode. It helps developers run those agents across repository folders with persistent threads and configurable permissions.

Manta AI icon

Manta AI

Manta AI is an autonomous web app testing tool for teams that want to map application behavior, catch regressions, and generate tests without writing scripts or maintaining selectors. It works from a URL and supports plain-English test flows, run results with screenshots, and scheduled or deployment-triggered checks.

Ghost icon

Ghost

Ghost — терминальный AI-ассистент для чата, генерации кода и запуска задач в командной строке. Бесплатные модели, Linux, macOS, Windows, open source.

Vi3ecode icon

Vi3ecode

Vi3ecode is a maintained development environment for working with AI coding agents. It keeps project context, terminal, Git, memory, flows, review, and communication connected around the agent you already use.

Lucid Train icon

Lucid Train

Lucid Train is a local-first AI coding harness that turns repository code into architecture diagrams and uses those diagrams as specifications for coding agents. It is available as a desktop app and a lightweight Rust CLI, and it can run with local models or your own API keys.