In this categoryClaude Code ยท 45
- How to Install Claude Code on macOSStart
- How to Install Claude Code on Windows Natively (No WSL)
- How to Install Claude Code on Windows with WSL
- How to Start Your First Project with Claude Code
- How to Create a CLAUDE.md File for Your Project
- How to Configure Claude Code with settings.json
- How to Layer Global, Project, and Local CLAUDE.md Files
- How to Set Up a Permissions Allowlist in Claude Code
- How to Use Claude Code Inside VS Code
- How to Add a Custom Slash Command in Claude Code
- How to Create a Custom Slash Command in Claude Code
- How to Pass Arguments to a Claude Code Slash Command
- How to Use Claude Code Slash Commands (Full List + Examples)
- How to Add Custom Slash Commands to Claude Code (Arguments + Frontmatter)
- How to Fix command not found After Installing Claude Code
- How to Add Any MCP Server to Claude Code
- How to Connect an MCP Server to Claude Code
- Best MCP Servers for Coding in 2026
- How to Add a Filesystem MCP Server to Claude Code
- How to Connect the GitHub MCP Server to Claude Code
- How to Create Your First Subagent in Claude Code
- Context7 Alternatives: MCP Servers for Up-to-Date Docs
- How to Manage MCP Server Scopes in Claude Code
- How to Restrict the Tools a Subagent Can Use
- How to Debug a Failing MCP Server in Claude Code
- How to Generate Unit Tests for a Function with Claude Code
- How to Refactor a Long Function Safely with Claude Code
- How to Debug a Failing Test with Claude Code
- How to Review Your Own Diff Before Committing with Claude Code
- How to Rename a Symbol Across the Codebase with Claude Code
- How to Review a Teammate's Pull Request with Claude Code
- How to Raise Test Coverage on a Specific File with Claude Code
- How to Debug a Runtime Error from a Stack Trace with Claude Code
- How to Add an Integration Test for an API Route with Claude Code
- How to Teach Claude Code Your Test Conventions with CLAUDE.md
- How to Find Which Commit Broke a Test with Claude Code
- How to Set Up Hooks for Automation in Claude Code
- Claude Code Hooks Explained: Events, Config, and Blocking
- How to Block Risky Commands with a Claude Code Hook
- How to Auto-Format Files After Edits with a PostToolUse Hook
- How to Get a Notification When Claude Code Finishes a Task
- How to Give a Coding Agent a Clear Stop Condition
- How to Make an Agent Plan Before It Edits
- How to Keep an Agent Session Focused by Clearing Context
- How to Pin a Specific Model for One Project
How to Create a CLAUDE.md File for Your Project
Generate or hand-write a CLAUDE.md so Claude Code knows your conventions, commands, and project layout from the first message.
CLAUDE.md is a plain Markdown file at the root of your project that Claude Code reads automatically at the start of every session. It is the single best lever for quality: a good CLAUDE.md means the agent follows your conventions without being reminded. This guide creates one two ways, automatically and by hand.
What you need
- A project folder with Claude Code installed
- Knowledge of your build, test, and lint commands
- About 10 minutes to draft the file
Step 1: Generate a starter with /init
The quickest start is the built-in /init command. Claude Code scans your repo and writes a draft CLAUDE.md describing what it found. Run it inside an interactive session.
Step 2: Add the sections that matter
Edit the generated file to cover the things you would tell a new teammate on day one: how to run things, the conventions you care about, and anything surprising about the layout. Keep it tight; this file is loaded into context every session.
# Project: invoice-cli
## Commands
- Install: `pnpm install`
- Dev: `pnpm dev`
- Test: `pnpm test` (Vitest, must pass before committing)
- Lint: `pnpm lint`
## Conventions
- TypeScript strict mode; no `any`.
- Use named exports, not default exports.
- Currency values are integer cents, never floats.
## Structure
- `src/commands/` one file per CLI command
- `src/lib/` shared helpers (pure functions only)
- `tests/` mirrors `src/`
Step 3: Confirm Claude Code picks it up
Start a fresh session and ask the agent what it knows about the project. If your CLAUDE.md is loaded, it will answer using your commands and rules rather than guessing.
Result: every new session now starts with your commands and conventions already loaded, so you stop repeating yourself and the agent stops guessing.
Related guides
How to Layer Global, Project, and Local CLAUDE.md Files
Use a personal global memory, a shared project CLAUDE.md, and an untracked local override so each layer holds the right kind of instruction.
How to Teach Claude Code Your Test Conventions with CLAUDE.md
Write a project CLAUDE.md so every test, refactor, and fix Claude Code produces matches your team's conventions.
Watch related tutorials
1:42:18
28:14
41:09
9:47
8:23
52:31New guides in your inbox
Fresh step-by-step how-to guides as we publish them. One email a week, no more.