Skip to content

AI tooling

How many R package repositories show signs of an AI coding tool, which tools appear, and how deep the signal runs.

3,311
Repositories with a detection
4,416
Detections
28
Tools and conventions seen

Reading these numbers

These counts come from files, ignore-list entries, commits, and pull requests that name a tool. They show a tool was present, not that it wrote any code. Many tools leave nothing to find, so every count is a minimum.

What changed on 2026-10-07

The detection rules changed with the release of that day. Every repository's new commits are now read each week, and commits by each tool's own accounts are counted in every repository. Before, commits were searched only where a file, a line in an ignore file or a pull request by a tool's account had already been found. The scan also reads the pull requests a tool writes for a maintainer, and it knows more tools. Counts rose because we look in more places, not because use rose that week. On the release of 2026-09-24, package pages named a tool for 1,372 repositories, and a check of recent commits in 9,193 repositories put the effect of the wider look alone at about 1,805. The data on this page names 2,187. Commits by a tool's accounts now count each commit once across all of the tool's accounts, where they used to keep the largest single account's count, so some of those counts rose for that reason too. Review tools and pull requests from outside contributors now have groups of their own and are not in the tool counts.

Detection rules

Tools and first appearances

Repositories per tool

Counted per repository. Multi-package repositories count once, and multi-tool repositories appear under each tool, so rows total more than the repository count. AGENTS.md and Shared agents directory name no product and are counted without tool attribution.

  1. Claude Code2,859Mar 4, 2025
  2. GitHub Copilot582Apr 13, 2025
  3. AGENTS.md357Jun 17, 2025
  4. Codex219May 31, 2025
  5. Cursor132Feb 17, 2025
  6. Gemini CLI117Aug 8, 2025
  7. Shared agents directory36Apr 22, 2026
  8. Aider20May 26, 2024
  9. Jules15May 25, 2025
  10. OpenCode11Mar 30, 2026
  11. Devin10Apr 14, 2026
  12. Posit Assistant9Mar 8, 2026
  13. Antigravity8May 13, 2026
  14. Kiro, Amazon Q's successor6Dec 9, 2025
  15. Kilo Code5Apr 11, 2026
  16. Continue3Jan 29, 2026
  17. corteza3Jun 12, 2026
  18. Crush3Aug 20, 2026
  19. Qwen Code3Nov 2, 2025
  20. Trae3Dec 8, 2025
  21. Warp3Aug 18, 2025
  22. Windsurf, now Devin Desktop3May 30, 2026
  23. Cline2Oct 6, 2025
  24. ECA (Editor Code Assistant)2May 9, 2026
  25. OpenHands2Nov 28, 2024
  26. Amazon Q1May 9, 2025
  27. Amp1Dec 18, 2025
  28. Augment Code1May 30, 2026
Bars show first-appearance month, scaled per row. A declining tail means most detections have already been made, not that adoption slowed.

3,311 of 16,242 scanned repositories carry at least one.

Review tools, counted apart

These tools review pull requests or suggest edits that a person accepts. They are listed here and never counted with the tools above, on package pages or in any other total.

Copilot code review 113
CodeRabbit 7
Gemini Code Assist 3

123 of 16,242 scanned repositories have at least one.

At least 358 commits accept a Copilot code review suggestion, in 87 repositories.

At least 4 commits accept a Gemini Code Assist suggestion, in 2 repositories.

Pull requests from outside contributors

A pull request opened from a fork, or by someone who is not an owner, member or collaborator of the repository, shows the contributor's tool. It is listed here and never counted as the package's own use.

Claude Code 258
Cursor 10
Codex 3
Devin 1

In 265 repositories, 2,568 pull requests in all, 1,339 of them from forks. These are the pull requests read so far, so each count is a minimum.

First appearances by month

Only detections with an exact date. The curve starts where it does because the config files themselves are that recent.

