Claude Turnstile

March 24, 2026 ยท View on GitHub

Claude Code Claude Code Repos Index

The Problem With Only One CLAUDE.md!

Claude Code expects a single CLAUDE.md file at the base of the repo to serve as a system prompt.

In reality, this is a component of a multilayered user-level context-setting system. The harness reads these in a sequence depending upon the level of recursion from which Claude is executed.

What if I'm a developer open-sourcing a repo?

I may wish to:

  • Create CLAUDE.md which provides my own development instructions - intended to be read by Claude acting as a developer.

But if a user wishes to run Claude in that repo to set it up on their system (for example), Claude will parse the same CLAUDE.md, ingest its context, and act as a contributor!

A Turnstile Approach

I've open-sourced my home folder CLAUDE.md which - instead of cramming a lot of context that's mostly just unneeded tokens - acts as a kind of turnstile:

  • CLAUDE.md is the entrypoint
  • More specific instructions are in ./context/foo.md
  • CLAUDE.md has those paths

This "turnstile" model is just the same principle applied:

  • The repo's (root) CLAUDE.md is the "turnstile".
  • It points the agent to a nested CLAUDE.md
  • Agent reads the appropriate CLAUDE.md for their purpose in the project
  • Ingestion of unnecessary and confusing context is avoided

How To Use

I've been working on an ad-hoc template for creating Claude "ready" workspaces and will roll this into its next iteration.

If you like the pattern, that's the easiest way to use it: create a Github template with your preferred scaffold and just use it for your projects. You'll inherit the scaffold as your starting slate.


For more Claude Code projects, visit my Claude Code Repos Index.