Test suites: why AI coding agents need tests they can find
This check looks for tests an agent could run: a test directory, or files named like tests in each language.
How many repos have a test suite?
Of the 401 repos on the leaderboard, 208 pass in full (52%), 152 pass in part (38%) and 41 fail (10%).
Why do AI coding agents need tests?
Tests tell an agent whether its change worked. With them it can edit, run and correct itself; without them it hands back code nobody has run. Claude Code's profile weighs tests as heavily as AGENTS.md.
What counts as a test suite?
- Full pass: a
tests/,test/,__tests__/,spec/,specs/orsrc/test/directory. - 70%: no such directory, but test-named files turn up within three folder levels, such as
*.test.ts,test_*.py,*_test.goor*Test.java. - Fail: neither. We check that tests exist, not that they pass.
How checks become a score: methodology.
How do I make tests easy for AI agents to find?
Keep tests in a conventional directory and put the command that runs them in AGENTS.md. Tests next to the source score 70%, because an agent has to search for them.
Which AI coding agents weigh tests most?
- Aider14% of its score
- Claude Code13% of its score
- Pi12% of its score
- Kimi Code CLI12% of its score
- Devin11% of its score
- Codex10% of its score
- Gemini CLI10% of its score
- OpenHands9% of its score
- Cursor8% of its score
Pass rate by language
- Haskell7 of 7 (100%)
- Ruby9 of 10 (90%)
- Swift9 of 10 (90%)
- JavaScript13 of 15 (87%)
- Elixir6 of 7 (86%)
- C8 of 10 (80%)
- Clojure4 of 5 (80%)
- PHP9 of 12 (75%)
- Zig4 of 6 (67%)
- Python37 of 57 (65%)
- C++13 of 21 (62%)
- C#4 of 8 (50%)
- Rust22 of 45 (49%)
- Dart3 of 7 (43%)
- Go16 of 40 (40%)
- Java10 of 28 (36%)
- Scala2 of 6 (33%)
- TypeScript24 of 82 (29%)
- Kotlin1 of 12 (8%)
Top-scoring repos that pass
- Rust · 6.8k ★
- Ruby · 48k ★
- pingcap/tidb89.6Go · 40.7k ★
- Rust · 33.3k ★
- gitlab-org/cli88.8Go · 1.1k ★
- apache/superset88.7Python · 75.4k ★
- axios/axios88.1JavaScript · 109.3k ★
- aio-libs/aiohttp88.1Python · 16.6k ★
- C++ · 132.9k ★
- Python · 46.2k ★
- TypeScript · 115 ★
- TypeScript · 2 ★(this site's own repo)
Popular repos that fail it
- Java · 81.7k ★
- ocornut/imgui21.2C++ · 76.9k ★
- Rust · 66.1k ★
- karpathy/nanoGPT18.2Python · 64.3k ★
- git/git59.6C · 64.1k ★
- Java · 60.3k ★
- TypeScript · 56.6k ★
- google/guava51.1Java · 51.9k ★