Set up markdown memory
Full Lesson Reference
The simplest memory layer lives in plain markdown files inside your Claude Code folder. No database, no signup, no setup beyond creating a few folders. Takes about 3 minutes.
If you decided on Supabase, skip this lesson and go to Lesson 3.
The folder structure
Add a memory/ folder at the top of your Claude Code folder
Claude Code/
├── .claude/ ├── memory/ ← your memory layer │ ├── projects.md ← one entry per project │ ├── rules.md ← cross-project preferences + feedback │ └── sessions/ ← one file per session │ ├── 2026-04-21-client-acme-weekly-report.md │ ├── 2026-04-20-content-brief.md │ └── 2026-04-18-email-drafts.md ├── my-first-project/ ├── my-client-work/ └── (other project folders)
That's the whole system. 3 files + 1 folder.
What goes in each file
projects.md
One entry per project you work on. Each entry has context, pending items, and rules specific to that project. # Projects
my-first-project
Context: Personal test project. Learning Claude Code. Pending: None - just experimenting. Rules: Drafts only, nothing deployed.
client-acme
Context: Ecommerce brand. Running Google Ads + Meta + Klaviyo. Pending:
- Finish Q2 weekly report (Phase 3 of 5 complete)
- Set up email welcome flow after Friday's call Rules:
- Primary metric: ROAS
- Exclude branded search conversions
- Reports due Friday 4pm AEST
rules.md
Cross-project preferences + things you've learned.
Rules
Feedback
- I prefer Australian English, never US spelling
- Keep responses terse - I can read the diff
- No em dashes - use " - " (space-hyphen-space)
Patterns
- Reports always include ROAS + revenue + CPA trend charts
- Emails use launch-moment framing for openings
- Never include mobile/device bid adjustments unless budget-constrained
References
- Brand guide for client-acme: in their project folder as brand-guide.md
- Weekly report template: _shared/templates/weekly-report.html
sessions/YYYY-MM-DD-[slug].md
One file per session. Claude creates these automatically when you end a session. Each contains summary, actions, decisions, learnings, pending items.
2026-04-21 - client-acme weekly report
Summary: Built Q2 weekly report. Pulled Google Ads + Meta + Klaviyo, applied brand template, encrypted + pushed to Pages.
Actions taken:
- Pulled last 7 days performance across 3 channels
- Built HTML report in drafts/
- Encrypted + deployed to client-acme.my-domain.com/q2-week-17
- Sent link + password to client via email
Decisions made:
- Excluded branded search (per client preference, 2026-03-14 session)
- Used ROAS instead of CPA as primary metric
Rules learned:
- Client prefers weekly reports on Friday at 4pm (not Monday morning)
Pending items:
- Set up the welcome email flow (next session)
- Review Meta creative fatigue before next week's report
Set it up via Claude
Open a terminal in your Claude Code folder. Start Claude. Tell it:
Set up a markdown memory layer for me. Create a memory/ folder at the top of my Claude Code folder with projects.md, rules.md, and a sessions/ subfolder. Add a short README explaining the structure. Don't fill in any content yet - just the skeleton.
Claude creates the folders + starter files. 30 seconds.
Tell Claude Code where memory lives
Update your global CLAUDE.md so Claude reads memory at the start of every session:
Update my global CLAUDE.md at ~/.claude/CLAUDE.md to add a section called "Memory layer" that tells you to read ~/Dropbox/Claude Code/memory/projects.md and ~/Dropbox/Claude Code/memory/rules.md at the start of every session where relevant.
Adjust the path if your Claude Code folder isn't in Dropbox.
From now on, every session starts with Claude having access to your project + rules. That's the "startup" part of the memory layer - no skill needed, just file loading.
How sessions save memory
At the end of each session, you tell Claude to save a session record:
Save today's session to memory/sessions/ with today's date and a descriptive slug. Include summary, actions taken, decisions made, rules learned, pending items. Then update projects.md if anything changed about the project, and rules.md if we agreed on any new rules.
Claude writes the session file + updates the top-level files. Takes 30 seconds. Lesson 5 covers turning this into the /wrapup skill so you don't type the full instruction every time - just /wrapup and it happens automatically.
Pros and cons recap
Pros of markdown memory
- Zero setup cost
- Human-readable - open any .md file in Finder or your editor and skim
- Version-controlled via git automatically
- Works offline
- Never need to pay for a database
Cons
- No cross-project search (each project folder is searched independently)
- Only keyword search, no semantic search
- Gets slower to scan if you hit hundreds of session files
- Easy to accumulate stale files unless you audit regularly (Lesson 6)
When to upgrade to Supabase
You'll know when
- You have 10+ active projects
- You want to search "sessions about X" across all projects at once
- You're tired of Finder-scrolling through sessions/
- You want semantic search - "find sessions about the Meta attribution issue" without needing exact keywords
Most members stay on markdown for the first 3-6 months. Some never need Supabase. Lessons 3-4 cover the migration path if and when you want it.
Power-user tips
- Date-prefix session files - YYYY-MM-DD-slug.md sorts correctly in Finder + git
- One session = one file - don't append multiple sessions to one file
- Keep projects.md under 100 lines - if it grows, archive inactive projects to a separate projects-archive.md
- Git push memory folder to a private GitHub repo - instant backup + sync between machines
- Search sessions/ via grep in Claude - "search my sessions folder for anything mentioning X" works great for keyword recall
Action items
☐ Tell Claude to create the memory/ folder structure in your Claude Code folder
☐ Update your global CLAUDE.md to read memory/projects.md + memory/rules.md at session start
☐ Add at least one entry to projects.md (the project you're currently working on)
☐ Run your first session-save at the end of today's work - even manually
☐ Skip Lessons 3 + 4 if you're staying on markdown. Go to Lesson 5 next.
Next lesson: Set up Supabase memory (skip to Lesson 5 if you're staying on markdown).
Exercises
- Review the concepts covered in this lesson: Set up markdown memory.
- Write down your key takeaway from this lesson.
- Practice running any commands or prompts mentioned above inside your terminal.