Feature request for product/service
Cursor IDE
Describe the request
Feature Request: Explicit Separation Between AI Rules and Cursor Tool Instructions
Motivation
While working on a large, architecture-heavy, long-running project with Cursor, I encountered systematic confusion caused by the current naming and enforcement model of rule-related files.
The issue is not missing functionality, but a mismatch between file names,
implied responsibility, and actual enforcement behavior.
This makes it unnecessarily hard to build reliable, deterministic workflows
around Cursor and its AI integration.
Core Problem
1. .cursorrules behaves like AI law, but is named like tool configuration
In practice, .cursorrules functions as:
- a rule set injected into every AI prompt
- a hard behavioral constraint system for the model
- effectively, a “law book” for the AI
However, the name .cursorrules strongly suggests:
- rules for Cursor itself
- editor or tool configuration
- non-AI-specific behavior
This naming is misleading.
If a file defines mandatory and persistent constraints on model behavior,
its name should reflect that responsibility explicitly (e.g. AI rules,
model rules, or similar).
2. cursor-instructions.md sounds tool-enforced, but is not
The name cursor-instructions.md strongly implies:
“These are instructions that Cursor itself will follow deterministically.”
In practice, this file appears to be treated as:
- optional or best-effort AI context
- advisory guidance for the model
- not reliably or deterministically enforced by Cursor
This creates a critical ambiguity:
- users expect tool-level enforcement
- they receive probabilistic model behavior instead
Concrete Use Case That Is Currently Not Possible
I would like to use cursor-instructions.md as actual instructions for Cursor itself, not for the AI model.
Example requirement:
If the user writes:
MODE: CODE_AUDIT
Then Cursor MUST:
- include
ai_rules_core.md - include
ai_rules_audit.md - inject both files into the model context before sending the prompt
In other words:
cursor-instructions.mdshould define how Cursor orchestrates context- not just provide additional text that the AI may or may not follow
At the moment, this distinction is unclear and cannot be relied upon.
Why This Matters
For small or casual usage, this ambiguity may be tolerable.
For serious system design, architecture work, and long-lived projects, it is not.
Users need a clear and enforced distinction between:
- tool-enforced behavior (Cursor)
- model-enforced behavior (AI rules)
- human-readable guidance and documentation
When naming and enforcement diverge:
- mental models break
- trust in the tooling erodes
- users are forced into experimentation instead of configuration
Proposed Improvements
A1. Make responsibilities explicit through naming
Suggested separation:
-
Mandatory AI behavior (always injected into prompts)
- currently:
.cursorrules - suggested:
ai-rules.md,model-rules.md, or similar
- currently:
-
Cursor tool orchestration logic
- currently:
cursor-instructions.md - suggested: keep the name, but make it truly tool-enforced
- currently:
-
Human documentation and examples
- stored explicitly under
/docs
- stored explicitly under
A2. Make the separation explicit in the UI (optional but ideal)
Even with improved file naming, users still have to discover and infer
what gets injected into the model context versus what Cursor enforces deterministically.
A more robust solution would be to expose these responsibilities as first-class, named UI surfaces (e.g. in Settings or a Project Configuration panel), instead of only representing them as loosely interpreted files.
For example, Cursor could provide dedicated editors (or “panes”) with explicit labels:
-
AI Rules
-
clearly marked as: always injected into every model call
-
treated as mandatory behavioral constraints for the model
-
In addition, the AI Rules UI should not be limited to a single global rule set. It should explicitly support managing multiple, user-defined/named AI rule profiles (e.g.
core,audit,architecture,security), which can be:- individually created, edited, named, and stored
- selectively enabled or combined
- deterministically included by Cursor based on orchestration logic
(for example viacursor-instructions.mdor explicit mode switches)
This makes AI behavior modular, composable, and predictable, instead of monolithic.
-
-
Cursor Instructions (Tool-Orchestrated)
- clearly marked as: deterministically enforced by Cursor
- defines how Cursor assembles context and which rule-sets are included under which conditions
- enables reliable mode switches like
MODE: CODE_AUDIT→ includeai_rules_core.md+ai_rules_audit.md
-
Documentation / Reference
- clearly marked as: human-readable project docs
- not implicitly injected unless explicitly requested or referenced by tool-orchestration logic
This turns “AI rules vs. tool instructions” from an implied convention into a visible, discoverable contract. It reduces trial-and-error, prevents false expectations, and makes advanced workflows reliable even for non-expert users.
If .cursorrules remains the AI’s “law”, its name should reflect that.
If cursor-instructions.md exists, it should always be genuinely interpreted, followed and enforced by Cursor itself.
B. Enforce the promise implied by the name
If a file is called “instructions”:
- Cursor should guarantee that they are applied deterministically
- or the file should be renamed to avoid false expectations
At the moment, the name implies authority that the mechanism does not provide.
Summary
This request is not about adding new AI capabilities.
It is about:
- semantic clarity
- correct responsibility separation
- deterministic workflows for advanced users
Clear naming and strict enforcement boundaries would significantly improve Cursor’s usability for architecture-heavy and long-running projects.
Thank you for considering this feature request.
Best Regards,
Ilker