Installation
Clone Marrow, run the setup wizard, and verify the toolchain compiles and builds.
Marrow requires Node.js 24 or newer. It has no other system dependencies — no Graphviz, no headless browser for normal builds, no database.
Marrow is used from a clone, not installed from npm. The repository is the
workspace: your topologies live in input/, your branding in
marrow.config.yaml, and any private icon packs in icon-packs/.
The one command
Clone the repository
Run setup
The wizard walks six steps and is safe to re-run after every git pull —
every step is idempotent and nothing you've edited gets overwritten:
Step 4 asks before downloading anything. The aws, azure, and gcp packs come from the vendors' own servers because Marrow is not allowed to redistribute them — see ADR-0005.
Step 5 writes marrow.config.yaml and can generate a
branded starter topology for you.
Confirm it works
244 tests across 22 files. If they pass, the compiler is sound.
Non-interactive setup
For CI or a container image:
--yes implies --skip-brand.
Doing it by hand
If you'd rather not run the wizard:
Keeping it current
If validate or build starts behaving strangely after a pull, dist/ is
almost certainly stale. npm run compile fixes it.
If validate reports "icon pack is not installed — run marrow icons fetch <pack>", that's a fresh clone that hasn't downloaded the vendor packs
yet. Run npm run marrow -- icons fetch --yes.
What the repo looks like
Next: build your first diagram.