Oh My Otter

Open source · runs entirely on your machine

Find out how ready your repo is for any coding agent

Scan for the things coding agents trip over, benchmark your agent on standardized tasks in your own codebase, and compare anonymous results from everyone else.

See the results
~/projects/storefront · omot scan
Readiness
82B
  • passtests-pass
  • faillint-script
  • passtypecheck-script
  • warninstall-documented
  • passci-config
  • naenv-example
omot bench verify
add-unit-testpass
Corrections
1
Minutes
12
Attempts
1
Nothing leaves your machine

Until you run omot report and confirm the exact JSON.

14
readiness checks
6
benchmark tasks
0
network calls from the CLI
12
anonymous reports so far

Everything a coding agent trips over, measured

Agents do their best work in repos with runnable tests, documented setup and fast feedback. Oh My Otter checks for all of it and proves the difference with real tasks.

package-manager-lockfilepass
node-version-pinnedfail
tests-existpass
formatter-configwarn

A readiness score you can act on

Fourteen weighted checks cover setup, tests, linting, types, CI and docs. Every failure comes with a specific, fixable reason.

omot bench list
  • dep-patch-bump
  • add-unit-test
  • fix-lint-rule
  • a11y-img-alt
  • ts-strict-file

Benchmarks on your own code

Six standardized tasks, from bumping a dependency to fixing a failing test. Paste the prompt into any coding agent; the CLI verifies the result locally.

+ .nvmrc
+ .env.example
+ AGENTS.md
 3 files, 0 overwritten

Create-only fixes

omot scan --fix previews the missing pieces and never overwrites a file you already have.

{
  "task_id": "add-unit-test",
  "outcome": "pass",
  "readiness_score": 82
}

Anonymous by design

Reports hold coarse fields only: no code, file names, repo details or usernames. You see the exact JSON first.

An open dataset

Every accepted report is a plain JSON file in the repository. Download it, audit it, or build your own charts.

From a fresh clone,to evidence you can share

01

Scan

Get a readiness score and a list of specific findings in seconds. Gate it in CI with --min-score.

See the checks
$ npx oh-my-otter scan

Readiness 82 (B)
  fail  lint-script
  warn  install-documented
02

Benchmark

Start a task, paste the prompt into your coding agent, then verify. You get pass, partial or fail with reasons, plus corrections and minutes.

Browse tasks
$ omot bench start add-unit-test \
    --param file=src/format.ts \
    --param function=formatPrice
$ omot bench verify
  pass · 1 correction · 12 min
03

Report

omot report prints the exact anonymous JSON and opens a prefilled GitHub issue only after you say yes.

What gets shared
$ omot report

This is everything that will be shared:
{ "task_id": "add-unit-test", ... }
Open a GitHub issue with it? (y/N)

Results

Does a higher readiness score mean fewer corrections?

The public results compare success rates and human effort across tasks, readiness grades and coding agents. Cells with fewer than five reports stay hidden until there is enough data.

Success rate by readiness graden = 12
A
Not enough · n=0
B
Not enough · n=2
C
Not enough · n=2
D
Not enough · n=0
Explore all results

Make your repo a place coding agents do their best work

One command, no account, no network calls.