Commonality comes with a powerful monorepo linter that can be customized to scale standards for any existing tool or workflow. Checks can be run as part of your CI pipeline to ensure a consistent developer experience across an infinite number of packages.

Unlike a linter or static conformance tool, checks are dynamic functions that are run more like tests. This allows you to read and write to disk or even make network requests to validate your project’s configuration.

Checks can be auto-fixable, have full type-safety, and are easily testable so you can ensure that you’re creating the lowest friction possible for your team.

Some examples of things you can do with checks:

  • Ensure that all packages have a README.md
  • Ensure that all ui packages have a tsconfig.json that supports JSX
  • Ensure that all NPM scripts have a corresponding Turborepo pipeline configured in turbo.json
  • Ensure that all vite.config.js files have matching build configuration for consistent inferred tasks with NX.

View all our examples

Check out all our examples to quickly integrate into your existing workflows and tools.

Running checks

You can view the status of your checks by running the check command.

commonality check