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.