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: 50.3%. Bars are scaled to that peak, not to 100%.
Which agents
| Claude Code | Anthropic | 523 | 13.8% |
| GitHub Copilot | GitHub | 143 | 3.8% |
| Cursor Agent | Anysphere | 119 | 3.1% |
| OpenAI Codex | OpenAI | 102 | 2.7% |
Verify it yourself
Sample commits that matched. Every one links to GitHub — check the trailers.
57760086docs: add v1.55.0 release notes (#35682)Claude Code0ae92296fix(signals-backend): correct HTTP error responses in WebSocket upgrade haClaude Codefe6ace67fix(backend-defaults,search): resolve account-specific AWS credentials in Claude Code1b998611Add `templateFilter` field to `sub-page:scaffolder/templates` (#34624)GitHub Copilot23705f31fix(integration): url-encode the branch ref in Bitbucket Server fetch URLsGitHub Copilotc498fc7ffeat(docs): add Mermaid diagram support (#35064)GitHub Copilotcd4a9c7efeat(notifications): add unread notifications home card and NFS widget (#3Cursor Agent600f8b50fix(scaffolder): address remaining task recovery feedbackCursor Agent3af4ef99chore: remove legacy @backstage/codemods package (#35013)Cursor Agent7535616cfix(search): bind PostgreSQL headline options (#35702)OpenAI Codex727d53f3perf(catalog): yield during entity field projection (#35709)OpenAI Codexed9034cafix: align Cloudflare Access token verificationOpenAI Codex
What was excluded
| Commits in window | 5,773 |
| Merge commits removed | −1,440 |
| CI / dependency bots removed | −539 |
| Considered | 3,794 |
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 backstage/backstage