Adoption is broad. Many contributors are committing agent-authored work, which is what a real organisational rollout looks like.
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: 10.7%. Bars are scaled to that peak, not to 100%.
Which agents
| Claude Code | Anthropic | 53 | 3.2% |
| Cursor Agent | Anysphere | 4 | 0.2% |
| GitHub Copilot | GitHub | 2 | 0.1% |
Verify it yourself
Sample commits that matched. Every one links to GitHub — check the trailers.
22bd63a2fix(toss): page CLOSED order history to completion, fail loud past the capClaude Code03972104fix(toss): match the real /orders and /holdings schemas from the specClaude Code0b8c6bfcfix(toss): correct the read paths, response envelope, and candle param on Claude Codec8688f56fix(api): return empty Response for scheduled-runs DELETE 204Cursor Agente9f79ca5fix(runtime): eToro SDK connector UI parityCursor Agent187ca273fix(etoro): add runtime verify envelope to check_statusCursor Agentced2108cfix: support IBKR public MCP OAuthGitHub Copilotd77f6b33feat: publish pre-built image to GHCR on release (closes #183) (#1) (#187)GitHub Copilot
What was excluded
| Commits in window | 2,262 |
| Merge commits removed | −572 |
| CI / dependency bots removed | −36 |
| Considered | 1,654 |
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 HKUDS/Vibe-Trading