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: 70.6%. Bars are scaled to that peak, not to 100%.
Which agents
| Claude Code | Anthropic | 2521 | 34.9% |
| Gemini CLI | 60 | 0.8% | |
| GitHub Copilot | GitHub | 14 | 0.2% |
Verify it yourself
Sample commits that matched. Every one links to GitHub — check the trailers.
5bf87f83fix(login): keep the failed-logout redirect inside a proxied subpathClaude Coded75998d3fix(login): submit the logout form to the page-relative route onlyClaude Code6a72759bdocs(dev): install pnpm with npm instead of corepackClaude Codedc9c0f7cUpdate apps/client/src/widgets/react/FormToggleButton.tsxGemini CLI05fca1baUpdate apps/client/src/widgets/react/FormToggleButton.spec.tsxGemini CLI4df2236cUpdate apps/server/src/assets/doc_notes/en/User Guide/User Guide/ScriptingGemini CLI3536a3caPotential fix for pull request finding 'CodeQL / Information exposure throGitHub Copilot8f2c7178Potential fix for code scanning alert no. 364: Workflow does not contain pGitHub Copilot79ea95cbApply suggestions from code reviewGitHub Copilot
What was excluded
| Commits in window | 11,912 |
| Merge commits removed | −2,292 |
| CI / dependency bots removed | −2,387 |
| Considered | 7,233 |
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 TriliumNext/Trilium