Awesome Reviewers

Verification · Code review · Logic and correctness review

Type and contract consistency

Check that values crossing module boundaries keep their meaning.

How to build it

  1. Run the type checker in strict mode across every package in the repository.
  2. Annotate public interfaces and the values that cross module boundaries.
  3. Fail CI on any type error, with no blanket ignore comments at module boundaries.

Signals in a repository

  • A strict setting in tsconfig.json, mypy or pyright config files.
  • A CI step that runs tsc --noEmit, mypy or pyright.
  • Type stubs or declaration files for the public API.

In practice

148 repositories run a tool for this check in the scanned set.

  • tsc · 117 repos
  • mypy · 35 repos
  • pyright · 16 repos

Examples