Project Configuration

Two locations — repo root files and the .claude/ directory.

Repo Root
your-repo/
CLAUDE.mdproject instructions (shared via git)
CLAUDE.local.mdpersonal overrides (gitignored)
.claude/
CLAUDE.mdalternative location for project instructions
settings.jsonhooks, permissions (shared)
settings.local.jsonlocal overrides (gitignored)
rules/modular instructions by concern
commands/custom /project:name slash commands
What Goes Where
  • CLAUDE.md conventions, architecture, guardrails. Committed to git — whole team benefits.
  • settings.json hooks, permission rules, automated behaviors. Committed to git.
  • rules/ split instructions by concern (code-style.md, testing.md). Supports path-scoped activation.
  • *.local.* personal overrides, env IDs, secrets. Always gitignored.
claude init bootstraps your CLAUDE.md — scans the repo, proposes conventions. Memory lives in ~/.claude/projects/ (global, per-project) and persists architecture decisions between sessions.