Template for: General projects Copy to:
./CLAUDE.mdor./.claude/CLAUDE.mdin your project rootWhat is this? CLAUDE.md is a memory file that gives Claude Code persistent context about your project. It's automatically read at the start of every conversation, so Claude understands your codebase, conventions, and preferences without you having to re-explain them.
Official docs: https://code.claude.com/docs/en/memory
[One sentence: What this project does and who it's for]
Tech stack: [Languages, frameworks, key dependencies] Repository: [URL if applicable]
# Development
[command to start dev server or run locally]
# Testing
[command to run tests]
# Build
[command to build for production]
# Lint/Format
[command to check code style]- [Indentation preference: tabs vs spaces, size]
- [Naming conventions: camelCase, snake_case, etc.]
- [File naming: kebab-case.ts, PascalCase.tsx, etc.]
- [Import organization: external first, then internal]
- [Key architectural decisions]
- [Where business logic lives]
- [How data flows through the system]
project-root/
├── [dir/] # [what it contains]
├── [dir/] # [what it contains]
└── [file] # [what it does]
- [Pattern 1: how to do X in this codebase]
- [Pattern 2: how to do Y in this codebase]
- [Unit test location and naming]
- [Integration test approach]
- [What must be tested vs optional]
- [Anti-pattern specific to this project]
- [Deprecated approach still in codebase]
- [Common mistake to watch for]
- [Key API or service]: [what it's used for]
- [Database]: [type and connection info location]
- [Pre-commit requirements]
- [PR/review process notes]
- [Documentation that needs updating]
Be specific. "Use 2-space indentation" beats "Format code properly."