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 --versionshows 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.mdat 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.jsonpresent, pre-approved permissions listed -
docs/plans/created for design docs - Auto memory on: after the first session,
MEMORY.mdexists in~/.claude/projects/<project>/memory/(chapter 10) -
.gitignoreexcludes.env.localand.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,rkey), or add anautoMode.allowrule 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 listshows 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 --versionshows v24 (or v22 at minimum) - Supabase project created,
npx supabase startstarts without errors - Vercel linked to the repo, a
git pushtriggers a deploy - Every variable from
env.examplecopied into.env.localand 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 typecheckpasses (zero errors) after each task -
npm run lintpasses (zero warnings) after each task - Local build OK:
npm run buildfinishes 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-reviewrun on the diff before the commit, every remark handled (fixed or justified). The command ships with Claude Code (it's a built-in skill),/reviewis an alias, and you choose the depth (/code-review high).--fixapplies 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
/commitfrom the commit-commands plugin (chapter 16) -
git pushdone, Vercel preview deployed and tested
Checklist 3, at the end of a session
What needs doing before you close the terminal.
Saving
-
git statusclean, no modified files left uncommitted -
git pushdone, the remote is up to date -
MEMORY.mdup to date: ask Claude to "update the project memory with today's decisions", then reread what it wrote
Cost and context
-
/usagerun: 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) -
/renameto 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.mdorTODO.md - Open bugs documented with repro steps
- Working branch identified (
mainor 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-reviewthen commit +git push - Memory updated,
/rename,/clear
Key takeaways
- Before your first real task, open
/permissionsand look at what auto mode lets through. /code-reviewbefore every commit,/usagebefore closing.- Between two tasks,
/renamethen/clear. The old session stays available with/resume.