About Ultracite
Ultracite is an MCP server published by haydenbleasel in the Developer Tools category: a highly opinionated, zero-configuration linter and formatter.
The repository has 3.3K stars and 129 forks, with the last commit yesterday. Recent commit activity is the strongest signal that reported issues will get attention.
Install
git clone https://github.com/haydenbleasel/ultraciteThis server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.
Ask AI
Ask AI about Ultracite
Powered by Claude · Grounded in docs
Security checks
Static checks derived from the repository 8 hours ago. Heuristics on the source, not an audit.
- ✓README presentThe repository ships documentation.
- ✓License declaredUsable under a stated license.
- ✓Tests presentA test suite exists in the repository.
- ✓Dependencies pinnedA lockfile pins dependency versions.
- !No dynamic code executionSource scan found eval or shell execution. Review how tool inputs reach it before granting credentials.
- !Scoped permissionsDoesn't declare a permission scope. Assume it can do anything its process can.
Releases
README
Ultracite
The linter and formatter for agentic development.
Ultracite helps you and your AI models write consistent, type-safe code without the hassle of configuration. Pick your preferred toolchain, run one command, and get hundreds of battle-tested rules wired up in seconds — across single repos and monorepos alike.
For the thinking behind Ultracite, read The agentic development loop by Hayden Bleasel. For the reasoning behind the rules, browse our open research.
Quick Start
npx ultracite init
The interactive setup guides you through choosing your formatter/linter, framework, editor, and AI agents, then installs and configures everything for you. Re-run it any time to adjust your setup.
Prefer a different package manager? Ultracite detects yours automatically, or you can run it with
pnpm dlx,yarn dlx, orbunx.
Commands
| Command | Description |
|---|---|
ultracite init |
Initialize Ultracite in the current directory (interactive by default). |
ultracite check [files...] |
Lint without writing changes. Unknown flags are passed through to the underlying linter. |
ultracite fix [files...] |
Lint and auto-fix. Unknown flags are passed through to the underlying linter. |
ultracite doctor |
Verify your Ultracite setup and diagnose configuration issues, including linter version mismatches. |
ultracite upgrade |
Update Ultracite and reinstall your linter toolchain at the versions it supports. |
check and fix accept an optional list of files or globs; omit them to run against the whole project. Add -v / --version or -h / --help for CLI details.
fix also accepts --claude or --codex to hand any remaining unfixable issues to the Claude Code or Codex CLI, which repairs them autonomously file by file — each fix verified by a re-lint before it's marked done.
Common init flags for non-interactive / CI use:
| Flag | Description |
|---|---|
--linter <linter> |
Toolchain to configure (Biome, ESLint, or Oxlint). |
--pm <pm> |
Package manager to use. |
--editors <editors...> |
Editors to configure (use universal for .vscode/settings.json). |
--agents <agents...> |
AI agents to enable (use universal for AGENTS.md). |
--frameworks <frameworks...> |
Frameworks in use, for framework-aware rules. |
--workspace-framework <path=framework...> |
Frameworks for one workspace of a monorepo (e.g. apps/web=react). |
--js-plugins <plugins...> |
Optional Oxlint JS plugins to enable (@shadcn/lint, anti-slop, eslint-plugin-github, eslint-plugin-jsdoc, eslint-plugin-sonarjs, eslint-plugin-tsdoc, oxlint-plugin-react-doctor). |
--type-aware |
Enable type-aware linting, and the strictNullChecks it needs. |
--install-skill |
Install the reusable Ultracite skill after setup. |
--skip-install |
Configure without installing dependencies. |
--yes, -y |
Take the defaults without prompting (automatic in CI and without a terminal). |
--quiet |
Only print warnings and errors. |
See the CLI reference for the full, current list of options.
Supported Tools
- Biome — All-in-one formatting and linting in a single fast binary.
- ESLint + Prettier + Stylelint — The most mature ecosystem with the largest plugin support.
- Oxlint + Oxfmt — Rust-based tooling that runs dramatically faster than ESLint, part of the Oxc ecosystem.
Key Features
⚡ Subsecond Performance
Built around Rust-based tooling for near-instant analysis. On-save checks feel seamless and stay out of your way.
🎯 Zero-Config by Design
Hundreds of preconfigured rules tuned for modern JavaScript and TypeScript. It works out of the box, and you can override anything when you need to.
🤖 AI-Ready
Generate ruleset and context files for a wide range of AI agents — Claude Code, GitHub Copilot, Cursor, Gemini, and many more — so humans and models share one consistent style.
🏗️ Monorepo Ready
One unified toolchain configuration across every package and app, eliminating duplicate config files while keeping standards consistent.
Using the presets directly
Beyond the CLI, Ultracite publishes ready-made config presets you can extend in your own setup (Biome, ESLint, Oxlint, Oxfmt, Prettier, and Stylelint). ultracite init wires these up for you; if you'd rather reference them by hand, the configuration docs list the exact import paths and extension points for each toolchain.
Documentation
Full setup guides, configuration options, rule references, framework and editor integrations, and examples live in the docs:
- Website: https://www.ultracite.ai/
- Issues & discussions: https://github.com/haydenbleasel/ultracite
License
MIT © Hayden Bleasel
README fetched from the repository 8 hours ago. The original is authoritative.