Skip to content
Projects

primocms/primo has 2,380 GitHub stars and 566 forks. GitHot measured 0 stars in 24 hours. Last checked 2026-11-07 21:18 UTC. Last push 2026-11-02.

How these counts are measured

Build client-editable sites with Claude, Codex, Cursor, or whatever comes next.

What you can do

  • Visual content editing — edit text, images, and links directly on the page, with structured fields for more complex content.
  • Reusable blocks and page types — define layouts, conditional fields, and repeaters that clients can work within.
  • Multiple sites, one dashboard — organize client sites into groups and connect a domain to each one.
  • Static publishing — generate fast HTML and assets, served by Primo or deployed to another static host.

Measured star growth

in 24h
0
in 7 days
Collecting history
in 15 days
Collecting history
in 1 month
Collecting history

Net star changes over overlapping periods, not daily totals. Missing measurements are left blank. Stars measure attention, not software quality.

README.md

Original

Primo

The open-source CMS for developers and their clients.
Build with Claude Code, Codex, Cursor, or whatever comes next.
Let clients edit content visually.

Get started · Documentation · Website · Marketplace

MIT licensed · Self-hosted · In active development since 2019

https://github.com/user-attachments/assets/6675cf96-6fdc-41fc-98f9-311060417e00

Get started

Paste this into your coding agent:

Create a new Primo site for [my business or project]. Read the quickstart
at https://docs.primo.build/getting-started/quickstart before starting.
Install the Primo CLI, set up a local workspace, help me choose a
marketplace starter, and open the site in the Primo editor.

Your agent can handle local setup and help you build the site. When you're ready to share it, ask it to guide you through deploying an editable CMS with primo deploy.

Prefer the terminal?

Install a supported Node.js LTS release, then run:

npm install -g primo-cli
primo init my-workspace
cd my-workspace
primo new my-site

primo init offers to connect your agent to the Primo MCP tools. primo new creates a site and starts the local CMS in an interactive terminal. From a script, start the editor with primo dev.

Start with a deployed server

Deploy Primo on Railway:

Deploy on Railway

Or run it with Docker:

docker run -d -p 8080:8080 -v primo-data:/app/pb_data ghcr.io/primocms/primo:latest

Open your server's URL to create your first site. See the quickstart for both local and hosted workflows.

For Railway updates, use ghcr.io/primocms/primo:latest to track releases. Older deployments using :main can switch to :latest; :main tracks rolling branch builds.

Overview

Primo gives developers control over their sites and clients a visual editor for managing content. Build pages from reusable Svelte blocks, define what can be edited, and manage multiple client sites from one dashboard.

Your site stays in sync as both a database and a folder of structured files. Work in your code editor or with an AI agent; clients keep editing in the browser.

Features

  • Visual content editing — edit text, images, and links directly on the page, with structured fields for more complex content.
  • Reusable blocks and page types — define layouts, conditional fields, and repeaters that clients can work within.
  • Multiple sites, one dashboard — organize client sites into groups and connect a domain to each one.
  • Static publishing — generate fast HTML and assets, served by Primo or deployed to another static host.
  • A workflow for code and AI — pull your sites and shared library into local files, edit them with your preferred tools, and push changes back to the CMS. Currently in beta.

The workflow

primo pull yourserver.com   # pull sites and the shared library
claude                      # work with Claude Code, Cursor, or any agent
primo push                  # save changes to the hosted draft
primo publish               # publish the draft to the live site

Clients manage content in the browser throughout. Revision checks protect their edits when you push changes; an explicit overwrite saves a backup. See safe pushes and upgrade instructions.

Content editors can edit content, create child pages, and add or reorder body blocks allowed by the page type. The server restricts block source, field schemas, page types, layout structure, site settings, and role changes to developers. An empty allowed_blocks list locks body structure.

Editors remain trusted publishers: the current browser/CLI publishing flow uploads compiled HTML and JavaScript using their account. These permissions protect design source records; they do not sandbox an editor who deliberately uploads executable compiled output. Use developer accounts for design and server administration.

Built with

One Go binary, PocketBase with SQLite for storage, and Svelte 5 for the editor and your blocks. The same server runs the CMS and serves your published sites.

Project status

The visual CMS, block library, static output, multi-site management, and self-hosted deployment are stable. The CLI and local-file workflow are in beta.

Learn more

License

MIT

Explore related projects