# Reference map

Use reference when you already know the surface you need. If you are choosing
an approach, start with [Choose a surface](../choosing-a-surface.md) or the
[orchestration guide](../guides/orchestration.md).

## Command line

- [CLI reference](../cli-reference.md) — commands, important flags, persisted
  state, and related guides
- [Troubleshooting](troubleshooting.md) — provider, persistence, and runtime
  diagnostics
- [State and testing](testing-state-session.md) — operational state and test
  support

## Python

- [Branch](../api/branch.md) — recorded conversation, structured operations,
  tools, and ReAct
- [Session](../api/session.md) and [DAG workflows](../api/flow.md) — multi-branch
  coordination and dependency-aware execution
- [iModel](../api/imodel.md) and [providers](providers.md) — model endpoints and
  configuration
- [Agent configuration](../api/agent-config.md) — permissions, hooks, and
  reusable agent specifications
- [Operations](../api/operations.md) — lower-level operation composition
- [Advanced Python](advanced.md) — protocols and extension seams

## Architecture

The [ADR index](../adr/README.md) records accepted and proposed design
decisions. Proposed ADRs describe direction, not necessarily shipped syntax;
the guides and reference pages follow the current code and CLI.
