stillthere
v0.1.0
Published
How much of what your AI agent wrote is still in the repo.
Maintainers
Readme
stillthere
How much of what your AI agent wrote is still in your repo?
npx stillthere WHO WROTE IT COMMITS WRITTEN STILL THERE SURVIVAL
────────────────────────────────────────────────────────────────────────
▸ Claude 158 25,347 21,098 83%
· You 98 4,603 4,360 95%
Your own code outlives agent code by 11 points.Every usage tool on the market answers what did it cost. This one answers what was it worth — of the lines your agents actually wrote, how many are still in the file today.
Why nobody else ships this
Vendors won't. A tool that reports "38% of what Claude wrote for you is already gone" is not a tool Anthropic, OpenAI or Cursor will ever build, because the number is only interesting when it's unflattering. Every other measurement in this space — cost, tokens, rate limits — is safe to publish. This one isn't.
Meanwhile the phenomenon is well documented in aggregate: research across 153M lines found ~40% of AI-written code is rewritten or deleted within two weeks, and GitClear measured churn doubling since 2021. What did not exist was the personal version: not the industry average, but your repo.
How the number is made
Authorship comes from trailers the agents stamp themselves — Co-Authored-By:
Claude, Co-authored-by: Copilot, Generated with Codex, and the equivalents
for Cursor, Devin, Jules, Gemini and Aider. Nothing is inferred from writing
style, because style attribution is guesswork and guesswork can't carry a claim
like this.
Survival comes from git blame at HEAD. Lines written are read from
git log --numstat; lines surviving are the ones blame still attributes to
that commit. Survival is one divided by the other.
Run npx stillthere --json for the raw numbers.
What it refuses to do
It will not print an impossible number. If blame credits more surviving
lines than history says were written, the tool says attribution didn't close
and reports nothing. That failure is real: it happens with heavy file moves,
and it happened on the first repo tested here — a 35,486-line demo.gif that
git counts as binary but blame reads as text. Binaries and lockfiles are now
excluded, and the guard stays in for the cases nobody predicted.
It will not guess. A commit that merely mentions an agent in prose ("drop the claude-specific workaround") is human-authored, and is counted that way.
It does not measure quality. A deleted line is not a bad line — code gets removed for a dozen good reasons. This measures durability, which is one honest signal among several, not a verdict on the tool that wrote it.
Options
npx stillthere [path] survey a repo (default: current directory)
--since "3 months ago" limit to recent history
--json machine-readable output
--include-lockfiles count lockfiles (off by default — they are noise)Install
npm i -g stillthereRequires Node 20+ and git. Everything runs locally: no account, no API key, no network call. The tool reads your repository and prints to your terminal.
