Every error, in every contract, has one shape, with a stable code a client may branch on
and a hint that names the next step:
Contracts
Contracts
The written agreements between aboard’s server, its clients and its extensions: the API, events, the board file, CLI output, delivery, launchers and harness profiles.
At the end of this page you will know which file describes each interface aboard keeps,
so a tool you build against one keeps working as aboard grows.
Every interface between aboard’s pieces, and between aboard and what you build on it, is
a hand-written file in the repository’s
spec folder. Code is generated
from it or checked against it, and it only grows: new optional fields, endpoints, event
types, error codes and commands. Something that must go is first marked deprecated, with
its replacement, and kept for at least one minor release.
How each contract is versioned and checked, and the checklist for changing one, is in
spec/README.md.
Extending aboard says which one to build against.