0303605May '24Oct '24Mar '25Aug '25Jan '26Jun '26Oct '263,892totalMay 2024: 1 first seen, 1 to dateJun 2024: 0 first seen, 1 to dateJul 2024: 0 first seen, 1 to dateAug 2024: 0 first seen, 1 to dateSep 2024: 0 first seen, 1 to dateOct 2024: 0 first seen, 1 to dateNov 2024: 3 first seen, 4 to dateDec 2024: 0 first seen, 4 to dateJan 2025: 0 first seen, 4 to dateFeb 2025: 2 first seen, 6 to dateMar 2025: 4 first seen, 10 to dateApr 2025: 5 first seen, 15 to dateMay 2025: 18 first seen, 33 to dateJun 2025: 52 first seen, 85 to dateJul 2025: 53 first seen, 138 to dateAug 2025: 76 first seen, 214 to dateSep 2025: 47 first seen, 261 to dateOct 2025: 96 first seen, 357 to dateNov 2025: 130 first seen, 487 to dateDec 2025: 111 first seen, 598 to dateJan 2026: 177 first seen, 775 to dateFeb 2026: 251 first seen, 1,026 to dateMar 2026: 361 first seen, 1,387 to dateApr 2026: 476 first seen, 1,863 to dateMay 2026: 605 first seen, 2,468 to dateJun 2026: 339 first seen, 2,807 to dateJul 2026: 393 first seen, 3,200 to dateAug 2026: 301 first seen, 3,501 to dateSep 2026: 303 first seen, 3,804 to dateOct 2026: 88 first seen, 3,892 to date
First appearances by month, May 2024 to Oct 2026.

3,892 of 4,416 detections have an exact date and are charted. The rest have only an upper-bound date or none and are excluded. Date precision below breaks this down.

Depth and detail

Set up, or writing code

A config file or an ignore-file line shows a tool was set up. A commit or pull request from the tool's own account, or a pull request the tool wrote that a maintainer opened, shows it wrote something, and a commit message crediting a tool is the author's own note that it helped. Each repository is counted once, by the first of those found in it. Most were only set up. Pull requests may not have been merged, so the first row means work was proposed, not necessarily landed.

  1. Written by the tool 1,102 33.3%
  2. A person crediting a tool 861 26.0%
  3. Only a config or ignore line 1,348 40.7%
  4. No record of what found it 0 0%

Of the 1,102 in the first row

  1. Commit only 56 5.1%
  2. Pull request only 620 56.3%
  3. Both 426 38.7%

447 of that first row carry no config file at all, so a search of the files alone would have missed every one of them.

Each repository appears once, under what was found in it. Rows are mutually exclusive and total 3,311.

Searches that matched

Six searches, counted per detection. A detection can match multiple searches.

Config file or an ignore-file line 3,222 73.0%
Commit message naming the tool 1,770 40.1%
Pull request the tool wrote 733 16.6%
Commit by the tool's account 516 11.7%
Pull request by the tool's account 464 10.5%
Tool name in the author's name 2 <0.1%

Out of 4,416 detections. A detection matching several searches is counted under each, so these rows overlap and total 6,707.

Detection types

The two most common types point in opposite directions: a .Rbuildignore line hides the tool's directory from CRAN, while a signed commit is visible in the history.

Excluded from the package build 2,405 55.5%
A commit naming the tool 1,979 45.6%
A file or directory in the repository 1,259 29.0%
A pull request from a tool 1,193 27.5%
Excluded from version control 921 21.2%

Out of 4,337 detections with a recorded type. A detection can carry several types and is counted under each, so these rows overlap and total 7,757. Another 79 have an unrecorded detection type.

Visible vs. excluded

Committed files and signed commits are directly readable. Ignore-file lines only record a decision to exclude something, and the released package reveals almost none of them. An entry naming a directory the repository does not contain means that directory exists only on the maintainer's machine. An exclusion alone names no package: RStudio 2026.06 and later add lines such as .positai and .posit/assistant themselves when they update a project's ignore files.

  1. Visible in the repository 3,031 69.9%
  2. Only an exclusion 1,306 30.1%

