Cursor project rules must be .mdc files, or they're ignored
Rules in .cursor/rules need the .mdc extension plus frontmatter. A plain .md file there is silently skipped; use AGENTS.md for plain markdown.
Cursor’s docs spell it out: project rules live in .cursor/rules/ and must use the .mdc extension. A plain .md in that folder is ignored because it has no frontmatter.
The frontmatter decides when a rule applies
---
description: When to apply this rule (used for "Apply Intelligently")
globs: src/api/**/*.ts
alwaysApply: false
---
alwaysApply: true: every chat. Use sparingly.globs: auto-attached when matching files are in context.descriptiononly: the agent decides based on relevance.- None: only when you @-mention the rule.
Prefer plain markdown? Put instructions in AGENTS.md instead.