Commits that admit a robot wrote them
Commits whose message carries an AI tool's attribution trailer. This is a floor, not a total — it counts only the ones that owned up.
How a repository dies
Every public repo born in a given quarter, sorted by how long it survived. The bottom band is repos whose first push was also their last.
Quarters younger than 90 days are omitted: they have not had time to die yet.
Dead on arrival
Created and never pushed to again after day one.
Shaded band is the 95% Wilson interval on the sample.
Nobody starred it
Repos sitting at exactly zero stars today.
Not a trend line. A 2020 repo has had six years to collect a star and a repo from this quarter has had weeks, so the slope here is mostly exposure time, not a change in behaviour. Read each quarter on its own.
Repos carrying AI instructions
Share of repos with a config file left for a coding agent to read —
CLAUDE.md, AGENTS.md, .cursorrules,
GEMINI.md, .clinerules and friends.
The most direct fingerprint available: a file put there for a machine to read.
Note that the check reads each repo as it stands today — a repo created
in 2022 showing a CLAUDE.md picked it up years later.
Median lifespan
Time between a repo's creation and its final push.
Also not a trend line, and for the same reason: a repo cannot outlive its own age, so recent quarters are capped by the calendar rather than by anyone losing interest.
Does the AI-assisted stuff die faster?
The premise of this page was that it would. It doesn't — it dies far less. But the measurement has a hole in it, described below, and the honest answer is that this comparison cannot settle the question either way.
Read this one with real suspicion. The file check looks at each repo
as it stands today, not as it stood on day one — and a repo abandoned
after a single push can never come back to add a CLAUDE.md, while a repo
someone is still working on can. So "carries AI instructions" is partly just a proxy
for "is still alive", which is uncomfortably close to the thing being measured. The
scan finds these files in 0.35% of repos created in 2022, years before any of them
existed, which is proof the effect is present.
Even setting that aside, this would be selection rather than causation: someone who writes instructions for a coding agent is already invested in the project. The tooling is not making repos survive. Compared within quarters, because these files barely existed before 2025 — pooling across years would measure 2020 against 2026 instead.
Where these numbers come from
Commit attribution
One search/commits query per tool per month. Exact phrases only:
Repository cohorts
GET /repositories?since= enumerates public repos by ID, and IDs are
assigned in creation order — so an ID range is a date range. Probe points are
spread evenly across each quarter, 100 repos per probe, then enriched through
GraphQL in batches of 100. Repos are filed under their real
createdAt, so a mis-calibrated probe cannot land a repo in the
wrong quarter.
Reasons to distrust this page
Presented up front, because a dashboard with a punchline still has to survive being checked.
- Attribution measures disclosure, not use. A commit only counts if the tool stamped it. Anyone who deletes the trailer, or whose tool never adds one, is invisible here. Every AI figure on this page is a lower bound.
-
Search counts are approximate, and more loosely than that word suggests.
GitHub documents
total_countas an estimate over public repos and default branches. Running one identical query twice in a day here returned 1,180 and then 95. Read the orders of magnitude on this chart, never the digits. - And the error grows with the number. Counting the same commits twelve months at a time versus one year at a time should give the same answer. For the small markers it does — aider agrees to within 1%. For the largest it does not: Claude comes out 2.97× higher counted monthly than annually. Whatever GitHub does to estimate these totals degrades as the result set grows, which means the biggest figures on this page are the least trustworthy ones. Monthly counts are used throughout, being the narrower and better-behaved query.
-
Tools change their commit trailers, and a narrow query stops matching.
Searching
"Generated with Claude Code"in April 2026 finds 87,421 commits;"Co-Authored-By: Claude"finds 11.2 million in the same month, because the first line was dropped from the default output. Every marker here is therefore the broad trailer, which lets in a small floor of commits from humans named Claude, Cursor or Devin — a few thousand a year, visible in the per-year totals. That floor is a far smaller lie than a missing order of magnitude. - Commit dates can be forged. Committer dates are self-reported, so rebases and history rewrites scatter a few commits into years before the tool that allegedly wrote them existed. Years with fewer than a dozen hits are treated as zero rather than charted as adoption.
-
"Dead on arrival" undercounts.
pushedAtmoves for some events that are not commits, which makes a dead repo occasionally look alive. - Young repos are excluded, deliberately. A repo created last week has not had the chance to be revisited, so counting it as abandoned manufactures a spike. Every repo here has had at least 30 days to show a second sign of life. Without that floor the current quarter reads 68% dead on arrival instead of 60%.
- Only the fixed-window metrics compare across time. "Dead on arrival" and the 30/90-day death rates ask the same question of every cohort. Star counts and lifespans accumulate for as long as a repo has existed, so those two charts describe each quarter's present state and say nothing reliable about direction.
- Repo ID is a calibrated proxy for time, not a linear one. The ID→date curve is built from sampled anchors and interpolated between them.
- Abandonment is not the same as failure. A scratch repo that did its job in an afternoon is a success that looks identical to garbage from here. The trend across quarters is the interesting part, not any single number.
- GH Archive is not the source. Its event payloads lost commit messages in Nov 2025 and its feed degraded badly in Apr 2026. Everything here is live API.