Start
Three steps. The first one already gives you something that runs.
1. Clone the router
git clone https://github.com/studiozojer/armillary.git
cd armillaryThat is a working host. It declares no modules, loads no protocols, and that is the default rather than an error.
2. Declare what it composes
modules.toml is the public schema and carries commented examples of every slot. Your actual composition — private repo URLs, per-machine paths — belongs in a gitignored modules.local.toml, so the router you publish stays agnostic about who occupies it.
3. Boot
Launch a session from the router root. It reads the manifest, loads every protocol declared boot, registers the on-demand ones as pointers, and routes your opening message to whichever composed module owns the work.
The composition and protocols essays cover what those words mean.