Custom instructions
Custom instructions are standing directions you give an AI tool that apply to every request rather than a single one — preferred language and framework, response style, conventions to follow. They can be set per user or per project depending on the tool.
The distinction worth keeping straight is scope. User-level instructions describe how you like to work and follow you between projects. Project-level instructions describe how a particular codebase works and belong in the repository so the whole team gets them.
Putting project facts in user settings is a common mistake: it works for you and silently fails for everyone else on the team.
What this means in practice
Copilot reads copilot-instructions.md, Cursor reads .cursor/rules, Claude Code reads CLAUDE.md, and Windsurf has its own. The content transfers between them almost verbatim, since it is all plain-English convention — only the path changes when you switch tools.
Prompts for the tools this applies to
Related terms
- Cursor rules
Cursor rules are project-level instructions stored in your repository that Cursor applies to every AI request — conventions, framework versions, patterns to follow, things never to do.
- CLAUDE.md
CLAUDE.md is a Markdown file in your repository that Claude Code reads at the start of every session.
- AGENTS.md
AGENTS.md is a tool-neutral convention for a Markdown file in a repository that gives AI coding agents the project context they need — build commands, conventions, architecture, and constraints.
- System prompt
A system prompt is the instruction set given to a model before any user message, defining its role, constraints, and behaviour for the whole conversation.