Real files, at real paths, counted every nightCounted 08:17 UTCDiff two files
7,205instruction files1,198repositories visited4,189rows written36files changed8formats20section tags85stacksCounted 13 September 2026
AGENTS.md617 repos, 60.4%CLAUDE.md359 repos, 35.2%.cursor/rules/*.mdc310 repos, 30.4%.github/copilot-instructions.md190 repos, 18.6%.clinerules188 repos, 18.4%GEMINI.md48 repos, 4.7%.windsurf/rules/*.md38 repos, 3.7%.cursorrules36 repos, 3.5%

Eight files. Two registers. They disagree.

Every comparison page on the web is a capability table someone wrote from the vendor docs in an afternoon. None of them can tell you how many real repositories ship each file, how long the median one runs, or how often two of them turn up in the same project. Those answers need a corpus, and RuleStack counts one every night.

capabilities are asserted by vendors, adoption is counted here nightly, and the two disagree more often than a capability table alone would suggest

open standard

AGENTS.md sits at AGENTS.md

Asserted 2 August 2026, measured 13 September 2026

A plain-markdown README for coding agents, deliberately unopinionated: no frontmatter, no globs, no vendor keys. That minimalism is why it became the one file a dozen different agents will read, and why it carries the least per-file targeting power of any format here.

FileAGENTS.md
OwnerNo vendor, open standard
Tools that read it23 tools
Glob targetingNo
ImportsNo
FrontmatterNo
Nested filesYes
User scopeNo
Repositories carrying it617 60.4%
Files that write down a command49.1%
Files carrying a code block40.8%
Code style71.9% of 558
Agent behaviour62.4% of 558
Tests59.9% of 558
Hard prohibitions55.7% of 558
Git, commits & PRs53.6% of 558
Architecture45.3% of 558
OpenAI CodexOpenAI CodexCursorCursorAmpAmpAiderAiderZedZedGoogle JulesGoogle JulesGemini CLIGemini CLIFactoryFactoryRoo CodeRooCodeopencodeopencodeDevinDevinWarpWarpgoosegooseVS CodeVS CodeGitHub CopilotGitHub Copilot coding agentWindsurfWindsurfJunie (JetBrains)Junie (JetBrains)Kilo CodeKilo CodeAugment CodeAugment CodeUiPath AutopilotUiPath AutopilotSemgrepSemgrepPhoenixPhoenixOnaOna
What it does well
Read by more agents than any other format, one file covers most of a team's tooling
No schema to get wrong; a plain markdown file always parses
Nested files let a monorepo scope instructions per package
What it cannot do
No glob targeting, every rule is loaded for every file, spending context
No imports, so shared rules must be duplicated across packages
No frontmatter means no machine-readable metadata for tooling to act on
vendor

CLAUDE.md sits at CLAUDE.md

Asserted 2 August 2026, measured 13 September 2026

Claude Code's memory file. Shaped like AGENTS.md but with two things it lacks: @path imports, so shared rules live in one place, and a user-scope layer that follows the developer across repos rather than shipping with the code.

FileCLAUDE.md
OwnerAnthropic
Tools that read itClaude Code only
Glob targetingNo
ImportsYes
FrontmatterNo
Nested filesYes
User scopeYes
Repositories carrying it359 35.2%
Files that write down a command39.5%
Files carrying a code block45.3%
Agent behaviour81.3% of 300
Tests63.0% of 300
Code style60.0% of 300
Architecture53.0% of 300
Hard prohibitions52.0% of 300
Git, commits & PRs42.7% of 300
Claude CodeClaude Code
What it does well
@path imports, shared conventions written once and pulled into each file
A user-scope file lets personal preferences live outside the team repo
Nested project files compose with the root file rather than replacing it
What it cannot do
Single-vendor: no other agent reads it, so multi-tool teams maintain two files
No glob targeting, same context cost as AGENTS.md, path-scoped rules exist, but in a separate .claude/rules/ file, not in CLAUDE.md itself
vendor

Cursor rules sits at .cursor/rules/*.mdc

Asserted 2 August 2026, measured 13 September 2026

The most expressive format here. Many small .mdc files, each with frontmatter declaring when it should load, so a rule about migrations only enters context when a migration is open. Costs the most to maintain and only one editor reads it.

File.cursor/rules/*.mdc
OwnerCursor
Tools that read itCursor only
Glob targetingYes
ImportsYes
FrontmatterYes
Nested filesYes
User scopeNo
Repositories carrying it310 30.4%
Files that write down a command28.8%
Files carrying a code block60.0%
CursorCursor
What it does well
Glob-scoped activation, the only widely-used format that keeps unrelated rules out of context
Description-based activation lets the agent pull a rule in on demand
Many small files are easier to review in a PR than one growing document
What it cannot do
Cursor-only
Frontmatter is a schema, and a malformed .mdc silently stops applying
Fragmentation: rules spread over many files are easy to duplicate and contradict
vendor

Copilot instructions sits at .github/copilot-instructions.md

Asserted 1 August 2026, measured 13 September 2026

Two layers: one always-on repo file, plus optional glob-scoped instruction files. Lives under .github/ rather than the repo root, which is the tell that it is aimed at the GitHub platform surface as much as the editor.

File.github/copilot-instructions.md
OwnerGitHub
Tools that read it3 tools
Glob targetingYes
ImportsNo
FrontmatterYes
Nested filesNo
User scopeNo
Repositories carrying it190 18.6%
Files that write down a command47.1%
Files carrying a code block53.3%
GitHub CopilotGitHub CopilotGitHub CopilotCopilot coding agentVS CodeVS Code
What it does well
Reaches Copilot across the editor, github.com and the coding agent from one file
applyTo globs give per-path targeting without leaving the .github convention
What it cannot do
Copilot-only
No imports; shared text is copied between instruction files
Buried under .github/, so contributors discover it less often than a root file
vendor

Cline rules sits at .clinerules

Asserted 1 August 2026, measured 13 September 2026

A single file or a folder of files, all always-on. The folder form is the simplest way any format here lets you split rules into topics without also learning an activation model.

File.clinerules
OwnerCline
Tools that read it2 tools
Glob targetingNo
ImportsNo
FrontmatterNo
Nested filesNo
User scopeYes
Repositories carrying it188 18.4%
Files that write down a command37.3%
Files carrying a code block46.8%
Agent behaviour75.0% of 4
Code style75.0% of 4
Documentation50.0% of 4
Architecture50.0% of 4
Hard prohibitions50.0% of 4
Lint & format50.0% of 4
ClineClineRoo CodeRoo Code
What it does well
Directory form splits rules by topic with zero configuration
Toggleable rule sets for switching context between tasks
What it cannot do
Cline-only
Everything is always-on, no targeting, so the folder form costs context
vendor

GEMINI.md sits at GEMINI.md

Asserted 1 August 2026, measured 13 September 2026

Gemini CLI's memory file, structurally close to CLAUDE.md, @imports and a user-scope layer, which is why repos that carry both usually carry near-identical text in each.

FileGEMINI.md
OwnerGoogle
Tools that read it2 tools
Glob targetingNo
ImportsYes
FrontmatterNo
Nested filesYes
User scopeYes
Repositories carrying it48 4.7%
Files that write down a command54.8%
Files carrying a code block48.4%
Code style57.6% of 33
Agent behaviour54.5% of 33
Architecture45.5% of 33
Tests36.4% of 33
Setup & install36.4% of 33
Git, commits & PRs30.3% of 33
Gemini CLIGemini CLIGemini Code AssistGemini Code Assist
What it does well
@path imports and a global user file, same composition model as CLAUDE.md
Explicit hierarchy from global to local
What it cannot do
Google-only
No glob targeting
vendor

Windsurf rules sits at .windsurf/rules/*.md

Asserted 1 August 2026, measured 13 September 2026

Cursor's activation model with a different vocabulary, trigger modes instead of rule types, plus hard character caps, which is the one place a format here will silently drop instructions rather than fail loudly.

File.windsurf/rules/*.md
OwnerWindsurf
Tools that read it2 tools
Glob targetingYes
ImportsNo
FrontmatterYes
Nested filesNo
User scopeYes
Repositories carrying it38 3.7%
Files that write down a command38.1%
Files carrying a code block68.8%
Hard prohibitions87.5% of 8
Code style75.0% of 8
Agent behaviour50.0% of 8
Types37.5% of 8
Tests37.5% of 8
Setup & install37.5% of 8
WindsurfWindsurfCascadeCascade
What it does well
Trigger modes give the same glob and on-demand targeting as Cursor rules
Workspace and global rule scopes
What it cannot do
Windsurf-only
Character caps truncate silently, a long rule can be half-applied with no error
No imports
deprecated

.cursorrules sits at .cursorrules

Asserted 2 August 2026, measured 13 September 2026

Cursor's original single-file format, superseded by .cursor/rules/*.mdc. Tracked here precisely because it is dead: how much of the ecosystem is still shipping a deprecated file is a measurable answer, and a large share of the "best cursor rules" pages on the web still teach this format.

File.cursorrules
OwnerCursor
Tools that read itCursor (legacy) only
Glob targetingNo
ImportsNo
FrontmatterNo
Nested filesNo
User scopeNo
Repositories carrying it36 3.5%
Files that write down a command13.9%
Files carrying a code block25.6%
Hard prohibitions58.6% of 29
Agent behaviour51.7% of 29
Code style48.3% of 29
Tests34.5% of 29
Architecture27.6% of 29
Lint & format24.1% of 29
CursorCursor (legacy)
What it does well
One file, nothing to configure
What it cannot do
Deprecated, do not start here
No targeting, no composition, no metadata