Of the 1,306 in only an exclusion

  1. Kept out of the package 906 69.4%
  2. Kept out of both 307 23.5%
  3. Kept out of version control 93 7.1%

Out of 4,337 detections with a recorded type. Every detection is one or the other, and the second bar subdivides the exclusion-only row.

Commits and models

Commit counts

Counted in commits, not lines. The two columns are independent and should not be added together. Commits by a tool's accounts count each commit once, however many of the tool's accounts made it. Commits crediting a tool are the largest count among its credit lines, so they are at least that many.

Counts rose on 2026-10-07. See What changed, at the top of this page.

7,073
commits authored by an agent account, in 479 repositories
61,333
commits where a person credited a tool, in 1,588 repositories
Tool Authored by the agent Credited by a person
Claude Code 2,271in 171 of 2,848 repositories searched 57,235in 1,917 repositories
GitHub Copilot 4,583in 315 of 582 repositories searched 2,946in 559 repositories
Codex 2in 1 of 219 repositories searched 43in 64 repositories
Cursor 129in 12 of 132 repositories searched 729in 76 repositories
Gemini CLI not searched 35in 33 repositories
Aider not searched 116in 3 repositories
Jules 79in 11 of 15 repositories searched 7in 8 repositories
OpenCode not searched 0in 2 repositories
Devin 6in 1 of 10 repositories searched 66in 8 repositories
Antigravity not searched 16in 8 repositories
Kiro, Amazon Q's successor 0in 0 of 6 repositories searched not searched
Crush not searched 12in 3 repositories
Qwen Code not searched 2in 1 repository
Warp not searched 13in 1 repository
Windsurf, now Devin Desktop not searched 0in 2 repositories
corteza not searched 3in 3 repositories
ECA (Editor Code Assistant) not searched 106in 2 repositories
OpenHands 1in 1 of 2 repositories searched 3in 2 repositories
Amazon Q 2in 1 of 1 repositories searched not searched
Amp 0in 0 of 1 repositories searched 1in 1 repository

Each authored cell shows how many repositories had commits to count. Some matches predate the commit counter and add nothing here. Credited is recorded only on a hit, so a blank means nothing was found or the search never ran.

A zero in the authored column means none of the tool's accounts that are counted in every repository had a commit there. Commits made through Claude's GitHub Action under the shared github-actions account are counted only where a recent one was read. Counts come from each repository's default branch, so rewritten or squashed history undercounts permanently.

Models named in commits

Some tools write a model name into the commit message. The rest name only themselves, so this covers only the repositories those tools worked in. Each commit names one model, and families and counts are directly comparable.

Claude Opus 20,090 71.4%
Claude Sonnet 5,228 18.6%
Claude Fable 2,759 9.8%
Claude Haiku 41 0.1%
Gemini Flash 4 <0.1%
Code 2 <0.1%

Out of 28,124 commits across 1,349 repositories.

Model generations

The same commits grouped by model number. Numbers belong to their own product line, so identically numbered models from different lines are unrelated.

Claude 4 15,608 commits

Opus 4.8 4,899 31.4%
Opus 4.6 3,689 23.6%
Sonnet 4.6 2,955 18.9%
Opus 4.7 2,270 14.5%
Opus 4.5 1,471 9.4%
Sonnet 4.5 267 1.7%
Haiku 4.5 40 0.3%
Sonnet 4 13 0.1%
Opus 4 3 <0.1%
Opus 4.1 1 <0.1%

Claude 5 12,506 commits

Opus 5 5,136 41.1%
Opus 5.5 2,621 21.0%
Fable 5 1,990 15.9%
Sonnet 5 1,796 14.4%
Fable 5.1 769 6.1%
Sonnet 5.5 193 1.5%
Haiku 5.5 1 <0.1%

Claude 3 4 commits

Sonnet 3.7 4 100.0%

Gemini 3 3 commits

Flash 3.5 3 100.0%

Generation 2 2 commits

Code 2.1 2 100.0%

Gemini 2 1 commits

Flash 2.0 1 100.0%

Groups divide the 28,124 commits with a numbered model. 9,753 of those come from searches that paged out, so these totals are minimums.

