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: 7.5%. Bars are scaled to that peak, not to 100%.
Which agents
| GitHub Copilot | GitHub | 14 | 2.4% |
| Claude Code | Anthropic | 9 | 1.5% |
| OpenAI Codex | OpenAI | 3 | 0.5% |
| Cursor Agent | Anysphere | 1 | 0.2% |
Verify it yourself
Sample commits that matched. Every one links to GitHub — check the trailers.
eda57336docs(api-javascript): fix build() return type and loadConfigFromFile descrGitHub Copilot456901bbfeat(create-vite): use Oxlint for react templates and add ESLint option (#GitHub Copilot1c065507ci: rewrite issue-helper with JS script (#22584)GitHub Copilot84f5ccccfix(server): handle malformed URI in indexHtmlMiddleware (#22781)Claude Code6f3ccf5fdocs: remove fathom analytics (#22770)Claude Codef8d75f77feat: integrate with Vite Task for zero-config build caching (#22453)Claude Code374bb5d5fix(css): use unique key for cssEntriesMap to prevent same-basename collisOpenAI Codexbc5c6a7adocs: fix wording in sass error comment (#22214)OpenAI Codex9163412fdocs: fix reuses wording in dev environment comment (#22173)OpenAI Codexf8b38e31fix(module-runner): don't crash stack-trace source mapping when globalThisCursor Agent
What was excluded
| Commits in window | 675 |
| Merge commits removed | −0 |
| CI / dependency bots removed | −84 |
| Considered | 591 |
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 vitejs/vite