primo-cli) lets you build and edit Primo sites from local files using your own editor and version control. It runs a local CMS server, syncs file changes both directions, and ships your workspace to production.
The CLI is optional. You can still build everything in the in-browser editor — the CLI is for developers who prefer working in files and Git.
Installation
- Node.js 18+
- For
primo deploy: Railway CLI or Fly.io CLI
Quick Start
primo dev on http://my-site.localhost:3000.
Workspace Structure
A Primo workspace contains one or more sites and a shared block library:site-one.localhost:3000, site-two.localhost:3000.
Command Summary
| Command | What it does |
|---|---|
primo init [name] | Initialize a new workspace |
primo new [name] | Create a new site and start dev |
primo dev | Run the local CMS with file/CMS sync |
primo pull <server> | Pull a hosted server into local files |
primo push <server> | Push local changes to a hosted server |
primo library pull/push | Sync just the shared block library |
primo login <server> | Authenticate with a hosted instance |
primo deploy | Deploy the workspace to Railway or Fly.io |
primo build | Build a static site for any host |
primo validate | Check site structure for errors |
When to Use Which Command
| You want to… | Use |
|---|---|
| Let collaborators edit content from a CMS UI | primo deploy |
| Ship a static site to Netlify/Vercel/Cloudflare | primo build |
| Sync local edits to an existing hosted server | primo push |
| Pull a hosted server’s content into Git | primo pull |
Next Steps
Local Development
Run the local CMS and learn the file/CMS sync model
Sync with a Hosted Server
Use
primo push and primo pull against a deployed instanceDeploy
Deploy your workspace to Railway, Fly.io, or any static host
MCP Server
Let AI agents work inside your Primo workspace safely