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.
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.
- Claude Code2,859Mar 4, 2025
- GitHub Copilot582Apr 13, 2025
- AGENTS.md357Jun 17, 2025
- Codex219May 31, 2025
- Cursor132Feb 17, 2025
- Gemini CLI117Aug 8, 2025
- Shared agents directory36Apr 22, 2026
- Aider20May 26, 2024
- Jules15May 25, 2025
- OpenCode11Mar 30, 2026
- Devin10Apr 14, 2026
- Posit Assistant9Mar 8, 2026
- Antigravity8May 13, 2026
- Kiro, Amazon Q's successor6Dec 9, 2025
- Kilo Code5Apr 11, 2026
- Continue3Jan 29, 2026
- corteza3Jun 12, 2026
- Crush3Aug 20, 2026
- Qwen Code3Nov 2, 2025
- Trae3Dec 8, 2025
- Warp3Aug 18, 2025
- Windsurf, now Devin Desktop3May 30, 2026
- Cline2Oct 6, 2025
- ECA (Editor Code Assistant)2May 9, 2026
- OpenHands2Nov 28, 2024
- Amazon Q1May 9, 2025
- Amp1Dec 18, 2025
- Augment Code1May 30, 2026
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.
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.
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.
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.
- Written by the tool 1,102 33.3%
- A person crediting a tool 861 26.0%
- Only a config or ignore line 1,348 40.7%
- No record of what found it 0 0%
Of the 1,102 in the first row
- Commit only 56 5.1%
- Pull request only 620 56.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.
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.
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.
- Visible in the repository 3,031 69.9%
- Only an exclusion 1,306 30.1%
Of the 1,306 in only an exclusion
- Kept out of the package 906 69.4%
- Kept out of both 307 23.5%
- 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.
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
Claude 5 12,506 commits
Claude 3 4 commits
Gemini 3 3 commits
Generation 2 2 commits
Gemini 2 1 commits
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.
| Model | Jul '25Oct '25Jan '26Apr '26Jul '26Oct '26 | Commits |
|---|---|---|
| Claude Sonnet 3.7Jul '25 | 4 | |
| Claude Opus 4.1Aug '25 | 1 | |
| Claude Opus 4.5Dec '25 to Jul '26 | 1,471 | |
| Claude Sonnet 4.5Dec '25 to Aug '26 | 267 | |
| Claude Haiku 4.5Jan '26 to Sep '26 | 40 | |
| Claude Opus 4.6Feb '26 to Oct '26 | 3,689 | |
| Claude Sonnet 4.6Feb '26 to Oct '26 | 2,955 | |
| Claude Sonnet 4Mar '26 to Apr '26 | 13 | |
| Claude Opus 4Apr '26 | 3 | |
| Gemini Flash 2.0Apr '26 | 1 | |
| Claude Opus 4.7Apr '26 to Oct '26 | 2,270 | |
| Gemini Flash 3.5May '26 | 3 | |
| Code 2.1May '26 to Sep '26 | 2 | |
| Claude Opus 4.8May '26 to Oct '26 | 4,899 | |
| Claude Fable 5Jun '26 to Oct '26 | 1,990 | |
| Claude Sonnet 5Jun '26 to Oct '26 | 1,796 | |
| Claude Opus 5Jul '26 to Oct '26 | 5,136 | |
| Claude Fable 5.1Sep '26 to Oct '26 | 769 | |
| Claude Opus 5.5Sep '26 to Oct '26 | 2,621 | |
| Claude Sonnet 5.5Sep '26 to Oct '26 | 193 | |
| Claude Haiku 5.5Oct '26 | 1 |
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.
- States 1M
- Not stated
| Model | Shape | States 1M | Not stated | All |
|---|---|---|---|---|
| Claude Opus 4.8 | 182 | 280 | 462 | |
| Claude Opus 5 | 160 | 320 | 480 | |
| Claude Opus 4.7 | 150 | 53 | 203 | |
| Claude Opus 4.6 | 140 | 218 | 358 | |
| Claude Opus 5.5 | 41 | 300 | 341 | |
| Claude Sonnet 4.6 | 5 | 260 | 265 | |
| Claude Opus 4 | 1 | 1 | 2 | |
| Code 2.1 | 1 | 1 | 2 |
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.
- Config file or an ignore-file line2,515of 16,242covers 23 of 31 tools, reading the files at the latest commit
- 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
- 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
- Commit by the tool's account481of 16,242covers 8 of 13 tools, reading every commit on the default branch
- 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
- 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
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.
- Found commits
- Searched, none found
- No result returned
- Not searched
| Tool | Shape | Found commits | Searched, none found | No result returned | Not searched | All |
|---|---|---|---|---|---|---|
| Claude Code | 172 | 2,182 | 10 | 495 | 2,859 | |
| GitHub Copilot | 317 | 221 | 0 | 44 | 582 | |
| Codex | 1 | 127 | 0 | 91 | 219 | |
| Cursor | 12 | 77 | 0 | 43 | 132 | |
| Jules | 11 | 3 | 0 | 1 | 15 | |
| Devin | 1 | 4 | 0 | 5 | 10 | |
| Kiro, Amazon Q's successor | 0 | 6 | 0 | 0 | 6 | |
| OpenHands | 1 | 1 | 0 | 0 | 2 | |
| Amp | 0 | 0 | 0 | 1 | 1 | |
| Amazon Q | 1 | 0 | 0 | 0 | 1 |
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.
- Dated to a day 3,892 88.1%
- On or before only 524 11.9%
- 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
- The file is gone 896 65.8%
- The search did not repeat 362 26.6%
- Nothing to re-check against 72 5.3%
- 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
- Confirmed
- Unconfirmed
| Tool | Shape | Confirmed | Unconfirmed | All |
|---|---|---|---|---|
| Claude Code | 1,724 | 1,135 | 2,859 | |
| Gemini CLI | 36 | 81 | 117 | |
| GitHub Copilot | 526 | 56 | 582 | |
| Codex | 188 | 31 | 219 | |
| Cursor | 103 | 29 | 132 | |
| AGENTS.md | 345 | 12 | 357 | |
| Antigravity | 4 | 4 | 8 | |
| Shared agents directory | 33 | 3 | 36 | |
| corteza | 0 | 3 | 3 | |
| ECA (Editor Code Assistant) | 0 | 2 | 2 | |
| Jules | 14 | 1 | 15 | |
| Devin | 9 | 1 | 10 | |
| Crush | 2 | 1 | 3 | |
| Qwen Code | 2 | 1 | 3 | |
| Amp | 0 | 1 | 1 |
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.