Legal noticePrivacy
Gaëtan Wittebolle.
UmamiContactFR
FR
← Guides
Claude Code, the guide
Chapter 13 / 22
  • 13The checklists
  • 14The services to put your app online

Part 5 · Going to production

The checklists

Chapter 13 · 5 min reading

Three checklists to keep open next to your terminal: project start, feature delivery, end of session. October 2026 version, with auto mode, /code-review and /usage.

Checklist 1, before starting a project

Everything that needs to be in place before the first line of code. Each box gets ticked with proof: a command that passes, a file that exists, a manual test that works.

Installation

  • claude --version shows a recent version in the terminal
  • Active Claude subscription (Pro or Max), checked in your account settings on claude.ai
  • First prompt sent, Claude answers without an auth error
  • VS Code extension installed if you work in the editor

Project setup

  • CLAUDE.md at the root with the 8 sections (chapter 3), under 200 lines
  • .claude/commands/ or .claude/skills/ contains at least one command of your own (both create a /command)
  • .claude/settings.local.json present, pre-approved permissions listed
  • docs/plans/ created for design docs
  • Auto memory on: after the first session, MEMORY.md exists in ~/.claude/projects/<project>/memory/ (chapter 10)
  • .gitignore excludes .env.local and .claude/settings.local.json

Permissions and security

  • Permission mode checked. Unless you've set another mode, interactive sessions start in auto mode (the default mode, see chapter 9): a classifier lets safe actions through and blocks destructive ones and production deploys. Open /permissions, Auto mode tab, and read what's allowed before starting a real task
  • Global deny list in ~/.claude/settings.json (rm -rf, force push, db reset) tested
  • You know that typing "go ahead" in the chat doesn't lift an auto mode denial. To unblock: name the action and its target in your message, rerun it from /permissions (Recently denied tab, r key), or add an autoMode.allow rule in ~/.claude/settings.json

Advanced setup (optional)

  • Prettier post-edit hook active, an edited file comes out formatted
  • Typecheck hook active, a TypeScript error is sent back to Claude before it hands control back
  • MCP servers connected, claude mcp list shows the right names (chapter 17)
  • Exploration subagents present in ~/.claude/agents/
  • Status line configured with the context percentage and the session cost

Infrastructure (if SaaS)

  • node --version shows v24 (or v22 at minimum)
  • Supabase project created, npx supabase start starts without errors
  • Vercel linked to the repo, a git push triggers a deploy
  • Every variable from env.example copied into .env.local and filled in
  • Claude model ID in an environment variable, not hardcoded (chapter 14)
  • Domain bought and DNS configured (if ready for production)

Checklist 2, for every feature

The full cycle, from brainstorm to commit.

Planning phase

  • 3 to 4 options explored in writing before choosing
  • Design doc written: vision, user stories, business rules
  • Implementation plan written: numbered tasks, files touched, verification criteria per task
  • Plan reviewed and approved before any code

Execution phase

  • Claude executes the plan task by task, you supervise
  • npm run typecheck passes (zero errors) after each task
  • npm run lint passes (zero warnings) after each task
  • Local build OK: npm run build finishes without errors

Validation phase

  • Visual test on localhost:3000, happy path validated
  • Visual test of error cases: invalid input, empty data, 404
  • Responsive test: window shrunk to 375px, nothing overflows
  • Copy proofread, spelling correct, zero typos
  • 2 to 3 rounds of visual or functional tweaks done

Delivery phase

  • /code-review run on the diff before the commit, every remark handled (fixed or justified). The command ships with Claude Code (it's a built-in skill), /review is an alias, and you choose the depth (/code-review high). --fix applies the fixes
  • Unit tests written and green if there's business logic
  • Lighthouse > 90 on the page you touched (if it's a public page)
  • Commit with a conventional message (feat:, fix:, refactor:), by hand or with /commit from the commit-commands plugin (chapter 16)
  • git push done, Vercel preview deployed and tested

Checklist 3, at the end of a session

What needs doing before you close the terminal.

Saving

  • git status clean, no modified files left uncommitted
  • git push done, the remote is up to date
  • MEMORY.md up to date: ask Claude to "update the project memory with today's decisions", then reread what it wrote

Cost and context

  • /usage run: estimated session cost, cache read rate, and the likely cause if the cache dropped. If something surprises you (an MCP server, a skill, a subagent), write it down (chapter 19)
  • /rename to give the session a clear name, then /clear. You can find it again later with /resume, and the next task starts from an empty context

Preparing the next session

  • Next priorities noted in MEMORY.md or TODO.md
  • Open bugs documented with repro steps
  • Working branch identified (main or a feature branch)
  • Local servers stopped if you're shutting down the machine (Docker, npm run dev)

"Quick" version for the days you're in a hurry

If you only have 30 minutes, here's the minimum.

Express (30 min)

  • Open the project, run claude
  • Describe the feature in one precise prompt (chapter 4)
  • Let Claude code, supervise
  • Quick visual test on localhost
  • /code-review then commit + git push
  • Memory updated, /rename, /clear

Key takeaways

  • Before your first real task, open /permissions and look at what auto mode lets through.
  • /code-review before every commit, /usage before closing.
  • Between two tasks, /rename then /clear. The old session stays available with /resume.

Sources

  • Claude Code, manage costs
  • Claude Code, prompt caching
  • Claude Code, permission modes
← Chapter 12

The 12 most common mistakes

Chapter 14 →

The services to put your app online