The five sections that earn their place. The file rides in context every turn, billed at the cache-read rate while stable, so keep them dense.
### 1. A project overview the agent can act on One paragraph. What the project is, how it installs, the one command that runs it. Not a pitch. The agent needs to know that the package is called `tokenjam`, the CLI is `tj`, and you install with `pipx install tokenjam`, because if it guesses `pip install tj` it wastes a turn on a command that fails. Concrete names beat description here. ### 2. An architecture and data-flow map This is the section that most changes agent behavior, and the one most people skip. An agent that doesn't know where code lives edits the wrong file, or reimplements something that already exists two directories over. A good architecture section answers two questions: where does each kind of logic live, and how does a request move through the system? The data-flow part is what makes it powerful. "Spans enter from two paths and converge at `IngestPipeline.process()`" tells the agent exactly where to put a new ingest feature. It also encodes the rules the layout implies. If `core/` must never import from `cli/`, say so right next to the module list, because that's the moment the agent is deciding where to add an import. ### 3. Numbered critical rules Rules are the constraints an agent breaks silently if you don't write them down. Number them so you can reference "Rule 14" in a review and so the agent treats them as a checklist rather than prose to skim. Good rules are testable. "DuckDB only, never import sqlite3" is a rule an agent can obey and you can grep for. "Write clean code" is not a rule, it's a wish. The strongest ones name the exact failure they prevent:| **Cost leaderboard** — Spend × Model as a ranked leaderboard.  | **Tool usage** — Events × Tool category, ranked.  |