A small group is using agents. Adoption has spread beyond one person but is not project-wide.
Assisted or autonomous
Assisted — a developer’s identity authored the commit and the agent added itself as co-author. The agent ran git commit during a working session, with a person there. Autonomous — a bot identity is the author, no human in the loop. Across the whole index, 93.7% of agent commits are assisted.
Agent share by month
Peak month: 28.3%. Bars are scaled to that peak, not to 100%.
Which agents
| OpenAI Codex | OpenAI | 53 | 9.1% |
| Claude Code | Anthropic | 43 | 7.4% |
| GitHub Copilot | GitHub | 12 | 2.1% |
| Cursor Agent | Anysphere | 1 | 0.2% |
Verify it yourself
Sample commits that matched. Every one links to GitHub — check the trailers.
7af4b6edtest: remove unused empty fixture configs (#10501)OpenAI Codex81001a49ci: trigger pkg.pr.new on backport branch and workflow dispatch (#10547)OpenAI Codex4c26d767fix(ui)!: harden UI API access (#10583)OpenAI Codex51acd577fix(browser): inlined awaited import should not trigger syntax error afterClaude Codeb05e5d63perf(coverage): speed up v8 report generation (bounded-memory merge + precClaude Code3d421d4echore: setup PR-driven release pipeline (#10550)Claude Code613c7706chore: remove direct `esbuild` devDependency (#10849)GitHub Copilot3d421d4echore: setup PR-driven release pipeline (#10550)GitHub Copilot62756547fix: fix mixed stdout/stderr log timestamps in `onUserConsoleLog` (#10308)GitHub Copilot209b1b0efeat(ui): add duration sorting to explorer (#9603)Cursor Agent
What was excluded
| Commits in window | 624 |
| Merge commits removed | −0 |
| CI / dependency bots removed | −41 |
| Considered | 583 |
Bots are excluded from the denominator entirely. Counting dependabot as “AI-written code” is the fastest way to produce a meaningless number.
How this was measured
Measured over February–August 2026, cloned directly. Detection is deterministic string matching against signatures agents write about themselves — no heuristics, no style analysis. Merge commits and CI bots are excluded from the denominator. The figure is a floor: squash merges strip trailers, so real usage is higher. Contributor counts are aggregate — no individual is named.
Run it yourself: npx qmmit-cli vitest-dev/vitest