DEV Community

Zac
Zac

Posted on

Setting up a new environment for Claude Code: the five-minute checklist

Every new project, every new machine — same setup. Here's the checklist that gets Claude Code working well from the start.

1. Create CLAUDE.md

Empty project root. Create CLAUDE.md with at minimum:

# Project
[One sentence about what this is]

## Stack
[Language, framework, key libraries — one line each]

## Conventions
- [How you name files]
- [Where different types of code live]
- [Any non-obvious patterns]

## Rules
- Minimal footprint. Only modify files directly required for the task.
- Do not ask for confirmation before making changes. Execute and report.
- Do not push to remote. Commit locally.
- Never claim work is done without showing test output.
Enter fullscreen mode Exit fullscreen mode

You'll add to this as you discover friction points. Start with these four rules — they prevent the most common problems.

2. Create .claude/settings.json

{
  "defaultMode": "acceptEdits",
  "allowedTools": ["Read", "Write", "Edit", "Bash", "Glob", "Grep"]
}
Enter fullscreen mode Exit fullscreen mode

This removes confirmation prompts for basic file operations. If you want Claude to also be able to fetch URLs, add "WebFetch" to allowedTools.

3. Create tasks/ directory

mkdir -p tasks/history
Enter fullscreen mode Exit fullscreen mode

When you start your first task, Claude can immediately write tasks/current-task.md. This directory is where session state lives.

4. Add to .gitignore (optional)

If you don't want tasks committed:

tasks/
.claude/
Enter fullscreen mode Exit fullscreen mode

If you want tasks committed (useful for teams): don't add them.

5. Write your first task file

cat > tasks/current-task.md << 'END'
## Active Task
goal: "[What you're building first]"
started: $(date -u +%Y-%m-%dT%H:%M:%SZ)

steps:
  - [ ] [First step]
  - [ ] [Second step]

last_checkpoint: "Starting fresh"
END
Enter fullscreen mode Exit fullscreen mode

Now Claude has a state file to read and update.

The startup prompt

Your first prompt to Claude in any session:

Read CLAUDE.md and tasks/current-task.md. Tell me what task we were working on and what the next step is.
Enter fullscreen mode Exit fullscreen mode

This gets you back on track in under a minute regardless of what happened last session.

What you'll add later

As you work, you'll add to CLAUDE.md:

  • Specific libraries to use or avoid
  • Testing commands
  • Deployment notes
  • Gotchas you discovered

Every friction point you hit becomes a rule. Over a few sessions, CLAUDE.md becomes a project-specific configuration that makes Claude significantly more effective on your codebase than it would be on a generic project.

CLAUDE.md templates for different project types: builtbyzac.com/claudemd-templates.html.

Top comments (0)