Marketplace starter · The Journal

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.

The Journal — writer & newsletter website template built on Primo

What's included

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.

Email capture

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.

Essay archive

Posts as structured content, not hand-rolled HTML — one clean source for the archive page today, and an RSS feed whenever you want one.

On-page editing

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.

Custom page types

The post model lives in fields.yaml next to the component. You own the schema; the writer owns the words.

Yours to own

A complete, self-contained site — Svelte components in your repo, MIT-licensed. No framework lock-in, no hidden runtime.

Fork & ship in ~5 minutes

Scaffold the starter into your workspace, point your agent at the repo, push. Then hand the writer the browser.

i. primo-cli

Spin up a workspace.

One command scaffolds a Primo workspace — your sites, as plain files.

$ npx primo-cli init my-workspace
ii. primo new

Fork this starter.

Creates the full newsletter site in your repo — blocks, pages, content, config.

$ primo new notes --template writer
iii. agent

Make it theirs.

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"
iv. primo push

Push, then hand it off.

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.

Paste into your AI agent.

MIT · open source · free forever