Give Claude persistent project instructions
memory & settings
// what it does
CLAUDE.md files are loaded into context at the start of every session. They stack by scope, from broadest to most specific: managed policy (org-wide), user (~/.claude/CLAUDE.md, all your projects), project (./CLAUDE.md or ./.claude/CLAUDE.md, shared via git), and local (./CLAUDE.local.md, gitignored, just you). Files are concatenated, and more specific scopes are read last so they win on conflict.
// shell
$ ~/.claude/CLAUDE.md$ ./CLAUDE.md$ ./CLAUDE.local.md// gotcha
CLAUDE.md is context, not enforced config — Claude reads it but there's no hard guarantee it obeys, especially for vague or conflicting rules. Keep each file under about 200 lines (longer files reduce adherence), and for anything that must always run, use a hook instead.