Choose the kind of knowledge you need. Product instructions, developer design, contributor rules and historical records serve different readers.
| Need | Read |
|---|---|
| Install and start using codeaf | Guide |
| Find the exact behavior codeaf explains about itself | Shipped manual map — separate chat and resident corpora |
| Learn the current chat's features | Chat manual, getting started |
| Understand Memory and knowledge from saved chats | Memory, knowledge from saved chats |
The manual is product knowledge compiled into the binary. Repository development notes and users' learned chat knowledge are separate; see documentation ownership.
Start with the current architecture map. It identifies the chat and resident surfaces, entry points, implementation owners and storage roles. The workspace storage and relay reference explains task folders, cooperating layouts, multi-root transfer, and result application.
| Category | References |
|---|---|
| Current interface contracts | Headless, remote architecture, subharness execution, pairing |
| Spending and reporting | Limits, model usage accounting, telemetry disclosure |
| Operation and verification | Run a relay, test moving chats, remote session test notes — check the historical warning |
| Design rationale | Visual design language, home layout, thread UX, background jobs, services, multimodal, stored subharness design |
| Performance | Performance rules and size budget |
A contract describes an interface that other code relies on. Design rationale explains a decision and may include proposals or earlier revisions. Check scope and implementation before treating design prose as a current feature list.
| Need | Read |
|---|---|
| Make a first contribution | Contributor guide |
| Give a coding agent repository instructions | AGENTS.md, then architecture and recent changes |
| Choose where documentation belongs | Documentation ownership, manual authoring |
| Follow contribution and release policy | Rules index: branches, CI, change entries and promotion |
Historical designs preserve superseded decisions without presenting them as the current product. Unreleased change entries explain recent changes; CHANGELOG.md records releases. Neither replaces an up-to-date manual or interface reference.