Skip to content
Ultracite
Esc
↑↓navigate↵open⌘Jpreview
On this page

Setup

Install Ultracite with your preferred package manager, choose the right presets, and generate editor and agent config for your project.

Ultracite can be installed with all major package managers. You’ll need Node.js 20.19+ (or 22.13+ on Node 22) and a project with a package.json file. If you’re new to Ultracite, the introduction covers what it is and which toolchains it supports.

Installation

The easiest way to get started is to run Ultracite’s init script, which will install the necessary packages and set up the config files for you. In your project directory, run:

npx ultracite init
pnpm dlx ultracite init
yarn dlx ultracite init
bunx ultracite init
nubx ultracite init
aube dlx ultracite init

You can optionally pass the following flags to the init command:

Flag Description Options
--linter The linting toolchain to use. When omitted and prompts are skipped, init keeps the linter the project already uses, or picks oxlint for a project without one. oxlint, biome, eslint
--pm The package manager to use. pnpm, bun, yarn, npm, deno, nub, aube
--frameworks The frameworks to configure. Space-separated: react, next, solid, vue, svelte, qwik, remix, tanstack, angular, astro, nestjs, jest, vitest
--editors The editors to configure. Space-separated: universal, vscode, cursor, windsurf, antigravity, kiro, trae, void, bob, codebuddy, zed. Use universal to write .vscode/settings.json for every VS Code-based editor.
--agents The AI agents to configure. Space-separated: universal, claude, codex, jules, replit, devin, lovable, zencoder, ona, openclaw, continue, snowflake-cortex, deepagents, qoder, kimi-cli, mcpjam, mux, pi, adal, copilot, cline, amp, aider, firebase-studio, open-hands, gemini, junie, augmentcode, bob, kilo-code, goose, roo-code, warp, droid, opencode, crush, qwen, amazon-q-cli, firebender, cursor-cli, mistral-vibe, vercel
--hooks The agent hooks to configure. Space-separated: cursor, windsurf, codebuddy, claude, copilot
--integrations Additional integrations to set up. Space-separated: husky, lefthook, lint-staged, pre-commit
--install-skill Install the reusable Ultracite skill after setup. (no value needed)
--js-plugins Optional Oxlint JS plugins to enable. Space-separated: @shadcn/lint, anti-slop, eslint-plugin-github, eslint-plugin-sonarjs, oxlint-plugin-react-doctor
--type-aware Enable type-aware linting. Adds project/scanner rules for Biome, installs oxlint-tsgolint for Oxlint. (no value needed)
--skip-install Skip installing dependencies. (no value needed)
--quiet Suppress interactive prompts and progress output. (no value needed, automatically enabled in CI)

Prompts are skipped when you pass --quiet or any of --pm, --editors, --agents, --hooks, --integrations, or --frameworks, so you can re-run init with just --hooks or --agents to add those to a project without changing its linter. In the interactive prompt, the linter the project already uses is preselected.

init checks every flag value before it changes anything. An unknown value (for example, --linter eslnt) stops it with a list of the valid values.

Programmatic Usage

For tools that need to call Ultracite programmatically (like scaffolding CLIs), you can use the --quiet flag to suppress interactive prompts and progress output:

npx ultracite init --quiet --pm npm

The --quiet flag is automatically enabled when the CI environment variable is set to true or 1, making it suitable for CI/CD pipelines:

CI=true npx ultracite init --pm npm

In quiet mode, Ultracite will:

  • Skip all interactive prompts
  • Keep the project’s current linter, or use Oxlint + Oxfmt for a project without one
  • Suppress the intro banner, spinners, and progress messages (warnings, such as a config file it couldn’t update, and errors still print)
  • Only set up editors, agents, hooks, Git hooks, and the skill when you pass their flags
  • Exit with code 0 on success or 1 on failure

You can combine --quiet with --linter to specify a toolchain:

npx ultracite init --quiet --linter eslint --pm npm

Usage with Tailwind CSS

If you use Tailwind CSS, it’s recommended to install the Tailwind CSS IntelliSense extension for class sorting and hints:

code --install-extension bradlc.vscode-tailwindcss

Was this page helpful?