AGENTS.md vs GEMINI.md vs Windsurf rules vs Cline rules
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.
| Format | AGENTS.md 2026-08-02 | GEMINI.md 2026-08-01 | Windsurf rules 2026-08-01 | Cline rules 2026-08-01 |
|---|---|---|---|---|
| Asserted — what the docs say it can express | ||||
| File | AGENTS.md | GEMINI.md | .windsurf/rules/*.md | .clinerules |
| Status | open-standard | vendor | vendor | vendor |
| Cross-tool | Yes | No | No | No |
| Tools that read it |
|
|
|
|
| Frontmatter | No | No | Yes | No |
| Glob targeting | No | No | Yes | No |
| Imports other files | No | Yes | No | No |
| Nested / per-directory | Yes | Yes | No | No |
| Multiple files | Yes | Yes | Yes | Yes |
| User-level scope | No | Yes | Yes | Yes |
| When it applies | Always in scope; in a monorepo the nearest AGENTS.md to the edited file wins. | Hierarchical memory: a global ~/.gemini/GEMINI.md, then the project file, then nested files, concatenated from broadest to narrowest. | Four trigger modes in frontmatter: always_on, glob, model_decision, manual. The legacy single-file .windsurfrules is still read. | Always in scope. Either a single .clinerules file or a .clinerules/ directory whose markdown files are all loaded. |
| Size limits | None | None | Per-rule and total character caps apply; long rules are truncated rather than rejected. | None |
| Measured — counted from real repositories on 2026-08-04 | ||||
| Repositories carrying it | 399 | 33 | 14 | 79 |
| Share of indexed repos | 57.2% | 4.7% | 2.0% | 11.3% |
| Files indexed | 1,373 | 46 | 102 | 305 |
| Median length (words) | 953 | 257 | 515 | 262 |
| 90th percentile length | 2,956 | 1,704 | 1,518 | 1,412 |
| Files naming commands | 42.8% | 52.2% | 37.3% | 34.1% |
| Files containing code | 36.0% | 45.6% | 70.6% | 33.1% |
| Median quality score | 52 | 60 | 58 | 54 |
| Median repository stars | 9,402 | 11,320 | 119 | 1 |
How often they turn up together
A capability table cannot answer this at all. Of the repositories carrying the first format, this is the share that also carry the second — counted, both directions, on 2026-08-04.
Windsurf rules + Cline rules
2026-08-048
repositories carry both. That is 57.1% of everything with Windsurf rules, and 10.1% of everything with Cline rules.
GEMINI.md + Windsurf rules
2026-08-047
repositories carry both. That is 21.2% of everything with GEMINI.md, and 50.0% of everything with Windsurf rules.
GEMINI.md + Cline rules
2026-08-047
repositories carry both. That is 21.2% of everything with GEMINI.md, and 8.9% of everything with Cline rules.
AGENTS.md + Windsurf rules
2026-08-0410
repositories carry both. That is 2.5% of everything with AGENTS.md, and 71.4% of everything with Windsurf rules.
AGENTS.md + GEMINI.md
2026-08-0423
repositories carry both. That is 5.8% of everything with AGENTS.md, and 69.7% of everything with GEMINI.md.
AGENTS.md + Cline rules
2026-08-0426
repositories carry both. That is 6.5% of everything with AGENTS.md, and 32.9% of everything with Cline rules.
What each one is for
AGENTS.md
2026-08-02A 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.
Strengths
- 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
Weaknesses
- 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
GEMINI.md
2026-08-01Gemini 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.
Strengths
- @path imports and a global user file, same composition model as CLAUDE.md
- Explicit hierarchy from global to local
Weaknesses
- Google-only
- No glob targeting
Windsurf rules
2026-08-01Cursor'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.
Strengths
- Trigger modes give the same glob and on-demand targeting as Cursor rules
- Workspace and global rule scopes
Weaknesses
- Windsurf-only
- Character caps truncate silently — a long rule can be half-applied with no error
- No imports
Cline rules
2026-08-01A 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.
Strengths
- Directory form splits rules by topic with zero configuration
- Toggleable rule sets for switching context between tasks
Weaknesses
- Cline-only
- Everything is always-on — no targeting, so the folder form costs context
