For a few weeks now I’ve been working inside a folder. Not a joke — it’s called ClaudeHome, and it’s my attempt at solving a problem you probably know too if you use an AI assistant across several work fronts at once: having to re-explain who you are, what you’re doing, and under which conventions, every single time you open a new session.
In my case there are quite a few fronts: security consulting, a couple of SaaS projects, a role at a new company, a blog. Each with its own jargon, its own expected outputs, its own “never do this.” Keeping all of that inside the same conversation with a generic assistant had become unmanageable: either context bled across projects, or I had to rebuild it from scratch every session. So I decided to give it a physical home on disk, with a structure designed to be read — not just by me, but by the assistant itself.
The basic idea
The structure is simple on paper:
ClaudeHome/
├── about-me/
│ └── who-i-am.md
├── general-context/
│ └── recurring-stack.md
├── INDEX.md
├── CLAUDE.md
└── workspace/
├── INDEX.md
├── CLAUDE.md
├── Project1/
├── Project2/
└── Blog/
Two file types recur in every folder, and they serve different purposes that are worth keeping separate:
- INDEX.md — a map, not an archive. Title, one line describing the purpose, a bullet list of what’s inside. Updated incrementally, never filled with prose.
- CLAUDE.md — the operating conventions for that folder: purpose, naming, where deliverables go, what to never do, references to related folders.
The rule I set for myself to avoid lazily scattering CLAUDE.md files everywhere: I only add one at a given level if that level’s conventions genuinely diverge from its parent. Otherwise it’s just context the assistant re-reads on every task without gaining anything from it — and in an agentic workflow, context has a cost. It’s not free.
Who I am and what I always use — kept separate from everything else
Two folders at the root do a different job than all the others: about-me/ and general-context/. The first holds who I am, my preferred output tone, what to always avoid — stuff that doesn’t change from one project to another. The second holds the recurring technical stack, the standards I use often (think NIST CSF, CIS), the terminology I take for granted. These are the two files I want read *before* anything else, regardless of which project I’m working on that day.
The detail: CLI and Cowork don’t behave the same
This is where things got interesting. I’d assumed a file structure automatically read from the command line would behave the same way in the desktop interface. I wasn’t so lucky.
Claude Code (the CLI) climbs the CLAUDE.md hierarchy on its own, starting from the current folder up to the root of ClaudeHome/. No extra setup needed: if the file is there, it gets read, full stop.
Cowork (the desktop app) doesn’t do the same auto-discovery. You need to spell it out explicitly in the Global instructions — a field separate from the session prompt, one that stays active across every future conversation. Something like: read about-me/ and general-context/ before anything else, then — if I’m working inside a subfolder of workspace/ — climb the INDEX.md and CLAUDE.md hierarchy from general to specific, and if a level has no CLAUDE.md of its own, skip it and keep going without stopping.
Same folder, reusable by both tools — but it’s a different “adapter” for each. For the CLI, a root-level CLAUDE.md with imports is enough; Cowork needs the explicit line in Global instructions.
The manual step no prompt can do for you
There’s one last piece the folder structure alone doesn’t guarantee: isolated memory per workstream. Having the folders in place isn’t enough — you have to promote each work area to a Cowork Project, one by one, via “New Project → Use existing folder” pointing directly at workspace/<name>. It’s the only way to stop one project’s context from bleeding into another’s. No automated setup prompt can do this for you: it’s a manual click, folder by folder.
The prompt
# Startup prompt — ClaudeHome structure creation
Create the following folder and file structure in [INSERT PATH, e.g. ~/ClaudeHome]:
```
ClaudeHome/
├── about-me/
├── general-context/
├── INDEX.md
├── CLAUDE.md
└── workspace/
├── INDEX.md
├── CLAUDE.md
├── Project1/
│ ├── INDEX.md
│ └── CLAUDE.md
├── Project2/
│ ├── INDEX.md
│ └── CLAUDE.md
├── Project3/
│ ├── INDEX.md
│ └── CLAUDE.md
├── Project4/
│ ├── INDEX.md
│ └── CLAUDE.md
└── Blog/
├── INDEX.md
└── CLAUDE.md
```
For each INDEX.md file: create a short skeleton with a title, one line describing
the folder's purpose, and an (empty) bullet list of the main contents/subfolders
to be updated over time. Keep it minimal: it's a map, not an archive.
For each CLAUDE.md file: create a skeleton with these sections:
## Purpose of this folder
## Conventions (naming, output formats, where to save deliverables)
## What NOT to do
## References (link to INDEX.md and related folders)
In the root CLAUDE.md (ClaudeHome/CLAUDE.md), also add these two lines at the
top, before the other sections:
@about-me/who-i-am.md
@general-context/recurring-stack.md
In the about-me/ folder, create a who-i-am.md file with this section template:
## Who I am
## Current role
## Preferred tone and style for outputs
## What to always avoid
In the general-context/ folder, create a recurring-stack.md file with this
template:
## Recurring tools and technologies
## Reference standards (e.g. NIST CSF, CIS)
## Recurring terminology and acronyms
Don't fill these two files with made-up content: leave them as a skeleton.
If I'd prefer, you can interview me with a few targeted questions to fill them
in right away instead of leaving them empty — ask me before proceeding.
Remember: if a level inside workspace/ doesn't have conventions that genuinely
differ from its parent, it doesn't need its own dedicated CLAUDE.md — it's just
context re-read on every task with no benefit.
What I’m taking away from this
It’s not a complicated structure, but the value isn’t in the complexity — it’s in explicitly separating “who I am” (stable), “what I always use” (stable), and “what I’m doing right now” (project-specific, isolated from everything else). If you work across multiple fronts with an AI assistant and keep pasting the same context every morning, it’s worth spending an afternoon building something like this. The payoff shows up after a week, not after a year.
Stay safe!