Marketplace starter · Field Notes

A newsletter website template built for long-form.

Field Notes is a complete writer & newsletter site — long-form posts, RSS, 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.

Field Notes — 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.

RSS-ready

Posts as structured content, not hand-rolled HTML — the clean source an RSS feed and an archive page both read from.

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 it with an agent. Hand it to the writer.

One command to spin up a workspace. Point any agent at the repo, then hand your client the browser.

$ npx primo-cli init my-workspace
✓ workspace ready · server.yaml written

MIT · open source · free forever