Use only the sections relevant to the project. Not all sections are needed.
Document the essential commands for working with the project.
## Commands
| Command | Description |
|---------|-------------|
| `<install command>` | Install dependencies |
| `<dev command>` | Start development server |
| `<build command>` | Production build |
| `<test command>` | Run tests |
| `<lint command>` | Lint/format code |
Describe the project structure so Claude understands where things live.
## Architecture
/ / # / # / #
List important files that Claude should know about.
## Key Files
- `<path>` - <purpose>
- `<path>` - <purpose>
Document project-specific coding conventions.
## Code Style
- <convention>
- <convention>
- <preference over alternative>
Document required environment variables and setup.
## Environment
Required:
- `<VAR_NAME>` - <purpose>
- `<VAR_NAME>` - <purpose>
Setup:
- <setup step>
Document testing approach and commands.
## Testing
- `<test command>` - <what it tests>
- <testing convention or pattern>
Document non-obvious patterns, quirks, and warnings.
## Gotchas
- <non-obvious thing that causes issues>
- <ordering dependency or prerequisite>
- <common mistake to avoid>
Document development workflow patterns.
## Workflow
- <when to do X>
- <preferred approach for Y>
# <Project Name>
<One-line description>
## Commands
| Command | Description |
|---------|-------------|
| `<command>` | <description> |
## Architecture
## Gotchas
- <gotcha>
# <Project Name>
<One-line description>
## Commands
| Command | Description |
|---------|-------------|
| `<command>` | <description> |
## Architecture
## Key Files
- `<path>` - <purpose>
## Code Style
- <convention>
## Environment
- `<VAR>` - <purpose>
## Testing
- `<command>` - <scope>
## Gotchas
- <gotcha>
For packages within a monorepo or distinct modules.
# <Package Name>
<Purpose of this package>
## Usage
## Key Exports
- `<export>` - <purpose>
## Dependencies
- `<dependency>` - <why needed>
## Notes
- <important note>
# <Monorepo Name>
<Description>
## Packages
| Package | Description | Path |
|---------|-------------|------|
| `<name>` | <purpose> | `<path>` |
## Commands
| Command | Description |
|---------|-------------|
| `<command>` | <description> |
## Cross-Package Patterns
- <shared pattern>
- <generation/sync pattern>
When updating any CLAUDE.md: