Sheriff

The Nextgen Typescript Linting Experience

All the power of ESLint at your fingertips, without the hassle.

pnpm create @sherifforg/config

A different ESLint Config

Sheriff is a complete rethinking of the DevEx a modern ESLint config should provide.

Preconfigured ignores

Comes prepackaged with commonly ignored paths and respects your .gitignore file.

Batteries included

All-in-one solution with everything included. No need to install or configure anything separately.

No lock-in

Extended capabilities beyond a simple ESLint config, but not a framework. Extend or disable rules as needed.

Meets you where you are at

Formatting agnostic with no style restrictions. Works perfectly with Prettier or without it.

Frictionless by design

Setup with a single command that automatically infers project details for optimal configuration.

Interoperability

Install at any point in your project. The setup command configures everything automatically.

Preconfigured ignores

Comes prepackaged with commonly ignored paths and respects your .gitignore file.

Batteries included

All-in-one solution with everything included. No need to install or configure anything separately.

No lock-in

Extended capabilities beyond a simple ESLint config, but not a framework. Extend or disable rules as needed.

Meets you where you are at

Formatting agnostic with no style restrictions. Works perfectly with Prettier or without it.

Frictionless by design

Setup with a single command that automatically infers project details for optimal configuration.

Interoperability

Install at any point in your project. The setup command configures everything automatically.

Preconfigured ignores

Comes prepackaged with commonly ignored paths and respects your .gitignore file.

Batteries included

All-in-one solution with everything included. No need to install or configure anything separately.

No lock-in

Extended capabilities beyond a simple ESLint config, but not a framework. Extend or disable rules as needed.

Meets you where you are at

Formatting agnostic with no style restrictions. Works perfectly with Prettier or without it.

Frictionless by design

Setup with a single command that automatically infers project details for optimal configuration.

Interoperability

Install at any point in your project. The setup command configures everything automatically.

Preconfigured ignores

Comes prepackaged with commonly ignored paths and respects your .gitignore file.

Batteries included

All-in-one solution with everything included. No need to install or configure anything separately.

No lock-in

Extended capabilities beyond a simple ESLint config, but not a framework. Extend or disable rules as needed.

Meets you where you are at

Formatting agnostic with no style restrictions. Works perfectly with Prettier or without it.

Frictionless by design

Setup with a single command that automatically infers project details for optimal configuration.

Interoperability

Install at any point in your project. The setup command configures everything automatically.

Cutting-edge

Early adopter of the new eslint FlatConfig format. Easily migrate your project without effort.

Sensible

Hand-picked rules to prevent real-world production issues and ensure style consistency. No bloat.

Typesafe

Configuration file can be fully typesafe.

Configurable

Fully configurable with its own config object.

Modular

Opt-in support for a wide array of libraries.

Extensible

Designed for easy extension. Add your own rules, plugins, and configurations with minimal effort.

Cutting-edge

Early adopter of the new eslint FlatConfig format. Easily migrate your project without effort.

Sensible

Hand-picked rules to prevent real-world production issues and ensure style consistency. No bloat.

Typesafe

Configuration file can be fully typesafe.

Configurable

Fully configurable with its own config object.

Modular

Opt-in support for a wide array of libraries.

Extensible

Designed for easy extension. Add your own rules, plugins, and configurations with minimal effort.

Cutting-edge

Early adopter of the new eslint FlatConfig format. Easily migrate your project without effort.

Sensible

Hand-picked rules to prevent real-world production issues and ensure style consistency. No bloat.

Typesafe

Configuration file can be fully typesafe.

Configurable

Fully configurable with its own config object.

Modular

Opt-in support for a wide array of libraries.

Extensible

Designed for easy extension. Add your own rules, plugins, and configurations with minimal effort.

Cutting-edge

Early adopter of the new eslint FlatConfig format. Easily migrate your project without effort.

Sensible

Hand-picked rules to prevent real-world production issues and ensure style consistency. No bloat.

Typesafe

Configuration file can be fully typesafe.

Configurable

Fully configurable with its own config object.

Modular

Opt-in support for a wide array of libraries.

Extensible

Designed for easy extension. Add your own rules, plugins, and configurations with minimal effort.

Composable

A Config, a Scaffolder and a Doctor. Use what you like.

Best practices

Built around the best practices of the JavaScript ecosystem.

Incrementally adoptable

Can be adopted incrementally with the "files" filter.

Comprehensive

Supports up to 10 different technologies.

Composable

A Config, a Scaffolder and a Doctor. Use what you like.

Best practices

Built around the best practices of the JavaScript ecosystem.

Incrementally adoptable

Can be adopted incrementally with the "files" filter.

Comprehensive

Supports up to 10 different technologies.

Composable

A Config, a Scaffolder and a Doctor. Use what you like.

Best practices

Built around the best practices of the JavaScript ecosystem.

Incrementally adoptable

Can be adopted incrementally with the "files" filter.

Comprehensive

Supports up to 10 different technologies.

Composable

A Config, a Scaffolder and a Doctor. Use what you like.

Best practices

Built around the best practices of the JavaScript ecosystem.

Incrementally adoptable

