β‘ Batteries included: Sheriff is a all-in-one solution.
You do not need to separately install or configure anything else.
Everything is included here.
β Seamless: If you know ESLint, you know Sheriff.
π No lock-in: Sheriff is very powerful, but it is not a framework.
You can extend the eslint.config.js beyond Sheriff as much as you like, just like you normally would.
You can also disable any rule Sheriff comes with.
Sheriff does not impose any limitations on you.
See also: configuration.
π€ Sheriff meets you where you are at: Other configs bundle linting rules with formatting opinions
and impose restrictions on how you should format your code.
Sheriff does not.
Sheriff makes using Prettier alongside effortless;
but you do not want to use it, that is perfectly fine as well!
π Frictionless by design: To set up Sheriff,
all you need to do is run npm init @sherifforg/config in your terminal.
The CLI automatically infers the details of your project
and figures out the optimal Sheriff configuration by itself.
β Interoperability: you can plop Sheriff in your project at any moment.
npm init @sherifforg/config will configure automatically everything for you and will warn you if you need to take any special precautions.
Bottom line: it is never too late to install Sheriff.
π Cutting-edge: Sheriff was one of the first attempts in the wild to adhere to the new βflatβ ESLint configuration format.
You can use Sheriff to safely migrate your project to the new config format with ease.
See also: migration guide.
π Sensible: All the hand-picked rules in Sheriff were chosen
to counter some problematic real-world scenarios
that can occur in production projects and to ensure maximum style consistency.
No bloat, ever.
See also: criteria.
π‘οΈ Typesafe: The ESLint configuration file can be typesafe!
See also: eslint-config-ts.
ποΈ Configurable: Sheriff is fully configurable using its own config object.
See also: configuration.