Protocol 08 of 18Track, InfrastructureThe rails

ABC, always be cataloguing: folders, files, chat messages

Always be cataloguing. Folders laid out the same way every time, files whose names say what they are, and what the chat decided written down before the session ends. The boring parts that make everything else work.

← All 18 protocols
Protocol 07Supabase, data structures basicsAll 18Protocol 09Prompts are dead, the plan is the prompt
Why this matters

The pain it
solves

If Protocol 03 says the agent is a folder, Protocol 08 says how you arrange those folders, and what you write into them, determines whether anything actually works.

This is the boring protocol. It is the protocol participants will try to skip. It is also the one that separates a setup that holds together for a year from a setup that turns into chaos after week three.

The teaching

What this
actually is

Folders: the canonical project layout

Every Infinite Leverage project has the same top-level shape. Same names. Same places. If you have seen one IL project, you can find your way around any IL project in 90 seconds.

  • CLAUDE.md and AGENTS.md at the root
    Loaded by every agent on every run. CLAUDE.md is your project's brain stem; AGENTS.md is the cross-agent contract.
  • Working Files/ for what you write with the PM agent
    product-plan.md, the nurture plan, the agent plan, the day-one reflection. The documents in your words, that the AI reads before it builds (Protocol 09).
  • docs/ with subfolders
    docs/plans for the plans the AI builds from, docs/qa for every review, docs/handoff.md for the next person. Standardised so any agent knows where to look.
  • brand/ for the design system
    Tokens, components, voice notes, examples. The folder every agent that writes UI reads first (Protocol 12).
  • .claude/agents/ with one folder per agent
    Each agent gets its own folder with its role, skills, context, routines, guardrails, and Definition of Done. The folder is the agent (Protocol 03).
  • src/ for code
    The actual application. App Router routes, components, libraries. Source code lives here and nowhere else.

Files: two rules that compound over time

These are the boring rules. They are also the ones that decide whether your project still makes sense to a fresh agent (or a fresh hire) six months from now.

  • One name per concept
    Pick docs or documents. Pick product or pm. Pick epic or ticket. Then use that name everywhere, forever. Inconsistent naming costs every agent a search.
  • Naming conventions live in CLAUDE.md
    Every agent loads CLAUDE.md on first read. Put your project's vocabulary there: file naming, branch naming, where things go. The conventions teach themselves.

Chat messages: what the conversation decided goes into a file

The most common way a project loses its mind: a decision made in a chat, three days ago, in a session that is now closed. The agent that made it has no memory of it. You half do. The next session rebuilds the thing you already rejected.

The fix is a habit, not a tool. Before you close a session, ask: what did we decide, what broke, what rule did we set? Write each one into the file where the next session will look. A rule goes into CLAUDE.md. A decision with rationale goes into docs/handoff.md. A thing that broke goes into the QA review. Then the chat can die.

  • Rules go to CLAUDE.md
    "No em dashes." "Never push to main." "Status markers live in product-plan.md." Every agent loads it on every run.
  • Decisions go to docs/handoff.md
    What you chose, why, and what you rejected. The layer most teams skip, and the one a fresh reader needs most (Protocol 18).
  • Things that broke go to docs/qa
    The fix and the cause, next to the review that found it. The next build reads it before it starts.

Why this is the protocol people skip

Cataloguing is the boring protocol. People want to skip to building. The few who do not skip it are the ones whose projects are still legible after a year.

A line: a well-catalogued project ages like a library. A badly catalogued project ages like a junk drawer.

Try it yourself15 minutes

Scaffold an IL-layout project in 15 minutes

You can do this in a brand-new repo or alongside an existing project. The goal is to set up the folder shape, write a one-page CLAUDE.md, and watch the next agent inherit the conventions.

  1. Step 01
    Create the top-level folders

    In your project root, run: mkdir -p "Working Files" docs/{plans,qa} brand .claude/agents public src.

  2. Step 02
    Write a one-paragraph CLAUDE.md

    Open CLAUDE.md at the root. Write three lines: what this project is, the one-name-per-concept list (Epic vs Ticket, etc), and any non-obvious rule ("no em dashes in copy, no periods at end of headings").

  3. Step 03
    Drop in AGENTS.md

    Copy AGENTS.md from your nearest existing project or the IL template. This is the file that tells every agent the cross-project rules.

  4. Step 04
    Add the first agent

    In .claude/agents/, copy one of your existing agents (writer, PM, whichever you use most). The folder is the agent.

  5. Step 05
    Test it with a fresh prompt

    Open Claude Code in the project. Ask: "Read CLAUDE.md and tell me the rules of this project in three bullets." Watch Claude load the file and play back your conventions.

  6. Step 06
    Catalogue one chat decision

    Scroll back through today's Claude conversation. Find one thing you decided and never wrote down. Tell Claude: "Add that to CLAUDE.md as a rule" or "Add that to docs/handoff.md under Active decisions." Close the session. The decision survives.

Outcome

A fresh project with the IL shape, CLAUDE.md teaching every agent the conventions, the first agent ready to run, and one decision rescued from a chat into a file. Future-you and every future agent inherit all of it for free.

Official resources

Straight from
the source

Anthropicdoc
Claude Code memory and CLAUDE.md
agents.mddoc
AGENTS.md spec
Anthropicdoc
Claude Code settings
What you walk out with

By the end of this
protocol

At the retreat

You learn it by
doing it

You rename one file on purpose, watch an agent fail to find it, restore the name and document the convention. Then you take one decision out of today's chat and put it where the next session will find it.

Saigon, Jun 20See all 18 protocols
Connects to

Other protocols this
compounds with

Protocol 03
Agents are folders
Protocol 09
The plan is the prompt
Protocol 18
Handoff after you leave
← Previous, Protocol 07
Supabase, data structures basics
Next, Protocol 09 →
Prompts are dead, the plan is the prompt