Skip to content
Ultracite
Esc
navigateopen⌘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+ and a project with a package.json file.

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

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

Flag Description Options
--linter The linting toolchain to use. biome, eslint, oxlint
--pm The package manager to use. pnpm, bun, yarn, npm, deno
--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 setup. Space-separated: husky, lefthook, lint-staged, pre-commit
--install-skill Install the reusable Ultracite skill after setup. (no value needed)
--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 visual output. (no value needed, automatically enabled in CI)

Programmatic Usage

For tools that need to call Ultracite programmatically (like scaffolding CLIs), you can use the --quiet flag to suppress all interactive prompts and visual 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
  • Use sensible defaults for all options (Biome by default)
  • Suppress ASCII art, spinners, and log messages
  • Only create the core linter configuration
  • Exit cleanly 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?