A small group is using agents. Adoption has spread beyond one person but is not project-wide.
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: 38.1%. Bars are scaled to that peak, not to 100%.
Which agents
| Claude Code | Anthropic | 145 | 18.5% |
| Cursor Agent | Anysphere | 25 | 3.2% |
| GitHub Copilot | GitHub | 14 | 1.8% |
Verify it yourself
Sample commits that matched. Every one links to GitHub — check the trailers.
c43c09ffPublish the scene environment textures under their own uniforms (#9364)Claude Codef414d25aFix StandardMaterial shader invalidation for refraction thresholds (#9363)Claude Code39739091Fix StandardMaterial shader invalidation for environment textures and 0/1 Claude Code10e5cb4brefactor(scrollbar): tighten ScrollbarComponent internals (#8694)Cursor Agent5fadb062refactor(scrollbar): align ScrollbarComponent with CameraComponent architeCursor Agent8993d0ebdocs: Fix executeCallback JSDoc type in gsplat-resolve-sh (#8682)Cursor Agent90339e4bFix crash when unloading sog assets still referenced by the unified world GitHub Copilotf143ab7aSupport for exporting aoMaps and the second UV channels (#8728)GitHub Copilotc7612f6bfeat: WebGPU XR device loss, devicelost events, and graphics binding typinGitHub Copilot
What was excluded
| Commits in window | 863 |
| Merge commits removed | −1 |
| CI / dependency bots removed | −80 |
| Considered | 782 |
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 playcanvas/engine