Skip to content
X

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


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.

ItemWhat to writeExample
Project overviewWhat you’re building · purpose”A REST API server built with Python + FastAPI”
Tech stackLanguage · framework · key librariesPython 3.11, FastAPI, SQLAlchemy, PostgreSQL
Directory structureRole of key folderssrc/routes/ — endpoint definitions
Coding conventionsNaming rules · comment rules, etc.”Always write type hints” “Comments in English”
Common commandsDevelopment · testing · build commandsuvicorn main:app --reload

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/`

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.

Key commands available inside Claude Code.

CommandDescription
/helpShow a list of available commands
/clearReset conversation history (empty the context window)
/memoryCheck currently loaded memory (CLAUDE.md, etc.)
/quit or Ctrl+CExit Claude Code

Try It: Create a CLAUDE.md and Verify with /memory

Section titled “Try It: Create a CLAUDE.md and Verify with /memory”
  1. Create CLAUDE.md at the root of your project
  2. Write the project overview, tech stack, and common commands
  3. Launch Claude Code and run /memory
cd your-project
claude

Inside Claude Code:

/memory

Example 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.


If you want to learn by doing, check out the tutorial.

Hands-on tutorial for this level →

Level 2: Integrator — Connect Tools with MCP