← all checks

Type configuration: static types help AI coding agents read code

This check asks whether the code is statically typed: a type-checker config for JavaScript, TypeScript or Python, or a language that is typed by design.

How many repos pass

Of the 371 repos on the leaderboard, 247 pass in full (67%), 0 pass in part (0%) and 124 fail (33%).

Why agents need it

Types tell an agent what a function takes and returns without it running anything. It can follow a call across files and catch a wrong argument before the tests do. Cursor's profile gives type config its top weight.

How we score it

  • Full pass: tsconfig.json, jsconfig.json, mypy.ini, pyrightconfig.json, or a [tool.mypy] or [tool.pyright] section in pyproject.toml.
  • Full pass: a build file for a typed language, namely Rust, Go, Java, Kotlin, Scala, Swift, C#, OCaml, Haskell or Zig.
  • Fail: neither. A typed language whose build file we do not look for, such as C or C++, also fails.

The methodology has the formula that turns checks into a score.

How to pass

For TypeScript or JavaScript, commit a tsconfig.json or jsconfig.json. For Python, add mypy or Pyright and commit its config. Other typed languages pass once their build file is at the repo root.

Which agents count it most

Pass rate by language

Top-scoring repos that pass

Popular repos that fail it