Long-form posts
Built on a Primo page type — define a post’s shape once (title, body, date), and the writer publishes from the browser. Rich text where it belongs, structure where it counts.
A newsletter website template built for long-form.
The Journal is a complete writer & newsletter site — long-form posts, an archive, and email capture — built from Svelte blocks with typed fields. Posts are a Primo page type: define the shape once, and the writer publishes the next one from the browser, never breaking the model.

Built on a Primo page type — define a post’s shape once (title, body, date), and the writer publishes from the browser. Rich text where it belongs, structure where it counts.
A subscribe section ready to point at Beehiiv, Substack, or ConvertKit. Swap the link, keep the design — the ask sits at the end of every read.
Posts as structured content, not hand-rolled HTML — one clean source for the archive page today, and an RSS feed whenever you want one.
Click any text on the rendered page and type. A typo fix, a new headline, an updated bio — edited in place, written straight to the source.
The post model lives in fields.yaml next to the component. You own the schema; the writer owns the words.
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 writer the browser.
One command scaffolds a Primo workspace — your sites, as plain files.
$ npx primo-cli init my-workspace
Creates the full newsletter site in your repo — blocks, pages, content, config.
$ primo new notes --template writer
Point any CLI agent at the repo. Set the type, the voice, the layout; wire the subscribe link.
$ claude "tune the typography for long reads"
Files sync to the server. The writer publishes the next post in the browser — on the rendered page, in the fields you defined.
$ 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 with an agent.
Hand it to a human.
Start with your agent or the CLI. Build locally, then deploy an editable CMS when you’re ready.
Create a new Primo site for my client. Set up a local workspace, help me choose a marketplace starter, and open the Primo editor. Read the Primo docs at https://docs.primo.build before starting.
MIT · open source · free forever