UltraciteUltracite
Dashboard

Migrate from ESLint

How to migrate your project from ESLint to Ultracite.

If you're already using ESLint and want to switch to Ultracite's preconfigured setup, this guide will help you migrate while preserving your code quality standards.

Why Migrate to Ultracite?

  • Multiple Providers: Choose between Biome, ESLint + Prettier + Stylelint, or Oxlint
  • Zero Configuration: Ultracite provides highly configured presets for each provider
  • Editor Integration: Built-in support for AI-powered editors (Cursor, Windsurf, GitHub Copilot)
  • Consistent Workflow: Standardized setup across projects and teams
  • Maintained Rules: Regular updates with new best practices

Before You Start

Make sure you have:

  • An existing project using ESLint
  • Node.js v14.18+ (Node 18+ recommended)
  • An ESLint configuration file (e.g., .eslintrc, eslint.config.js)

Migration Options

The fastest way is to run the automatic setup script.

npx ultracite init

This will:

  • Prompt you to choose a linting provider (Biome, ESLint, or Oxlint)
  • Install Ultracite and the necessary dependencies
  • Create or merge your linter configuration with Ultracite's preset
  • Merge your existing .vscode/settings.json with Ultracite's preset
  • Enable strictNullChecks in your tsconfig.json file (or create one if it doesn't exist)
  • Set up editor integrations

When prompted, choose to remove the existing ESLint configuration if you're switching to Biome or Oxlint. This will:

  • Remove ESLint and any related dependencies
  • Remove any ESLint configuration files
  • Remove any ESLint related commands from your .vscode/settings.json file

If you choose ESLint as your provider, Ultracite will update your existing ESLint configuration to use Ultracite's preset instead.

Option 2: Manual Migration

If you prefer more control over the process, follow the Manual Setup steps and manually remove ESLint and its configuration files.

After the migration, restart your editor to ensure the new configuration is applied.

How is this guide?

On this page