Pull your entire site as files.
Pages, page types, components, content, and fields—all local on your machine.
Build with your AI agent. Edit and publish in Primo.
Add a featured dogs section above the adoption list, with three photo cards.
Files for your agent.
Buttons for your clients.
Pull your entire site as files.
Pages, page types, components, content, and fields—all local on your machine.
Build with any agent.
Change the design, copy, or features with your AI tool.
Hand it off to your client.
Push to your server. Clients edit, add pages, and publish.
Working with an agent
Bring a site, a brief, or an idea. See what your agent can turn it into—and what your client can edit.
Give your agent the current site and its content. Bring the pages and design into Primo, with editing fields for your client.
“Rebuild my current site in Primo, keeping its content and overall design.”

“Rebuild my current site in Primo, keeping its content and overall design.”
Share a brief, documents, or meeting notes. Ask your agent to organize the material and draft the pages your site needs.
“Use this brief and these documents to draft our story, menu, and private dining pages.”
Neighborhood café + wine bar
Seasonal menu, local growers
Private dinners: 8–20 guests
Warm, welcoming, no fuss
Seasonal food, good wine, and a room of your own. Gather 8–20 guests for an evening at Maison Verde.
Plan your evening ↗“Use this brief and these documents to draft our story, menu, and private dining pages.”
Try a new layout, palette, or type style. Compare a few directions before choosing one to take further.
“Show me three directions for this homepage, using the same copy.”
“Show me three directions for this homepage, using the same copy.”
Help visitors work out the cost before they enquire. Your agent builds the calculator; your client updates the menus and prices in Primo.
“Build a private dining calculator with guest count, menu choices, and an optional drinks package. Show an itemised estimate and let visitors copy their choices into an enquiry.”
“Build a private dining calculator with guest count, menu choices, and an optional drinks package. Show an itemised estimate and let visitors copy their choices into an enquiry.”
Help people recognise your site in search results and shared links. Your agent can improve page titles, descriptions, preview images, and image descriptions.
“Review our site’s search and sharing metadata. Improve page titles and descriptions, choose social preview images, and add useful image descriptions.”
Gather 8–20 guests for seasonal food, natural wine, and a room of your own. Plan your evening at Maison Verde.
“Review our site’s search and sharing metadata. Improve page titles and descriptions, choose social preview images, and add useful image descriptions.”
Turn a page into a template with fields for the details that change. Your client can create the next one without starting from scratch.
“Turn our private dining page into a reusable template so my client can add new dining packages.”
Fields for every package
Seasonal plates to share, a few good bottles, and an afternoon of your own.
Enquire about your date ↗“Turn our private dining page into a reusable template so my client can add new dining packages.”
Ask your agent to walk through the site, find broken links, check small screens, and try the forms. Get fixes plus a clear report of what was checked.
“Check our site before launch. Look for broken links, mobile layout problems, and unclear form feedback. Fix what you find and check the changes again.”
The button now opens the correct private dining page.
A compact menu keeps every page reachable on phones.
Missing email is flagged clearly before submission.
“Check our site before launch. Look for broken links, mobile layout problems, and unclear form feedback. Fix what you find and check the changes again.”
The editor
Hand off control, with guardrails built in.
Give clients a powerful, simple CMS to edit content, build pages, and publish changes—all within the structure and design you’ve defined.
Try PrimoEverything your clients need to keep their site growing.
Clients create new pages from templates you define.
Text, images, links, repeaters—an editor shaped around your content.
Manage SEO, metadata, and content beyond the visible page.
Work together in the same draft. Changes appear for everyone.
A starting point for your next client project.
Choose a starter, make it your own, and hand your client the editor.
Swipe to explore
Every starter includes the site’s code, content, page types, and fields. Yours to change.
Custom code.
A client-ready editor.
Primo brings your components, content, and page types into one system—files for your agent and an editor for your clients.
| Capabilities | Primo | WordPress | Headless CMS | Site Builders |
|---|---|---|---|---|
| Code | Svelte components as files | PHP themes and plugins | Frontend files | Builder; export options vary |
| Client editing | On the rendered page | Block editor or admin | CMS studio or custom editor | Visual canvas |
| Content model | Fields and page types as files | Core, plugins, or code | Code or admin, depending on CMS | Managed in the builder |
| Agent workflow | Entire site as local files | Code; content via CLI or API | Code; content via CMS API | Custom code and integrations |
| Hosting | Self-hosted · MIT | Self-hosted or managed · GPL | Hosted or self-hosted | Usually platform hosting |
Scroll to compare
Frequently asked questions.
What happens to my content if Primo disappears?
Your content lives in SQLite (via PocketBase), and your code can live in your own repo. primo pull exports your sites as editable Svelte, YAML, and media files; primo build generates a static site you can host elsewhere. Primo is MIT-licensed, so your existing installation and published sites keep running.
Is this production-ready, or a side project?
Seven years in, v3.3. Production sites include agencies shipping client work, small commerce stores, documentation sites, and our own marketing pages. Same model since 2019 — agents are a new client of the same system, not a new product.
How is this different from Payload, TinaCMS, or Sanity Studio?
Payload is a headless CMS — your schema lives in their admin, content is fetched via API. TinaCMS puts a git-backed editor in front of markdown files. Sanity Studio is a React-based admin on top of their hosted content lake. Primo is none of those: the editor and the renderer both read the same Svelte files and database rows, with no API translation layer between them.
Can I use React instead of Svelte?
Not today. Primo is built around Svelte’s compile-time approach — it’s what lets blocks be “just files” the editor and renderer can both read directly. React support inside Primo blocks is not on the roadmap. What is on the roadmap is primo integrate <framework> — a way to layer Primo on top of an existing SvelteKit (and eventually Astro, with Next.js aspirational after that) app, where your production components stay in the framework and Primo just owns content + the editor. So you’d get a visual CMS for pages that live inside your app’s codebase, even though the blocks themselves are still Svelte.
What does a block actually look like?
A block folder contains component.svelte for the design, fields.yaml for editable fields, content.yaml for defaults, and config.yaml for its name and metadata. Here is an example field schema:
# blocks/hero/fields.yaml - name: headline label: Headline type: text - name: subheadline label: Subheadline type: text - name: cta label: CTA type: linkHow do agents authenticate and push?
Run primo login https://your-server.com with your Primo account. The CLI saves credentials for that server; scripts can pass --token. primo pull exports the workspace, and primo push imports the selected site data with checks that protect newer CMS edits. Publish from the editor, or use primo publish or primo push --publish with a compatible server. See the CLI publishing guide.
I built Primo because there was no good way to build custom sites I could hand off to my clients with confidence. Seven years later, the model still holds — it just also happens to be the shape agents want, too.
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