← the index
framer/motion
61.2%
of 425 commits were committed by an AI agent — a floor, not an estimate
61.2% agent · top contributor 95.8%2 contributors
individual

One person is driving this. The headline number reflects a single contributor's workflow, not a project-wide shift.

260
agent commits
165
human commits
2
agent contributors
95.8%
largest contributor

Assisted or autonomous

260assisted
0autonomous

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

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

Which agents

Claude CodeAnthropic24557.6%
Cursor AgentAnysphere153.5%

Verify it yourself

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

  • a4e4b3abUpdate scroll test for WAAPI-accelerated backgroundColorClaude Code
  • 33a1820fDrop the production fallback for non-DOM refsClaude Code
  • ebe35f22Throw an actionable invariant for non-DOM custom component refsClaude Code
  • 29af8413Fix wrapped Reorder insertion behaviorCursor Agent
  • 29c177cbAdd flexible Reorder layout coverageCursor Agent
  • 165541a9Fix #3779: read SVG CSS properties from stylesCursor Agent

What was excluded

Commits in window605
Merge commits removed153
CI / dependency bots removed27
Considered425

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 framer/motion

Scan another repository