← the index
goharbor/harbor
5.2%
of 229 commits were committed by an AI agent — a floor, not an estimate
5.2% agent · top contributor 50%7 contributors
team

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

12
agent commits
217
human commits
7
agent contributors
50%
largest contributor

Assisted or autonomous

12assisted
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
Sep26

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

Which agents

GitHub CopilotGitHub73.1%
Cursor AgentAnysphere62.6%

Verify it yourself

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

  • aea94352refactor(p2p): improve HTTP client request logging and credential string fGitHub Copilot
  • e444bc49fix: avoid panic in user audit event resolver on nil event data (#23461)GitHub Copilot
  • abc41cc9Fix/api completeness (#23476)GitHub Copilot
  • 3a949807refactor: sanitize connection details in logs and enhance error message foCursor Agent
  • aea94352refactor(p2p): improve HTTP client request logging and credential string fCursor Agent
  • 73cff4d7Remove hardcoded credentials and prevernt passwords in logs (#23835)Cursor Agent

What was excluded

Commits in window260
Merge commits removed0
CI / dependency bots removed31
Considered229

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 goharbor/harbor

Scan another repository