LogoSheriff
Documentation

Features

Sheriff's key features at a glance

Batteries included

Sheriff is a all-in-one solution. You don't need to install or configure separately anything else. Everything is included here

Seamless

If you know ESLint, you know Sheriff

No lock-in

Sheriff has extended capabilities beyond being a simple ESLint config, but it's not a framework. You can extend the eslint.config.mjs beyond Sheriff as much as you like, just like you normally would. Or you can disable any rule Sheriff comes with. Sheriff doesn't impose any limitation. See: configuration

Sheriff meets you where you are at

Some other configs bundle linting rules with formatting opinions and impose restrictions on how you should format your code. Sheriff does not. If you want to use Prettier alongside Sheriff, Sheriff provides you with the golden path to do it, if you don't it's ok too!

Frictionless by design

To setup Sheriff and take off, the only input required from the user is running the Scaffolder. It will automatically infer the details of your project and figure out the optimal Sheriff configuration by itself

Interoperability

You can plop Sheriff in your project at any moment. The Scaffolder will configure automatically everything for you and will warn you if you need to take any special precautions. Bottom line: it's never too late to install Sheriff

Cutting-edge

Sheriff is one of the first attempts in the wild to adhere to the new eslint configuration format, the FlatConfig. You can use Sheriff to easily and safely migrate your project to the new config format without effort. See: migration guide

Sensible

All of the rules that were hand-picked 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 here. See criteria

Typesafe

The Sheriff configuration file can be typesafe! See: eslint-config-ts

Configurable

Sheriff is fully configurable with its own config object. See: configuration

Modular

Sheriff has opt-in support for a wide array of libraries

The Doctor

Sheriff provides a diagnostic tool that helps you maintain your Sheriff configuration and spot inconsistencies. It can easily b run on CI.

Preconfigured ignores

Sheriff comes with sensible default ignore patterns out-of-the-box, that also incorporate your .gitignore file, so you don't have to worry about excluding common build artifacts, dependencies, and generated files from linting

SemVer

Sheriff releases follows Semantic Versioning with Conventional Commits standards

Last updated on