Level 1: User — Master CLAUDE.md and Basic Commands
The reason people get stuck at Level 0 is that Claude is operating with no knowledge of the project’s context. Just by creating a CLAUDE.md, Claude Code starts up already understanding the project’s structure, tech stack, and coding conventions. That’s the core of Level 1.
Target audience: Anyone who has Claude Code installed and wants to use Claude seriously in their project.
Estimated learning time: Read 15min + Practice 20min
What Is CLAUDE.md?
Section titled “What Is CLAUDE.md?”CLAUDE.md is a configuration file that Claude Code automatically reads every time you open a project. By writing your project overview, tech stack, and coding conventions here, you never have to explain them again each session.
What to Write in CLAUDE.md
Section titled “What to Write in CLAUDE.md”| Item | What to write | Example |
|---|---|---|
| Project overview | What you’re building · purpose | ”A REST API server built with Python + FastAPI” |
| Tech stack | Language · framework · key libraries | Python 3.11, FastAPI, SQLAlchemy, PostgreSQL |
| Directory structure | Role of key folders | src/routes/ — endpoint definitions |
| Coding conventions | Naming rules · comment rules, etc. | ”Always write type hints” “Comments in English” |
| Common commands | Development · testing · build commands | uvicorn main:app --reload |
CLAUDE.md Template
Section titled “CLAUDE.md Template”Here is a template using a Python + FastAPI project as an example:
# Project Name
A REST API server built with Python + FastAPI.
Provides user management, authentication, and data retrieval features.
## Tech Stack
- Language: Python 3.11
- Framework: FastAPI
- ORM: SQLAlchemy
- Database: PostgreSQL
- Testing: pytest
- Deploy: Docker + AWS ECS
## Directory Structure
- `src/routes/` — endpoint definitions (routers)
- `src/models/` — SQLAlchemy models
- `src/schemas/` — Pydantic schemas
- `src/services/` — business logic
- `tests/` — pytest test files
## Coding Conventions
- Always write type hints (arguments and return values)
- Write comments in English
- Add docstrings to all endpoints
- Function and variable names use snake_case
## Common Commands
- Start dev server: `uvicorn src.main:app --reload`
- Run tests: `pytest tests/ -v`
- Type check: `mypy src/`
- Format code: `ruff format src/`Where to Place CLAUDE.md
Section titled “Where to Place CLAUDE.md”CLAUDE.md can be placed in multiple locations:
your-project/
├── CLAUDE.md ← Applied to the entire project
├── src/
│ ├── routes/
│ │ └── CLAUDE.md ← Applied only to this directory (optional)
│ └── models/
└── tests/
└── CLAUDE.md ← Rules specific to the test directory (optional)The root CLAUDE.md applies to the whole project. A CLAUDE.md placed in a subdirectory is loaded additionally only within that directory. This is useful when you want to manage test-writing rules or module-specific rules separately.
Basic Command Reference
Section titled “Basic Command Reference”Key commands available inside Claude Code.
| Command | Description |
|---|---|
/help | Show a list of available commands |
/clear | Reset conversation history (empty the context window) |
/memory | Check currently loaded memory (CLAUDE.md, etc.) |
/quit or Ctrl+C | Exit Claude Code |
Try It: Create a CLAUDE.md and Verify with /memory
Section titled “Try It: Create a CLAUDE.md and Verify with /memory”- Create
CLAUDE.mdat the root of your project - Write the project overview, tech stack, and common commands
- Launch Claude Code and run
/memory
cd your-project
claudeInside Claude Code:
/memoryExample output:
## Project Memory (CLAUDE.md)
# Project Name
A REST API server built with Python + FastAPI.
...If the contents of CLAUDE.md are displayed, Claude is running with an understanding of your project.
Hands-On Tutorial
Section titled “Hands-On Tutorial”If you want to learn by doing, check out the tutorial.
Hands-on tutorial for this level →