Drop a file called CLAUDE.md in your project and Claude reads it at the start of every chat — your stack, your conventions, the commands to run. The easiest way: in Claude Desktop, just ask Claude to set one up (or run /init), and edit it later in the file pane like any other file. Separately, Claude keeps its own private memory of things it learns about how you work. One you write and share; the other it keeps and reuses.
There are two layers here, and it’s worth keeping them straight. CLAUDE.md is
a file you write and drop in your project. Claude reads it at the start of every
conversation, so it’s the place for the standing facts of the project: the stack,
the conventions, which commands to run, what never to touch. Because it’s committed
to the repo, everyone on the team shares the same context. The friendliest way to
start one is right in Claude Desktop — ask Claude to “set up a CLAUDE.md for this
project” (the terminal’s /init does the same), then tweak it in the file pane like
any other text file. No terminal required.
Memory is the other half: notes Claude keeps for itself about how you work, built up quietly over time. You write and share the first; it keeps and reuses the second. Together they mean the context you’d otherwise re-explain every session is just there from the first message.
The one discipline that matters: keep CLAUDE.md short and specific. It’s read on
every single conversation, so anything vague or bloated is a cost you pay over and
over. Put genuine project facts in it, let memory hold your personal habits — and
the moment you catch yourself correcting the same thing twice, write it down so you
never have to a third time.
Generator
Scaffold a CLAUDE.md
Answer a few questions and copy out the project-memory file Claude Code reads on every run.
Commands
Guidelines
# CLAUDE.md
This file gives Claude Code guidance for working in this repository.
## Project
This project
## Guidelines
- Do not create a new branch unless I explicitly ask — work on the current branch by default.
- Run the test suite and make it pass before considering a task complete.
A starting point — copy it into your project and adapt.
why it helps Explain your project once. Every future conversation already knows it.
examples- Keep
CLAUDE.mdshort and specific — it's read every conversation, so bloat costs you. - Put project facts in
CLAUDE.md(shared, committed); letmemoryhold your personal habits. - When you find yourself correcting the same thing twice, write it down so you never do again.
Questions people ask
- What is a CLAUDE.md file?
- It's a file you put in your project that Claude reads at the start of every conversation. Use it for the standing facts of the project — your stack, your conventions, the commands to run, what never to touch — so you stop re-explaining them each session.
- What's the difference between CLAUDE.md and memory?
- `CLAUDE.md` is a file you write and share with your team, committed to the repo. Memory is private notes Claude keeps for itself about how you work, built up over time. One you author; the other Claude maintains.
- How do I create a CLAUDE.md file?
- The easiest way in Claude Desktop is to ask in the chat — "set up a CLAUDE.md for this project" — or run `/init`. Claude reads your project and drafts a first version, and you edit it in the file pane from there. No terminal required.
- Does my CLAUDE.md need to be long?
- No — keep it short and specific. It's re-read on every single conversation, so anything vague or bloated is a cost you pay over and over. Put genuine project facts in it and leave personal habits to memory.
- Do I need the terminal to edit CLAUDE.md?
- No. In Claude Desktop you ask Claude to draft one and then edit it in the file pane, like any other text file. The terminal's `/init` is just one more way to create it.