Skip to main content
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. 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:
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.