Can be adopted incrementally with the "files" filter.

Comprehensive

Supports up to 10 different technologies.

Batteries included

Sheriff is the ultimate culmination of the ESLint ecosystem. It is designed to be an all-in-one solution. Forget about dependency management hell. Everything your project needs is already built-in.

TypeScript Logo
React Logo
Next.js Logo
Storybook Logo
ESLint Logo
Jest Logo
Vitest Logo
Playwright Logo
Ramda Logo
Lodash Logo

Beyond a config

Just a config if you want. A whole ecosystem if you need it.

1

Scaffolder

Introduce Sheriff in your project with a single command. No more manual setup. A simple wizard will help you kickstart the perfect configuration for your needs. Monorepo compatible.

2

Config

From here on, you can enable new rules on-top of Sheriff or disable any existing rules that don't fit your vision.

3

Doctor

Keep the Sheriff options in check as time goes by and the project grows. Plug it into your CI pipeline and forget about it.

Comparisons

Sheriff strive to offer the best possible combination of features and ease of use among every other option in the wild.

sheriffeslint-config-airbnbstandardeslint-config-standard@antfu/eslint-configXOeslint-config-canonicaleslint-kiteslint-config-hardcore
FlatConfigSupportedNot supportedNot supportedSupportedSupportedNot supportedNot supportedNot supportedNot supported
MaintainedSupportedNot supportedNot supportedNot supportedSupportedSupportedSupportedSupportedSupported
CustomizableSupportedSupportedNot supportedSupportedSupportedSupportedSupportedSupportedSupported
Rich docsSupportedSupportedSupportedNot supportedSupportedSupportedSupportedSupportedSupported
Functional programmingSupportedNot supportedNot supportedNot supportedNot supportedNot supportedNot supportedNot supportedSupported
Preconfigured ignoresSupportedNot supportedNot supportedNot supportedSupportedSupportedNot supportedNot supportedNot supported
Learning curveEasy learning curveMedium learning curveMedium learning curveMedium learning curveHard learning curveMedium learning curveHard learning curveHard learning curveMedium learning curve
Incremental adoptionSupportedNot supportedNot supportedNot supportedNot supportedNot supportedNot supportedSupportedNot supported
Typesafe configSupportedNot supportedNot supportedNot supportedSupportedNot supportedNot supportedNot supportedNot supported
ScaffolderSupportedNot supportedNot supportedNot supportedSupportedNot supportedNot supportedSupportedNot supported
DoctorSupportedNot supportedNot supportedNot supportedNot supportedNot supportedNot supportedNot supportedNot supported
TypescriptSupportedNot supportedNot supportedNot supportedSupportedSupportedSupportedSupportedSupported
ReactSupportedSupportedNot supportedNot supportedSupportedSupportedSupportedSupportedSupported
VueNot supportedNot supportedNot supportedNot supportedSupportedSupportedNot supportedSupportedSupported
SolidjsNot supportedNot supportedNot supportedNot supportedSupportedNot supportedNot supportedSupportedNot supported
SvelteNot supportedNot supportedNot supportedNot supportedSupportedNot supportedNot supportedSupportedNot supported
GraphQLNot supportedNot supportedNot supportedNot supportedNot supportedNot supportedSupportedNot supportedNot supported
UnicornSupportedNot supportedNot supportedNot supportedSupportedSupportedSupportedSupportedSupported
SonarjsSupportedNot supportedNot supportedNot supportedNot supportedNot supportedNot supportedNot supportedSupported
JSDocSupportedNot supportedNot supportedNot supportedSupportedNot supportedSupportedNot supportedNot supported
TSDocSupportedNot supportedNot supportedNot supportedNot supportedNot supportedNot supportedNot supportedNot supported
ImportSupportedSupportedSupportedSupportedSupportedSupportedSupportedSupportedSupported
LodashSupportedNot supportedNot supportedNot supportedNot supportedNot supportedSupportedNot supportedNot supported
RemedaSupportedNot supportedNot supportedNot supportedNot supportedNot supportedNot supportedNot supportedNot supported
NextjsSupportedNot supportedNot supportedNot supportedSupportedNot supportedSupportedSupportedNot supported
JestSupportedNot supportedNot supportedNot supportedNot supportedNot supportedSupportedNot supportedSupported
VitestSupportedNot supportedNot supportedNot supportedSupportedNot supportedSupportedNot supportedNot supported
Testing-libraryNot supportedNot supportedNot supportedNot supportedNot supportedNot supportedNot supportedNot supportedSupported
PlaywrightSupportedNot supportedNot supportedNot supportedNot supportedNot supportedNot supportedNot supportedNot supported
StorybookSupportedNot supportedNot supportedNot supportedNot supportedNot supportedNot supportedNot supportedSupported
AstroSupportedNot supportedNot supportedNot supportedSupportedNot supportedNot supportedNot supportedNot supported

Sheriff in numbers

0

Technologies

0

Plugins

+0

Rules

+0

Github stars

+0K

Monthly downloads

+0

Contributors

Join the revolution

Sheriff grows stronger with every contributor. Join our community and help shape its future!