Copilot instructions vs Windsurf 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 | Copilot instructions 2026-08-01 | Windsurf rules 2026-08-01 |
|---|---|---|
| Asserted — what the docs say it can express | ||
| File | .github/copilot-instructions.md | .windsurf/rules/*.md |
| Status | vendor | vendor |
| Cross-tool | No | No |
| Tools that read it |
|
|
| Frontmatter | Yes | Yes |
| Glob targeting | Yes | Yes |
| Imports other files | No | No |
| Nested / per-directory | No | No |
| Multiple files | Yes | Yes |
| User-level scope | No | Yes |
| When it applies | copilot-instructions.md is always in scope. Additional .github/instructions/*.instructions.md files load when their applyTo glob matches the open file. | Four trigger modes in frontmatter: always_on, glob, model_decision, manual. The legacy single-file .windsurfrules is still read. |
| Size limits | None | Per-rule and total character caps apply; long rules are truncated rather than rejected. |
| Measured — counted from real repositories on 2026-08-03 | ||
| Repositories carrying it | 126 | 14 |
| Share of indexed repos | 18.1% | 2.0% |
| Files indexed | 309 | 102 |
| Median length (words) | 417 | 515 |
| 90th percentile length | 1,329 | 1,518 |
| Files naming commands | 41.8% | 37.3% |
| Files containing code | 48.2% | 70.6% |
| Median quality score | 60 | 58 |
| Median repository stars | 18,124 | 114 |
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-03.
Copilot instructions + Windsurf rules
2026-08-0312
repositories carry both. That is 9.5% of everything with Copilot instructions, and 85.7% of everything with Windsurf rules.
What each one is for
Copilot instructions
2026-08-01Two 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.
Strengths
- 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
Weaknesses
- Copilot-only
- No imports; shared text is copied between instruction files
- Buried under .github/, so contributors discover it less often than a root file
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
