Skip to main content

✨ Features

  • Batteries included: Sheriff is a all-in-one solution. You don’t need to separately install or configure anything else. Everything is included here.
  • Seamless: If you know ESLint, you know Sheriff.
  • 🔓 No lock-in: Sheriff more powerful than your average simple ESLint config, but it's 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 doesn’t impose any limitations. See: 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 and take off, 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 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. You can use Sheriff to safely migrate your project to the new config format with ease. See: migration guide.
  • 👊 Sensible: All of the hand-picked rules in Sheriff were chosen to counter problematic real-world scenarios that can occur in production projects and to ensure maximum style consistency. No bloat here, ever. See: criteria.
  • 🛡️ Typesafe: With Sheriff, the ESLint configuration file can be typesafe! See: TypeScript configs
  • 🗄️ Configurable: Sheriff is fully configurable with its own config object. See: configuration
  • 🐙 Modular: Sheriff has opt-in support for a wide array of libraries.
  • 🆙 SemVer: Sheriff releases follow Semantic Versioning. See also: versioning policy § FAQs.