First and last seen

Tools that name a model also stamp the commit, so each record carries the first and last commit date for that model. Dates are from the commits themselves, not the scan date.

One row per model. The bar covers the months between the first and the last commit naming it, so a length here is a stretch of time and never a count. The months are written beside each name and the commits are counted in their own column and are not drawn. A faded end is an edge we may not have reached.
ModelJul '25Oct '25Jan '26Apr '26Jul '26Oct '26Commits
Claude Sonnet 3.7Jul '254
Claude Opus 4.1Aug '251
Claude Opus 4.5Dec '25 to Jul '261,471
Claude Sonnet 4.5Dec '25 to Aug '26267
Claude Haiku 4.5Jan '26 to Sep '2640
Claude Opus 4.6Feb '26 to Oct '263,689
Claude Sonnet 4.6Feb '26 to Oct '262,955
Claude Sonnet 4Mar '26 to Apr '2613
Claude Opus 4Apr '263
Gemini Flash 2.0Apr '261
Claude Opus 4.7Apr '26 to Oct '262,270
Gemini Flash 3.5May '263
Code 2.1May '26 to Sep '262
Claude Opus 4.8May '26 to Oct '264,899
Claude Fable 5Jun '26 to Oct '261,990
Claude Sonnet 5Jun '26 to Oct '261,796
Claude Opus 5Jul '26 to Oct '265,136
Claude Fable 5.1Sep '26 to Oct '26769
Claude Opus 5.5Sep '26 to Oct '262,621
Claude Sonnet 5.5Sep '26 to Oct '26193
Claude Haiku 5.5Oct '261

A faded end is an edge we may not have reached.

New models do not replace earlier ones, so bars overlap. Each bar spans whole months between first and last observed commit. 349 of 2,925 records come from a paged-out search window, so some left ends may be later than the true first use.

Stated context windows

Some commit messages state the context window, but most do not. An unstated window is a missing value, not a smaller one.

  1. States 1M
  2. Not stated
Each row is a complete split of its own total in records, so the numbers across a row add to the total at the end of it. Each bar is drawn against its own total, so the shapes compare between rows and the lengths do not.
ModelShapeStates 1MNot statedAll
Claude Opus 4.8182280462
Claude Opus 5160320480
Claude Opus 4.715053203
Claude Opus 4.6140218358
Claude Opus 5.541300341
Claude Sonnet 4.65260265
Claude Opus 4112
Code 2.1112

680 of 2,925 records state 1M. The rest do not mention a context window.

One commit names anthropic as the provider (only Aider writes this).

Search coverage

Repositories the searches missed

Measured on 2026-09-25, before the change of 2026-10-07. These figures are the last measurement and are not recomputed from the data on this page.

We drew 200 of the 13,289 active GitHub repositories where nothing had been found and read each one's newest 100 commits and newest 50 pull requests. 6 showed an AI coding tool at work (3.0%, between 1.1% and 6.4% at 95% confidence), which scales to about 399 repositories (between 147 and 852). A second check of 40 of the rest found nothing. All 6 matched a search we already had. They were missed because commit messages were then searched only where a file, a line in an ignore file or a pull request by a tool's account had already been found.

Of the repositories where someone credited Claude in a commit, the site found about 70% (between 51% and 88%). Of the repositories with commits by a tool's account, commits crediting a tool or a pull request by a tool's account, it found about 74% (between 57% and 88%). Both are best cases, because 112 of the 200 sampled repositories have more than 100 commits and their older history was not read.

Not measured: how much older history hides, and how often a branch name alone is right. The 379 active repositories hosted outside GitHub are not scanned for AI tools, and 48 active GitHub repositories have never been scanned.

Reading every repository's new commits each week is aimed at exactly these misses. This measurement has not been repeated since that change.

Reach of each search

