Borehole · Data
404 projects
Counted 22 October 2026

Which open-source projects have an AI contribution policy

Borehole reads each project's contributing guide, pull-request template and agent instructions for a statement about AI-generated contributions, and its commit history for commits that declare an AI agent as co-author. Of the 404 public projects in its library, 132 state a policy and 280 have AI-declared commits. 101 do both. The counts move as the library grows.

Policy and practice

Projects
State a policy and have AI-declared commits101
State a policy, no AI-declared commits31
AI-declared commits, no stated policy179
Neither93

No AI-declared commits does not mean no AI was used. It means no commit says so: a declaration is a co-author line the contributor chose to keep, and a rebase can remove it.

Where projects write their policy

FileProjects
Contributing guide55
Pull-request template42
Agent instructions file21
Elsewhere8
AI policy file6

The agents commits declare

Among projects that declare any, the median share of commits carrying an AI declaration is under 1%.

AgentProjects
Claude254
GitHub Copilot186
Cursor84
CodeRabbit31
Codex18
Devin17
Amp10
Jules8

Projects with AI-declared commits, by year

YearProjects
202417
2025147
2026271

A year counts where a project's history has enough commits that year to say.

Every project with a stated policy

ProjectWhereAI-declared commits
n8n-io/n8n Contributing guide 12%
yt-dlp/yt-dlp Pull-request template None declared
ohmyzsh/ohmyzsh Pull-request template under 1%
open-webui/open-webui Pull-request template under 1%
microsoft/powertoys Agent instructions file 4.5%
godotengine/godot Pull-request template 0.0%
immich-app/immich Contributing guide under 1%
tauri-apps/tauri Contributing guide None declared
denoland/deno Contributing guide 2.5%
neovim/neovim Agent instructions file under 1%
localsend/localsend Agent instructions file None declared
django/django Pull-request template None declared
astral-sh/uv Contributing guide 1.4%
gohugoio/hugo Contributing guide under 1%
syncthing/syncthing Contributing guide None declared
vitejs/vite Pull-request template under 1%
lobehub/lobehub Pull-request template 14%
jesseduffield/lazygit Contributing guide 5.7%
obsproject/obs-studio Contributing guide None declared
ocornut/imgui Pull-request template None declared
caddyserver/caddy Contributing guide under 1%
apache/superset Elsewhere 8.0%
burntsushi/ripgrep AI policy file None declared
alacritty/alacritty Contributing guide None declared
traefik/traefik Agent instructions file under 1%
coollabsio/coolify Pull-request template 4.5%
ultralytics/ultralytics Agent instructions file under 1%
ghostty-org/ghostty AI policy file under 1%
pocketbase/pocketbase Contributing guide None declared
penpot/penpot Agent instructions file under 1%
starship/starship Pull-request template under 1%
rclone/rclone Pull-request template under 1%
meilisearch/meilisearch Contributing guide under 1%
go-gitea/gitea Agent instructions file 1.5%
textualize/rich Pull-request template under 1%
psf/requests AI policy file under 1%
etcd-io/etcd Pull-request template under 1%
dbeaver/dbeaver Agent instructions file under 1%
mastodon/mastodon Contributing guide under 1%
astral-sh/ruff Pull-request template under 1%
hashicorp/terraform Contributing guide under 1%
reactivex/rxjava Pull-request template under 1%
moment/moment Contributing guide None declared
square/okhttp Contributing guide None declared
iina/iina Contributing guide under 1%
paperless-ngx/paperless-ngx Pull-request template under 1%
streamlit/streamlit Contributing guide 5.2%
payloadcms/payload Contributing guide under 1%
juanfont/headscale AI policy file under 1%
curl/curl Pull-request template None declared
sxyazi/yazi Pull-request template under 1%
alamofire/alamofire Pull-request template None declared
duckdb/duckdb AI policy file under 1%
vim/vim Pull-request template 1.1%
outline/outline Elsewhere 6.1%
photoprism/photoprism Contributing guide under 1%
teamnewpipe/newpipe Contributing guide None declared
directus/directus Agent instructions file under 1%
searxng/searxng Pull-request template None declared
keycloak/keycloak Contributing guide under 1%
zellij-org/zellij Contributing guide under 1%
qdrant/qdrant Contributing guide 6.6%
certbot/certbot Pull-request template under 1%
honojs/hono Contributing guide under 1%
atuinsh/atuin Contributing guide 1.3%
avaloniaui/avalonia Contributing guide under 1%
anuken/mindustry Contributing guide under 1%
keepassxreboot/keepassxc Contributing guide under 1%
pydantic/pydantic Contributing guide under 1%
mlflow/mlflow Elsewhere 23%
postgrest/postgrest Contributing guide None declared
vapor/vapor Agent instructions file under 1%
zulip/zulip Pull-request template 1.5%
iv-org/invidious Pull-request template under 1%
firefly-iii/firefly-iii Pull-request template under 1%
argoproj/argo-cd Elsewhere under 1%
prefecthq/prefect Pull-request template 9.0%
netbox-community/netbox Contributing guide under 1%
nats-io/nats-server Pull-request template under 1%
wagtail/wagtail Contributing guide under 1%
linkwarden/linkwarden Pull-request template under 1%
lichess-org/lila Pull-request template under 1%
koel/koel Agent instructions file under 1%
coder/coder Pull-request template under 1%
sonarr/sonarr Agent instructions file None declared
go-task/task Pull-request template under 1%
freshrss/freshrss Agent instructions file under 1%
jackett/jackett Pull-request template under 1%
spree/spree Elsewhere 2.3%
getgrav/grav Elsewhere under 1%
documenso/documenso Contributing guide under 1%
grokability/snipe-it Contributing guide under 1%
ktorio/ktor Agent instructions file under 1%
thunderbird/thunderbird-android Pull-request template None declared
ory/kratos Contributing guide 1.5%
borgbackup/borg Contributing guide 5.8%
mealie-recipes/mealie Pull-request template under 1%
kludex/starlette AI policy file under 1%
sqlalchemy/sqlalchemy Contributing guide None declared
ankidroid/anki-android Pull-request template 3.5%
mrkai77/loop Pull-request template None declared
libvips/libvips Contributing guide None declared
frappe/frappe Agent instructions file 1.3%
ranchero-software/netnewswire Contributing guide under 1%
pypa/pip Contributing guide under 1%
octoprint/octoprint Agent instructions file None declared
firezone/firezone Contributing guide 6.2%
htop-dev/htop Agent instructions file 1.5%
meshtastic/firmware Agent instructions file 2.8%
antennapod/antennapod Agent instructions file under 1%
hatchet-dev/hatchet Pull-request template 1.8%
rustls/rustls Contributing guide None declared
supabase/realtime Contributing guide under 1%
kunzisoft/keepassdx Contributing guide None declared
pixelfed/pixelfed Elsewhere under 1%
nextcloud/android Agent instructions file under 1%
kanidm/kanidm Pull-request template None declared
lobsters/lobsters Agent instructions file None declared
jabref/jabref Pull-request template 1.6%
home-assistant/android Pull-request template under 1%
pretix/pretix Contributing guide None declared
element-hq/element-x-android Contributing guide 1.1%
home-assistant/ios Pull-request template 7.0%
gitlab.com/auroraoss/aurorastore Elsewhere under 1%
codeberg.org/dnkl/foot Contributing guide under 1%
codeberg.org/freeyourgadget/gadgetbridge Contributing guide under 1%
codeberg.org/river/river Contributing guide None declared
element-hq/element-x-ios Contributing guide under 1%
codeberg.org/dnkl/fuzzel Contributing guide None declared
maplibre/maplibre-compose Pull-request template 8.5%
gitlab.com/coolercontrol/coolercontrol Contributing guide under 1%
os-autoinst/openqa Contributing guide None declared

Why it matters in diligence

A buyer asks who wrote the code and on what terms. A stated policy says what the project accepts; declared commits show part of what it took. Neither proves the rest, and a large gap between the two is a question for the people who run the project.

How this is counted

  • Each project counts once, from its newest public reading.
  • A policy counts when the project speaks about contributions in a file that governs them. A sentence addressed to the reader, or a template heading, does not count.
  • A commit counts as AI-declared when it names an AI agent as co-author. Undeclared AI use is invisible here.
  • A project whose history Borehole could not measure counts as not declaring.

Read a project, or your own

The library lists every project counted here. Licence changes is the other count across it.

Survey a repository: free on public repositories. Private code is read on your own machine by a collector whose source you can read first.