Goals

The goals of Ultracite and how it aims to achieve them.

Ultracite's goals are effectively represented in the Benefits we provide to users, but here's how we can think about them from a development perspective:

Lightning-fast performance

Ultracite benefits from the performance of Biome and the Rust implementation and we should endevour to keep it that way.

Zero-config by design

Ultracite is designed to be zero-config by default. This allows new users to get started quickly and without the need to configure the linter/formatter; and saves teams time when onboarding new developers.

The goal is to provide a default configuration that is good for most projects, but also provide a way to customize the configuration for those who need it.

Intuitive and simple

Ultracite should be as invisible as possible. Preferably, it should not require any configuration or action from the user. If required, it should provide feedback in a way that is easy to understand and act on.

Maximum type safety

Ultracite should be designed to be as type safe as possible. It should use TypeScript's strict mode and additional lint rules to catch errors and provide suggestions for improvements.

Plays nice with others

Ultracite should be able to work with other tools and libraries and not conflict with them.

On this page