Every search now reads every scanned repository. What differs is how far back each one reads, shown beside its bar. Blanks are minimums, not measurements.

  1. Config file or an ignore-file line2,515of 16,242covers 23 of 31 tools, reading the files at the latest commit
  2. Commit message naming the tool1,613of 16,242covers 16 of 25 tools, reading the newest 100 commits once, then every new commit, with full histories searched where something was found
  3. Pull request the tool wrote701of 16,242covers 5 of 6 tools, reading the newest pull requests each week, and every one back to 2023 once
  4. Commit by the tool's account481of 16,242covers 8 of 13 tools, reading every commit on the default branch
  5. Pull request by the tool's account456of 16,242covers 6 of 9 tools, reading the newest pull requests each week, and every one back to 2023 once
  6. Tool name in the author's name2of 16,242covers 1 tool, reading the newest 100 commits once, then every new commit, with full histories searched where something was found
Pale bars show where the search was allowed to run. Solid bars show where it matched.

Out of 16,242 scanned repositories, all on GitHub. Each row also shows how many tools that search covers; a small rule count limits what could have been found.

Missing commit results

92
of 3,311 repositories have no result from either commit search
28
of those have a tool the commit search covers

The gap reflects where the search stopped, not where the tool is absent.

Commit-author search results

This counts commits by each tool's own accounts in every scanned repository each week.

  1. Found commits
  2. Searched, none found
  3. No result returned
  4. Not searched
Each row is a complete split of its own total in detections, so the numbers across a row add to the total at the end of it. Each bar is drawn against its own total, so the shapes compare between rows and the lengths do not. A part too small to see is drawn at a minimum width.
ToolShapeFound commitsSearched, none foundNo result returnedNot searchedAll
Claude Code1722,182104952,859
GitHub Copilot317221044582
Codex1127091219
Cursor1277043132
Jules1130115
Devin140510
Kiro, Amazon Q's successor06006
OpenHands11002
Amp00011
Amazon Q10001

One detection per repository and tool. The four outcomes are mutually exclusive. 18 tools have no known account name and are excluded (589 detections).

170 of the 680 unsearched detections sit in a repository already flagged through a different tool, and 591 of those have someone crediting this tool elsewhere. None of the 10 returning no result from this search have a result from the other commit search either.

A result for one account. Each tool is searched under one account name. Flagged rows mean the queried name probably does not match what the tool actually commits under, so those results reflect the account, not the tool.

Unmatched searches

When a search matches nothing across the entire archive, it may be looking for something genuinely absent or looking in the wrong way. Every past detection fault started as a zero here.

Found another way

This search found nothing, but the tool shows up through a different search.

