Skip to main content
Ultracite v7 introduces support for multiple linting providers: Biome, ESLint + Prettier + Stylelint, and Oxlint + Oxfmt.

What Changed

Multi-Provider Support

Ultracite now supports three linting toolchains:

Updated Preset Paths

Preset paths now include the provider name to distinguish between linters:
v6 Pathv7 Path
ultracite/coreultracite/biome/core
ultracite/reactultracite/biome/react
ultracite/nextultracite/biome/next
ultracite/solidultracite/biome/solid
ultracite/vueultracite/biome/vue
ultracite/svelteultracite/biome/svelte
ultracite/qwikultracite/biome/qwik
ultracite/angularultracite/biome/angular
ultracite/remixultracite/biome/remix
ultracite/astroultracite/biome/astro

New CLI Flag

The --linter flag allows you to specify which provider to use:
npx ultracite init --linter biome
npx ultracite init --linter eslint
npx ultracite init --linter oxlint

Migration

For Biome Users (Default)

Update your biome.jsonc to use the new preset paths:
biome.jsonc
{
  // Before (v6)
  "extends": ["ultracite/core", "ultracite/react", "ultracite/next"]

  // After (v7)
  "extends": ["ultracite/biome/core", "ultracite/biome/react", "ultracite/biome/next"]
}

Switching to ESLint

If you’d like to switch to ESLint + Prettier + Stylelint:
npx ultracite init --linter eslint
This will create eslint.config.mjs, prettier.config.mjs, and stylelint.config.mjs files:
eslint.config.mjs
import { defineConfig } from "eslint/config";
import core from "ultracite/eslint/core";
import react from "ultracite/eslint/react";
import next from "ultracite/eslint/next";

export default defineConfig([
  {
    extends: [core, react, next],
  },
]);

Switching to Oxlint

If you’d like to switch to the fastest option:
npx ultracite init --linter oxlint
This will create .oxlintrc.json and .oxfmtrc.jsonc files:
.oxlintrc.json
{
  "extends": [
    "./node_modules/ultracite/config/oxlint/core/.oxlintrc.json",
    "./node_modules/ultracite/config/oxlint/react/.oxlintrc.json",
    "./node_modules/ultracite/config/oxlint/next/.oxlintrc.json"
  ]
}

Quick Upgrade

For the fastest upgrade path, run:
npx ultracite init
When prompted, select your preferred linting provider. Ultracite will update your configuration files automatically.