Skip to main content
Primo has two starting points. Pick the one that matches how you work:

Start local

Run primo new to create a workspace on your machine. Build the site locally, then deploy when ready.

Start deployed

Deploy Primo to Railway or a VPS first, then pull it down to your laptop with primo pull for local edits.
Both paths land at the same place: a workspace on disk that you can edit with code, AI agents, or the visual CMS.

Path 1: Build locally, deploy later

Best for: starting from scratch, prototyping, or experimenting before committing to a host.
1

Install the CLI

npm install -g primo-cli
Requires Node.js 18+.
2

Create a site

primo new my-site
This scaffolds a workspace and starts the local CMS at http://my-site.localhost:3000.
Open http://my-site.localhost:3000/admin to use the visual editor. Edits round-trip to your files in real time.
3

Edit blocks and pages

Open the workspace in your editor:
my-site/
├── server.yaml
├── library/
└── sites/my-site/
    ├── site.yaml
    ├── blocks/
    ├── pages/
    ├── page-types/
    └── site/
Edit blocks/<name>/component.svelte in your editor — the CMS reflects changes immediately. See Local Development for the full workflow including --author modes.
4

Let AI agents help

For Claude Code, Cursor, or other agents, install the MCP server so they can validate edits and scaffold blocks correctly:
npm install -g primo-mcp
claude mcp add --transport stdio primo -- primo-mcp
See the MCP server reference for details.
5

Deploy when ready

primo deploy
Interactive picker for Railway or Fly.io. See Deploy with the CLI for other options.

What’s Next

Core Concepts

Sites, page types, pages, blocks, fields

Build from Scratch

Walk through building a complete site end-to-end

Local Development

primo dev, author modes, uploads folder

Invite Collaborators

Hand the site off to non-technical editors