Amp commit-author search
No commit by Amp's account (amp@ampcode.com) has been found. Commits by it are counted in every repository each week. (recorded 2026-09-27)
Kiro, Amazon Q's successor commit-author search
No commit by Kiro's accounts (kiro-agent and kiro-agent[bot]) on any default branch, checked across 15,875 on 2026-09-25. Commits by them are counted in every repository each week. (recorded 2026-09-25)
Augment Code commit-message search
No commit crediting Augment Code (a co-author line at noreply@augmentcode.com) among 373,252 recent commits from 9,193 repositories, checked 2026-09-25. Every repository's new commits are read each week. (recorded 2026-09-25) Full commit histories checked for it in at least 7,707 repositories, last on 2026-10-11.
Continue commit-message search
No commit crediting Continue (a co-author line at noreply@continue.dev) among 373,252 recent commits from 9,193 repositories, checked 2026-09-25. Every repository's new commits are read each week. (recorded 2026-09-25) Full commit histories checked for it in at least 7,707 repositories, last on 2026-10-11.
Show 8 more
OpenCode commit-message search
No commit crediting OpenCode (a co-author line at noreply@opencode.ai) among 373,252 recent commits from 9,193 repositories, checked 2026-09-25. Every repository's new commits are read each week. (recorded 2026-09-25) Full commit histories checked for it in at least 7,707 repositories, last on 2026-10-11.
Windsurf, now Devin Desktop commit-message search
Every public commit crediting Windsurf was listed on 2026-09-25: 963 naming Windsurf, 552 naming its bot account (windsurf-bot) and 76 at codeium.com, and none is in a repository we scan. Every repository's new commits are now read each week. Windsurf became Devin Desktop on 2026-06-02 and keeps its rules in .devin/rules, which this page lists under Devin. (recorded 2026-09-25) Full commit histories checked for it in at least 9,269 repositories, last on 2026-10-13.
Amazon Q config-file search
No repository has an .amazonq folder, checked across 15,875. Amazon Q is found another way: its account opened a pull request in ss3sim, merged in May 2025, and made 2 commits there. Its command-line tool has been Kiro since November 2025, which this page lists as its own tool. (recorded 2026-09-25)
Crush config-file search
No CRUSH.md file in any repository, checked across 15,875 on 2026-09-25. The files at the top of every repository are read each week. (recorded 2026-09-25)
Amazon Q pull-request search (description or branch)
No pull request opened by a maintainer from a branch Amazon Q named (Q-DEV-issue-) has been found among the pull requests read in every repository each week. The one such branch found, in ss3sim, was opened by Amazon Q's own account. (recorded 2026-09-27)
Cursor pull-request search
No pull request among each repository's newest 50 was opened by Cursor's app account, checked across 161,444 pull requests. Cursor's cloud agent opens pull requests under the maintainer's own account, and this page finds them by the note Cursor writes at the top of the description or the branch name it gives them. (recorded 2026-09-25)
Kiro, Amazon Q's successor pull-request search
No pull request among each repository's newest 50 was opened by Kiro's account (kiro-agent), checked across 161,444 pull requests on 2026-09-25. (recorded 2026-09-25)
OpenHands pull-request search
No pull request among each repository's newest 50 was opened by OpenHands's account (openhands-agent), checked across 161,444 pull requests. (recorded 2026-09-25)

Not found by any search

Nothing we search for found this tool in any repository. A tool can be in use without leaving anything we can see.

Junie commit-author search
No commit by Junie's account (junie@jetbrains.com) on any default branch, checked across 15,875 on 2026-09-25. Commits by it are counted in every repository each week. (recorded 2026-09-25)
Replit commit-author search
No commit by Replit Agent's account (agent@replit.com) on any default branch, checked across 15,875 on 2026-09-25. Commits by it are counted in every repository each week. (recorded 2026-09-25)
Roo Code commit-author search
No commit by Roo Code's cloud agent accounts (roomote-roomote[bot], roomote[bot] and roomote@roomote.dev) has been found. The older roomote[bot] had none on any default branch across 15,875 on 2026-09-25, and all three are counted in every repository each week. (recorded 2026-09-25)
Factory commit-message search
No commit crediting Factory (a co-author line naming factory-droid[bot]) among 373,252 recent commits from 9,193 repositories, checked 2026-09-25. Every repository's new commits are read each week. (recorded 2026-09-25) Full commit histories checked for it in at least 7,707 repositories, last on 2026-10-11.
Show 10 more
Grok commit-message search
No commit crediting Grok (a co-author line at an x.ai address) among 373,252 recent commits from 9,193 repositories, checked 2026-09-25. Every repository's new commits are read each week. (recorded 2026-09-25) Full commit histories checked for it in at least 7,707 repositories, last on 2026-10-11.
Kimi commit-message search
No commit crediting Kimi (a co-author line at noreply@moonshot.ai) among 373,252 recent commits from 9,193 repositories, checked 2026-09-25. Every repository's new commits are read each week. (recorded 2026-09-25) Full commit histories checked for it in at least 7,707 repositories, last on 2026-10-11.
Replit commit-message search
No commit crediting Replit has been found. Searched on 2026-07-31 in the 1,964 repositories found by then, and every repository's new commits are now read each week. No repository has a .replit, replit.nix or replit.md file, and the newest 100 commits of 600 sampled repositories had no Replit-Commit-Author line on 2026-09-25. (recorded 2026-09-25) Full commit histories checked for it in at least 7,714 repositories, last on 2026-10-13.
Mistral Vibe commit-message search
No commit crediting Mistral Vibe (a co-author line at vibe@mistral.ai) among 373,252 recent commits from 9,193 repositories, checked 2026-09-25. Every repository's new commits are read each week. (recorded 2026-09-25) Full commit histories checked for it in at least 7,707 repositories, last on 2026-10-11.
Factory config-file search
No .factory folder in any repository, checked across 15,875 on 2026-09-25. The files at the top of every repository are read each week. (recorded 2026-09-25)
Goose config-file search
No .goosehints file in any repository, checked across 15,875 on 2026-09-25. The files at the top of every repository are read each week. (recorded 2026-09-25)
Grok config-file search
No GROK.md, .grok or .xai in any repository, checked across 15,875. xAI's Grok Build reads AGENTS.md, CLAUDE.md and .grok/rules rather than GROK.md, so a repository using it may show only as AGENTS.md or CLAUDE.md. (recorded 2026-09-25)
Junie config-file search
No .junie folder in any repository, no commit by Junie's account (junie@jetbrains.com) on any default branch, and no pull request by it among each repository's newest 50, checked across 15,875. Junie now reads AGENTS.md first, so a repository using it may show only as AGENTS.md. (recorded 2026-09-25)
Roo Code config-file search
No .roo, .roomodes, .roorules or .rooignore in any repository, checked across 15,875, and none of the 218 public commits by Roo's cloud agent account (roomote[bot]) is in a repository we scan. The Roo Code extension was shut down on 2026-05-15, so this will not change. (recorded 2026-09-25)
Mistral Vibe config-file search
No .vibe folder in any repository, checked across 15,875 on 2026-09-25. The files at the top of every repository are read each week. (recorded 2026-09-25)

