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.

// resources