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: 31.9%. Bars are scaled to that peak, not to 100%.
Which agents
| Claude Code | Anthropic | 50 | 4% |
| Cursor Agent | Anysphere | 50 | 4% |
| GitHub Copilot | GitHub | 4 | 0.3% |
Verify it yourself
Sample commits that matched. Every one links to GitHub — check the trailers.
c4ac03b4feat: Add daily performance agent (#13729)Claude Code6a46551achore: Enforce draft pull requests (#13726)Claude Codeaa070b14feat: Notify Slack when agents open PRs (#13722)Claude Codec8eaedc8refactor: Remove residual runtime PackageInfo gates (#13564)Cursor Agent1bb92331refactor: Remove prune PackageInfo dependencies (#13562)Cursor Agent4cb9d94erefactor: Migrate MFE dependency detection off PackageInfo (#13558)Cursor Agentc6fbc97bdocs: Explain affected package invalidation reasons (#13594)GitHub Copilot4a4e661fchore: Update AI-generated response text for clarity (#12517)GitHub Copilotc7280463fix: Add Vary: Accept header to docs markdown endpoint (#11759)GitHub Copilot
What was excluded
| Commits in window | 1,623 |
| Merge commits removed | −0 |
| CI / dependency bots removed | −361 |
| Considered | 1,262 |
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 vercel/turborepo