Why this one matters
Everything else in this series so far has been "here's a thing I built". This one is purely "here's what you're looking at". Someone opens a project, sees eight files they don't recognise, and quietly closes it. Eleven answers fixes that, and the last one is the reason you're reading this instead of a leaked API key.
The six from the reel
This is the brain. Whatever project or folder you're working in, this is the file that tells Claude what the business is, how you work, and what the rules are. It's the first thing Claude reads, every single session — there are actually a few levels that stack rather than override (an organisation-wide one, a personal one at ~/.claude/CLAUDE.md that applies across all your projects, the project one, and a private local one). You make the first draft by typing /init and letting Claude read your codebase.
That .md on the end stands for Markdown, and it catches people out: it isn't code. It doesn't run. It's plain text with a few symbols for formatting — a hash for a heading, two stars for bold. That's the whole thing. It's readable by you and readable by Claude, which is exactly why everything in this series is written in it.
This is where your secrets live. API keys, tokens, passwords — the things that let Claude get into your other platforms. One file, all of it, in one place. It's a Python and Node convention rather than a Claude Code feature: Claude Code doesn't read it automatically, your own scripts load it.
A .gitignore is a list of files that never leave your machine. Your .env goes in it. If it doesn't, the day you back your project up online, you've just published every key you own. This is the beat worth slowing down on in the reel, and it's the reason the starter file below exists.
Anything ending .py is Python: a script. The reason that matters is a script does the exact same thing every single time. Ask Claude to do a job by hand and you'll get it slightly different each time. Get it to write you a script, and it runs identically forever.
GitHub is where your project gets backed up, privately or publicly, your choice. But it's not really storage, it's history. Every version you've ever had is saved, so when something breaks, you go back to the one that worked. Code goes on there. Secrets don't — that's what the .gitignore above is for.
The rest of the glossary
The reel only had time for six. Here's the other five.
The folder where your slash commands, skills and agents live: commands/ for things like /commit or /content, skills/ for instructions Claude loads automatically when the job matches, agents/ for custom subagents, and settings.json for configuration. This whole series is built out of files in this folder.
What the project is, written for humans. Same Markdown as CLAUDE.md, different audience: CLAUDE.md briefs Claude, README.md briefs whoever else ever opens the project, including you in six months when you've forgotten why you built it.
Where your connectors are configured when you're adding one directly inside Claude Code, rather than through claude.ai. It relates to the connectors you set up on claude.ai in Day 8 — those are visible to Claude Code too, and a local server you add with claude mcp add can be scoped and shared through this file so it stays with the project instead of just your machine.
The shopping list. requirements.txt is Python's version, package.json is Node's: both just list which external tools and libraries a project needs, so anyone (or any Claude) setting it up fresh knows what to install.
The downloaded libraries themselves, once installed from the shopping list above. Large, regenerable, and never worth backing up. Both go in your .gitignore alongside .env — that's the second reason the starter file below exists.
A starter .gitignore
Copy this into a new project before you do anything else. It covers the usual mistakes: your secrets, and the two big folders nobody means to upload.
.env .env.local node_modules/ .venv/ __pycache__/ *.pyc .claude/settings.local.json .DS_Store *.log
Where this goes
Six files, and Claude Code stops looking like somebody else's computer. Layer 2 wraps up with Day 12: asking your own data anything, in plain English.
Book a free 30-minute AI assessment
Thirty minutes, no pitch. We work out which system would make the biggest difference in your business, and you leave with the answer whether you ever hire me or not.
Book the assessment