Building on lemonfiber
This section is for working on lemonfiber: where the code lives, what shape it has, and what a change has to satisfy before it merges.
Most of what follows is not written here. Each repository documents itself, and this site renders those documents at the exact revision it pins, so a sentence is fixed where it was written rather than copied and left to drift. Two pages are the exception, because they are about the whole: the map of the repositories, and the gates every one of them enforces.
The ground floor
Section titled “The ground floor”The repository mapEleven repositories, what each is for, and the one property to remember about each.
The gatesEvery check a pull request meets, and what each one is defending.
ArchitectureHow the subsystems are built in Rust, from the workspace's own notes.
The Rust workspaceThe binary: three surfaces over one core, and the crate that may render.
The seams worth knowing
Section titled “The seams worth knowing”Ports and adaptersThe boundary between logic and the outside world, and how to fake it in a test.
Module layoutWhere things live across the workspace, and which rules a test enforces.
The error modelTyped errors for control flow, one value type for the operator.
The embedded stackHow the stack gets into the binary, and why an incompatible pairing cannot ship.
Speaking to it from outside
Section titled “Speaking to it from outside”The APIThe JSON API the binary serves, and the two SDKs that speak it.
ColourThe palette and its rules, from the brand repository that owns them.
Where to go next
Section titled “Where to go next”Read cite the spec before you open anything — it is the one rule that will otherwise cost you a round-trip. For what has been built and what is coming, see the project section.