Project Configuration
Two locations — repo root files and the .claude/ directory.
Repo Root
your-repo/
CLAUDE.md←project instructions (shared via git)
CLAUDE.local.md←personal overrides (gitignored)
.claude/
CLAUDE.md←alternative location for project instructions
settings.json←hooks, permissions (shared)
settings.local.json←local 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.