module 02 project memory

Project CLAUDE.md

System Text-to-Speech Ready
Slide: 0:00 / 0:00
Slide 1 of 0Interactive Deck

Full Lesson Reference

Your global CLAUDE.md covers who YOU are. A project CLAUDE.md covers what THIS project is. One file per project - client name, brand, goals, what the output looks like.

This is where most of Claude Code's useful context lives. Every piece of work Claude does inside a project folder gets shaped by the project's CLAUDE.md.

Where project CLAUDE.md lives

Inside the project folder itself, at the top level

Claude Code/

└── my-client-work/ ├── CLAUDE.md ← this one ├── reports/ ├── campaigns/ └── emails/

Claude only loads it when you start a session inside that folder. Start Claude in a different project folder and you get that project's CLAUDE.md instead.

What goes in a project CLAUDE.md

Project identity

One paragraph. What's being built, who it's for, what the output is. Claude needs purpose to make good decisions.

Client context (for client projects)

  • Client name and website
  • Which channels they run on (Google Ads, Meta, Klaviyo, GA4, etc.)
  • Which database or data source to query
  • Brand guide reference or link

Conventions for this project

  • Folder structure - key folders, file naming, what goes where
  • Build or deploy commands if any
  • Reporting cadence and focus metrics

Design system (for branded work)

  • Brand colours, primary + accent
  • Fonts and type scale
  • Logo handling (inline SVG? image file? variant rules?)
  • Banned elements (e.g. "no emojis, no gradients, no shadows")

Current goals

  • Revenue targets for the quarter
  • New product launches
  • What matters right now - the one or two things that should shape every decision

Step 1: Create it via Claude

Open a terminal inside your project folder (right-click > Open in Terminal / New Terminal at Folder as covered in Module 01) and start Claude:

terminal
claude

Then tell Claude

Draft a project CLAUDE.md for this folder. Ask me about the client, channels, data sources, brand, and current goals. Keep it under 60 lines. Claude asks questions and writes the draft based on your answers.

Step 2: Review and approve

For every line, ask the decisive test: "Would removing this line cause Claude to make mistakes on this project?"

If yes - keep it. If no - cut it. Project CLAUDE.md files are usually 30-60 lines. If yours is 100+, it's got generic fluff.

Example: a client project CLAUDE.md

Here's what a typical client CLAUDE.md looks like. Notice it's specific - a Claude Code session inside this folder has everything it needs to produce on-brand work for this client:

[Client Name]

Performance marketing for [client]. [Channels they run on].

Client

  • Website: client-website.com.au
  • Channels: Google Ads, Meta Ads, Klaviyo, GA4
  • Database: client Supabase project
  • Brand guide: see brand-guide.md ## Reporting
  • Monthly business review + weekly check-in
  • Focus metrics: ROAS, revenue, CPA
  • Always compare to prior period and YoY
  • Never include mobile or device bid adjustments unless budget-constrained

Design

  • Primary colour: #XXXXXX, accent: #YYYYYY
  • Font: [typeface name]
  • Logo: inline SVG only (external URLs can break in emails)
  • No emojis in any client-facing output

Current goals (Q2)

  • Revenue target: $X
  • New launches: [list]
  • Key focus: [what matters right now]

Example: a task or build project CLAUDE.md

Not every project is for a client. Sometimes it's a landing page, a website, a research project. Same structure, different content:

Spring Campaign Landing Page

One-off landing page for the Spring product launch. Deployed to [domain] via GitHub Pages.

Architecture No build tools. Single HTML file with inline CSS. Fonts via Google Fonts CDN.

Design system

  • Primary: #XXXXXX, Dark: #070909
  • Font: [typeface]
  • No emojis, no gradients, no shadows

Output

  • Single page targeting [audience]
  • Primary CTA: book a demo
  • Conversion tracking via [pixel IDs]

The CLAUDE.md CLAUDE.local.md trick

Alongside any CLAUDE.md, you can create a CLAUDE.local.md file at the same level. This is ignored by git - it never gets committed or shared with your team.

Use it for personal preferences specific to your machine, test data, sandbox URLs, or quick notes. It loads alongside the main CLAUDE.md in your session but stays on your machine only.

Tell Claude

Create a CLAUDE.local.md next to the project CLAUDE.md with [your personal notes].

Action items

☐ Pick a real project folder and cd into it (right-click > Open in Terminal)

☐ Start Claude and tell it to draft a project CLAUDE.md

☐ Answer its questions about client, channels, brand, goals

☐ Review every line with the "would removing this cause mistakes?" test

☐ Save the file at the root of the project folder

Next lesson: What NOT to put in CLAUDE.md.

Exercises

  1. Review the concepts covered in this lesson: Project CLAUDE.md.
  2. Write down your key takeaway from this lesson.
  3. Practice running any commands or prompts mentioned above inside your terminal.