Home

Awesome

<p align="center"> <a href="https://www.eslint-config-sheriff.dev"> <img src="https://github.com/AndreaPontrandolfo/sheriff/blob/master/apps/docs-website/static/img/sheriff-logo.svg" width="240"> <h1 align="center">Sheriff</h1> </a> <p align="center"> ✨ A comprehensive and opinionated Typescript-first ESLint configuration ✨ </p> </p>

🥳 Overview

This repository is a monorepo that hosts the sourcecode of the following projects:

LinkSourceDescriptionVersion
Sheriff docs websitedocs-websiteSheriff documentation website
eslint-config-sheriffeslint-config-sheriffA comprehensive and opinionated Typescript-first ESLint configurationnpm
@sherifforg/create-configsheriff-create-configPackage used to create Sheriff-based ESLint configsnpm
@sherifforg/clisheriff-cliThe Sheriff CLI. Used to manage Sheriff-based ESLint configsnpm
@sherifforg/typessheriff-typesSheriff types packagenpm

🚀 Getting Started

Visit the official docs to get started with Sheriff.

📝 Updates

You can follow the latest updates on the project in the official blog.

🧡 Contributing

Suggestions

I consider Sheriff a community effort, and I welcome suggestions and contributions of any kind. Feel free to propose suggestions about new rules to implement, or tweaks to existing rules.<br> Please use the discussions tab or the issues tab for new rules proposals.

Development

  1. Clone this repository
  2. Enable Corepack using corepack enable
  3. Install dependencies using pnpm install
  4. Do the changes

🌤 Changelog

Releases.

💌 Acknowledgments

For some of this configuration, eslint-config-red was partially used as a base.<br> Additionally, inspiration was drawn from eslint-config-airbnb for some of the rules in no-restricted-syntax.<br> I don't take any attribution for the rules in the various eslint-plugins used here (except for the few that I personally created). Please consider starring the respective projects for the awesome work their authors made. Sheriff wouldn't be possible without their efforts.<br> The full list of the plugins used is here.