Skip to content

Repo map

Leaf is split across several repositories in the Utility-Muffin-Research-Kitchen organization. Each is an independent repo with its own build.

RepoRole
LeafRelease artifacts (SD install / recovery ZIPs) and cross-repo build orchestration
JawakaThe launcher stack - jawakad daemon + launcher + menu + OSD
CatastropheShared C UI toolkit the launcher and apps are built on
miniloong-launcher-switcherThe on-device mechanism that boots Leaf on top of stock - boot hook, session supervisor, install/recovery payloads, device defaults
mlp1-toolchainThe Buildroot-based Docker image used to cross-compile for the device
retroarch-buildsRetroArch fetch/build/packaging
Cores-sprucelibretro core builder, forked from spruceOS’s build lane (downstream of libretro-super)
ssh-serverThe SSH Server app (a .pak)
Thing-FileThe file-manager app (a .pak)
FugaziThe Fugazi live CRT-shader tuner app (a .pak)
CentralScrutinizerNetwork file/ROM manager - a web UI served from the device (in development)
miniloong-adb-keeperSD payload used to enable developer access on the device
leaf-docsThis documentation site
  • Leaf is the dispatcher: it calls each product repo’s own build/package targets and assembles the SD payload. You don’t build product repos individually to ship - you stage from Leaf.
  • Jawaka depends on Catastrophe (header-only toolkit).
  • retroarch-builds + Cores-spruce produce the emulation stack that Leaf stages alongside the launcher.
  • miniloong-launcher-switcher owns everything device-stock-specific (the boot swap and install/recovery flow).