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: 43%. Bars are scaled to that peak, not to 100%.
Which agents
| Claude Code | Anthropic | 223 | 22% |
| GitHub Copilot | GitHub | 4 | 0.4% |
| OpenAI Codex | OpenAI | 1 | 0.1% |
| Cursor Agent | Anysphere | 1 | 0.1% |
| Devin | Cognition | 1 | 0.1% |
Verify it yourself
Sample commits that matched. Every one links to GitHub — check the trailers.
8ff564befix: add missing @property to RemoteAgent.role and RemoteTeam.role (#10172Claude Code6c5112eaRelease: v3.0.9 (#10076)Claude Code3da82342Release: v3.0.8 (#10066)Claude Code1174636dchore: re-enable litellm and crawl4ai extras (#9868)GitHub Copilotf80f687ffix: change Gemini default model from gemini-flash-latest to gemini-3.5-flGitHub Copilot7db3e1a3fix: handle Pydantic model serialization in tool cache (#6678)GitHub Copilote73f53ae[fix] Await async chunking in JSONReader (#10167)OpenAI Codexf28a2469cookbook: Add BGPT MCP cookbook example for evidence-grounded paper searchCursor Agent5d848b7fchore: update exa tools description (#7099)Devin
What was excluded
| Commits in window | 1,029 |
| Merge commits removed | −16 |
| CI / dependency bots removed | −0 |
| Considered | 1,013 |
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 agno-agi/agno