Sherif Linter for Monorepos

1.11.1 · active · verified Sun Apr 19

Sherif is an opinionated, zero-config linter designed specifically for TypeScript and JavaScript monorepos. It enforces a set of rules to standardize the developer experience and prevent common regressions in multi-package repositories. The current stable version is `1.11.1`, with new minor versions being released frequently, indicating active development. A key differentiator is its performance; it's written in Rust, runs very fast, and doesn't require `node_modules` to be installed to function, making it efficient for CI/CD pipelines. It supports all major package managers including PNPM, Bun, NPM, and Yarn, and is primarily intended to be run as a CLI tool.

Common errors

Warnings

Install

Imports

Quickstart

This quickstart demonstrates how to install and run Sherif in a monorepo, including an example `package.json` configuration, and how to use the `--fix` and `--select` flags for automated issue resolution.

{
  "name": "my-monorepo",
  "private": true,
  "workspaces": [
    "packages/*"
  ],
  "scripts": {
    "lint:monorepo": "sherif",
    "lint:monorepo:fix": "sherif --fix --select highest"
  },
  "sherif": {
    "failOnWarnings": false,
    "ignoreRule": [
      "root-package-manager-field"
    ]
  }
}

// To run the linter:
pnpm dlx sherif@latest

// To run the linter and automatically fix issues, selecting the highest version for dependencies:
pnpm dlx sherif@latest --fix --select highest

view raw JSON →