← the index
ruby/ruby ↗
21.9%
of 4,953 commits were committed by an AI agent — a floor, not an estimate
21.9% agent · top contributor 68.8%31 contributors
team

A small group is using agents. Adoption has spread beyond one person but is not project-wide.

1,087
agent commits
3,866
human commits
31
agent contributors
68.8%
largest contributor

Assisted or autonomous

1070assisted
17autonomous

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

Feb26
Mar26
Apr26
May26
Jun26
Jul26
Aug26
Sep26

Peak month: 42.8%. Bars are scaled to that peak, not to 100%.

Which agents

Claude CodeAnthropic106621.5%
GitHub CopilotGitHub200.4%
OpenAI CodexOpenAI20%

Verify it yourself

Sample commits that matched. Every one links to GitHub — check the trailers.

  • 135e0f84[ruby/rubygems] Allow a bundler checksum before myrack in the empty CHECKSClaude Code
  • 8398a36c[ruby/rubygems] Pend the dirs= unresolved deps test under Ruby::BoxClaude Code
  • 3f0bd4e9[ruby/rubygems] Stop resolving locally for empty CHECKSUMS entriesClaude Code
  • 762fa2fcIncrease SYNTAX_SUGGEST_TIMEOUT for ppc64le/s390x from 10 to 60 secondsGitHub Copilot
  • d939495aFix unused variable warning in thread_sched_set_running on non-DTrace platGitHub Copilot
  • 0db07b1a[ruby/json] Avoid Float out of range warning for clearly underflowing numbGitHub Copilot
  • f20155d5marshal.c: Make partial objects table conditionalOpenAI Codex
  • c34cc402YJIT: Fix local register mapping overflowOpenAI Codex

What was excluded

Commits in window5,075
Merge commits removed−0
CI / dependency bots removed−122
Considered4,953

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 ruby/ruby

Scan another repository