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: 37%. Bars are scaled to that peak, not to 100%.
Which agents
| Claude Code | Anthropic | 455 | 16.9% |
| Gemini CLI | 108 | 4% | |
| Cursor Agent | Anysphere | 22 | 0.8% |
| GitHub Copilot | GitHub | 9 | 0.3% |
Verify it yourself
Sample commits that matched. Every one links to GitHub — check the trailers.
33b2f661Revert "[Data] [1/4] Add `generated_id_column` to CheckpointConfig with V2Claude Code9531e4c5[autoscaler] Improve V2 scheduler pre-filter precision for multi-resource Claude Code6b2b414b[ci][llm] Upgrade to vLLM 0.29.0 (#65756)Claude Codebc7443f7[docs] remove apple silicon install instructions (#65813)Gemini CLIfa88343f[Data] Reject pickled-object columns in all ungated readers (#66042)Gemini CLI0626d662[docs] Scope the symbol rule to symbols standing in for words (#65568)Gemini CLI38a4ba8f[Data] Preserve nested TorchInference outputs on device-to-host transfer (Cursor Agent6560c19c[Data][3/n] external shuffle planner (#65499)Cursor Agentd89f83c7[Data] [6/11] Add FooterFileIndexer behind an opt-in flag, with bin packinCursor Agent02432320[core][test] Bound two unbounded waits that turn a test failure into a CI GitHub Copilot72e28fde[core][gcs] Publish node death before persist; drop RocksDB soft-durabilitGitHub Copilotfb92adae[docs][core] Document the embedded RocksDB GCS backend (#64731)GitHub Copilot
What was excluded
| Commits in window | 2,697 |
| Merge commits removed | −0 |
| CI / dependency bots removed | −0 |
| Considered | 2,697 |
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 ray-project/ray