One person is driving this. The headline number reflects a single contributor's workflow, not a project-wide shift.
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: 17.6%. Bars are scaled to that peak, not to 100%.
Which agents
| GitHub Copilot | GitHub | 18 | 6.3% |
| Claude Code | Anthropic | 8 | 2.8% |
| Cursor Agent | Anysphere | 2 | 0.7% |
Verify it yourself
Sample commits that matched. Every one links to GitHub — check the trailers.
22d0cd71Add documentation for color modes and theme options (#2900)GitHub Copilot863884e2Link 20 more demo pages to their docs, and lint the paths (#2869)GitHub Copilot4f7beecdNarrow component prop types, remove unused props and dead code (#2838)GitHub Copilot5363668dRedesign Interface demo pages for clarity and consistency (#2863)Claude Codeda11f089Redesign the Buttons demo page into Styles and Colors sections (#2862)Claude Codef8c473fbAdd docs page for the List group component (#2786)Claude Code7305d84fServe `error-404.html` as the Vercel 404 page (#2748)Cursor Agent416ca63cAdd framework integration guides to the docs (#2707)Cursor Agent
What was excluded
| Commits in window | 303 |
| Merge commits removed | −6 |
| CI / dependency bots removed | −13 |
| Considered | 284 |
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 tabler/tabler