Date precision

An exact date requires a committed artifact in walkable git history. Otherwise the date is an upper bound ("on or before"), weaker than a day and distinct from no date at all.

  1. Dated to a day 3,892 88.1%
  2. On or before only 524 11.9%
  3. No date at all 0 0%

Out of 4,416 detections, and only the first group is on the chart near the top of this page.

Stale detections

Detections are re-checked each sweep. Some do not re-confirm, and the tree fetch usually records why.

1,361
stale detections
1,324
affected repositories
2026-10-13
last confirmed before

Cause

  1. The file is gone 896 65.8%
  2. The search did not repeat 362 26.6%
  3. Nothing to re-check against 72 5.3%
  4. We did not reach it 31 2.3%

Commit-search-only detections reflect that the search did not re-run, not that anything changed in the repository.

Rows are mutually exclusive. Only the first row reflects an actual repository change; the last two are access limitations, not confirmed absences.

By tool

  1. Confirmed
  2. Unconfirmed
Each row is a complete split of its own total in detections, so the numbers across a row add to the total at the end of it. Each bar is drawn against its own total, so the shapes compare between rows and the lengths do not.
ToolShapeConfirmedUnconfirmedAll
Claude Code1,7241,1352,859
Gemini CLI3681117
GitHub Copilot52656582
Codex18831219
Cursor10329132
AGENTS.md34512357
Antigravity448
Shared agents directory33336
corteza033
ECA (Editor Code Assistant)022
Jules14115
Devin9110
Crush213
Qwen Code213
Amp011

Tools concentrated here typically rely on search-based detection or have been re-attributed by the ruleset.

Package attribution

A package page shows a repository's AI tools once one of them has a file seen there, a pull request from its account or one it wrote, or a commit by it or crediting it. 2,173 of the 3,311 repositories are named on the page of a package listed today. Most of the rest have only an ignore-file line, AGENTS.md or a shared .agents directory. A few have a match whose file was not kept, and some are linked only from a removed package, whose page still names its last repository's tools. Review tools and outside contributors' tools are listed on package pages in groups of their own and never name a tool for the package.

Opting out

This detection is in beta, and a maintainer who does not want their package included can say so. Ask through the feedback repository and it is removed from the surface while the request works its way upstream.

Privacy choices

These apply to this browser and are stored on this device only. Nothing about your choice is sent to us.

Read the privacy policy