Awesome Reviewers

Verification · Static analysis

Type checking

Proves call sites and data shapes agree across modules: wrong types, unhandled null or None, signatures broken by a change.

Sub-techniques

  • Gradual typing V1006.001

    Type-check annotated code first and tighten strictness per module.

  • Strict mode V1006.002

    Disallow implicit any, untyped definitions and unchecked optional access.

  • Compiler as checker V1006.003

    In compiled languages the build is the type check; a failing build is this check failing.

How to build it

  1. Run the checker in non-strict mode on the whole repository to get a baseline.
  2. Turn on strict flags for new and frequently changed modules first.
  3. Run it in CI as its own job so type errors are not hidden in test failures.

Signals in a repository

  • [tool.mypy] or pyrightconfig.json, tsconfig.json with strict flags.
  • A tsc --noEmit, mypy or pyright step in CI or a typecheck script.