Menu
The menu is content, not markup. Tonight’s special, a price change, an 86’d dish — the owner clicks the menu on the rendered page and types. Layout stays intact.
A restaurant website template the owner updates themselves.
Salmon & Oak is a complete restaurant site — menu, hours, and reservations — built from Svelte blocks with typed fields. The block your agent edits as code and the page the owner edits in the browser are the same files — the editor generates itself from each block’s field schema, no glue code.
The menu is content, not markup. Tonight’s special, a price change, an 86’d dish — the owner clicks the menu on the rendered page and types. Layout stays intact.
Holiday hours change Friday at 4pm. Instead of texting you, the owner edits the hours block in the browser — same source of truth your agent reads.
A reservations section ready to point at the booking flow the restaurant already uses. Swap the link, keep the design.
Every block declares its fields in fields.yaml — text, rich text, image, link, repeater. The editor UI is generated from that schema.
The owner can reorder, add, or remove sections on the page tree without touching code. Changes write straight to the source.
A complete, self-contained site — Svelte components in your repo, MIT-licensed. No framework lock-in, no hidden runtime.
Scaffold the starter into your workspace, point your agent at the repo, push. Then hand the owner the browser.
One command scaffolds a Primo workspace — your sites, as plain files.
$ npx primo-cli init my-workspace
Creates the full restaurant site in your repo — blocks, pages, content, config.
$ primo new bistro --template restaurant
Point Claude Code, Cursor, Codex — any CLI agent — at the repo. Swap in the real menu, brand colors, photography.
$ claude "restyle this for the client's brand"
Files sync to the server. The owner edits the menu in the browser — on the rendered page, in the fields your blocks declared.
$ primo push
MIT · open source · works with any CLI agent. The –template flag for one-command starter forks is rolling out — today, fork by pulling the starter site and pointing your agent at it.
Build it with an agent. Hand it to the owner.
One command to spin up a workspace. Point any agent at the repo, then hand your client the browser.
MIT · open source · free forever