Architecture

These pages describe how otto is put together and why it is shaped the way it is — written for contributors and for anyone extending otto beyond what the user guide covers. The guide explains how to use each feature; this section explains the moving parts behind them.

The section reads like a story, in order:

  1. Overview — what otto is and its nine first-party commands.

  2. Command lifecycles — the shared path every invocation walks (entry, bootstrap, dispatch, preamble, teardown), then what each command does differently once it takes over.

  3. Subsystems — the machinery underneath: hosts, registries, the data boundary, and the extension seams.

  4. Utilities — the cross-cutting spines every subsystem leans on.

  5. Principles — the recurring design rules that keep the codebase coherent, and where each is enforced.

Overview

Principles