SACRVM APPKIT is a UI kit for the web with no build step: some forty sac-* web components, a theming engine that derives every colour from one --accent variable, and an app system that installs apps by URL. You vendor one folder of plain files, link one stylesheet and one script, and write HTML. No framework, no bundler, no node_modules — F5 is the toolchain.
Try it before reading on
The proof runs at desktop.sacrvm.dev: a desktop in your browser. It is a host, not an app — it owns the home screen and the bare stage, and every app on it is installed by URL from somebody else's repository. Reading a manifest and running code are two separate steps: the desktop shows what it found, names the origin on every tile, and asks before anything executes. The app list lives in your browser's localStorage — no server, no account.
On your first visit the desktop offers its two reference apps, so the stage does not start empty:
- Calculator — a
windowapp: one custom element, one classic script, and a proper two-register pocket-calculator brain in ~400 dependency-free lines. - Notes — a
viewapp: it draws its own chrome, the note list is the rail, and every note gets its own link.
Their repos are worked examples — see it done properly. To start your own app, don't strip a calculator down to a skeleton; there is a starting point built for the job. Zero to running on the desktop is three steps:
- Use this template on sacrvm-app-template — a clean repo with the right shape from commit one:
app.json,app.js,app.css, a vendoredkit/. Rename five strings. - Enable GitHub Pages — now your app has a URL.
- Hand out the link —
https://desktop.sacrvm.dev/?install=<your-pages-url>runs the ordinary confirm flow, and your app is on the desktop.
The kit itself
- Two files.
kit/css/ui.csscarries the design tokens and the global stylesheet,kit/js/all.jscarries every component. Thekit/folder is vendored verbatim;kit/VERSIONsays which release you hold. - The components. Floating draggable windows, a nav ribbon with burger panel, sidebar and split workspace layouts, dialogs, menus, toasts, tooltips, tabs — and form controls down to a colour picker and a date field.
- Seed-derived theming. Light, dark and auto via
data-theme; every colour iscolor-mix()-derived from one--accent. An app re-themes from a single variable, at runtime, with no build. - A runtime, not just widgets.
window.sac.*brings the router, the dialog and toast services, a Ctrl-K command palette, sandboxed storage, andsac.apps— the install-by-URL system the desktop is built on. - Scaffolds included.
kit/templates/ships complete app skeletons and page-level scaffolds — the folder of plain files contains its own starting points.
No build step, on purpose
Vendoring is the whole upgrade story: delete kit/, unzip the new release, F5. The kit ships as a ZIP of plain files from GitHub Releases, MIT licensed. Nothing is transpiled, nothing is locked — what you commit is what runs.
The style guide with every token and component lives in the appkit repo; the desktop's long-form "How this works" is at desktop.sacrvm.dev/how.html. Feedback and bug reports to the issue tracker or mail@sacrvm.dev.
F5 is the toolchain.