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.
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 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
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%
Cursor
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
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 CopilotCopilot coding agentVS 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
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
ClineRoo 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
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 Code Assist
What it does well
@path imports and a global user file, same composition model as CLAUDE.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
WindsurfCascade
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
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.