DEV.co
Open-Source CMS · primocms

primo

Primo is a self-hosted CMS designed for developers building client sites. It combines a visual editor for non-technical users with a dual file/database representation that allows developers and AI agents to edit code directly while clients manage content in the browser.

Source: GitHub — github.com/primocms/primo
2.3k
GitHub stars
574
Forks
Svelte
Primary language
MIT
License (OSI-approved)

Key facts

Objective fields from the source. Values we can't verify are shown as “Unknown” rather than guessed.

FieldValue
Repositoryprimocms/primo
Ownerprimocms
Primary languageSvelte
LicenseMIT — OSI-approved
Stars2.3k
Forks574
Open issues41
Latest releasev3.2.3 (2026-07-02)
Last updated2026-07-07
Sourcehttps://github.com/primocms/primo

What primo is

Primo is a monolithic Svelte 5-based CMS with PocketBase (SQLite) as its backing store, serving both the visual editor and published sites from a single Go binary. Sites exist simultaneously as relational database records and structured file folders, enabling bidirectional sync between visual and code-driven workflows.

Quickstart

Get the primo source

Clone the repository and explore it locally.

terminalbash
git clone https://github.com/primocms/primo.gitcd primo# follow the project's README for install & configuration

Need it deployed, integrated, or customized instead? DEV.co ships production installs.

Best use cases

Freelancer/Agency Site Handoff

Build custom sites for clients who need visual content management post-launch without breaking functionality. Primo's block-based system lets non-technical editors stay within guardrails you define.

AI-Agent-Integrated Development

Leverage Claude, Cursor, or other agents to edit site code via the local-file workflow (primo pull/push), while clients continue managing content visually—both stay synchronized.

Multi-Tenant Static Site Hosting

Host multiple independent sites on a single server with domain mapping, shared block libraries, and one dashboard. Deploy as static HTML or let Primo serve it directly.

Implementation considerations

  • Single Go binary reduces operational overhead, but self-hosting requires basic Docker/container knowledge and infrastructure planning (data persistence, backups, SSL).
  • Block authoring requires Svelte familiarity; non-Svelte developers face learning curve. Blocks define guardrails for editors, so design them carefully upfront.
  • Local-file workflow (pull/push) is labeled beta; vet AI-agent compatibility and sync reliability in staging before production use.
  • SQLite bundled by default; plan for migration path if site scales beyond single-instance concurrency limits (consider external PocketBase configuration).
  • Static output workflow is clean but requires understanding of deployment targets (Netlify, Vercel, custom CDN) separate from Primo itself.

When to avoid it — and what to weigh

  • High-Volume E-Commerce — SQLite is not suitable for high-concurrency workloads. For systems needing heavy transactional throughput or real-time inventory sync, consider PostgreSQL-backed alternatives.
  • Headless CMS as Primary API — Primo is a monolithic CMS, not designed as a headless content API for multiple frontends. If you need a decoupled content service, platforms like Sanity or Storyblok are better fits.
  • Enterprise-Scale Collaboration — Project status lists collaboration as in-scope but not mature. For large teams requiring granular permissions, audit trails, and SLA guarantees, evaluate WordPress multisite or commercial platforms.
  • Highly Complex Business Logic — Primo's strength is in content presentation. If your site requires deep custom workflows, payment processing, or complex automation, a headless approach or custom backend may be more appropriate.

License & commercial use

MIT License. Permissive OSI-approved license allowing modification, distribution, and commercial use with minimal restrictions. Requires attribution and inclusion of license in derivative works.

MIT License explicitly permits commercial use, including selling sites built with Primo or offering Primo-based services. No royalties, license fees, or vendor lock-in. However, always review your own legal terms when offering services; this license assessment covers the software only, not client agreements or hosting liability.

DEV.co evaluation signals

Editorial assessment — not user reviews. Directional, with an explicit confidence level.

SignalAssessment
MaintenanceActive
DocumentationAdequate
License clarityClear
Deployment complexityModerate
DEV.co fitGood
Assessment confidenceHigh
Security considerations

Self-hosted single binary reduces third-party exposure but places all responsibility on operator. SQLite data at rest; encryption at rest not mentioned in README. Network security, SSL/TLS setup, user authentication (admin/editor roles), and backup integrity are operator responsibilities. No public security audit or penetration test data provided. Evaluate threat model for your use case before production deployment.

Alternatives to consider

WordPress

Mature ecosystem, broader plugin/theme market, higher hosting ubiquity. Heavier footprint, higher maintenance overhead, less code-centric developer experience.

Webflow / Framer

Proprietary visual builders with SaaS hosting and professional design tools. Vendor lock-in, higher cost, no local file/AI-agent workflow.

Sanity / Storyblok

Headless CMS with API-first design, multi-frontend support, SaaS hosting. Decoupled architecture requires frontend wiring; more expensive; no monolithic self-hosted option.

Software development agency

Build on primo with DEV.co software developers

Assess whether Primo's developer-centric, self-hosted model fits your team and client workflow. Consider deployment complexity, block library maintenance, and scaling strategy before committing.

Talk to DEV.co

Related open-source tools

Surfaced by semantic similarity across the DEV.co open-source index.

Related on DEV.co

Explore the category and the services that help you build with it.

primo FAQ

Can I use Primo with existing headless frontends (Next.js, Astro)?
Not directly. Primo is monolithic and serves its own frontend UI and published sites. You could export static HTML and build custom frontends, but no native headless API is documented. This is a use-case gap vs. headless CMS platforms.
What is the database migration path if SQLite becomes a bottleneck?
Unknown. README does not document PocketBase configuration options or external database support. Contact maintainers or review PocketBase docs to assess feasibility before committing to high-concurrency workloads.
Is there a managed / SaaS version of Primo?
Not mentioned in the README. The project is positioned as self-hosted. Verify with the community or documentation whether hosted services exist.
How mature is the AI-agent integration (primo pull/push)?
Labeled beta. Functional for basic use but not production-guaranteed. Test thoroughly in staging and monitor GitHub Issues for compatibility reports before relying on it for critical workflows.

Software developers & web developers for hire

Adopting primo is usually one piece of a larger software development effort. As a software development agency, DEV.co provides software development services and web development expertise — pairing senior software developers and web developers with your team to design, build, and operate open-source cms software in production.

Ready to evaluate Primo for your project?

Assess whether Primo's developer-centric, self-hosted model fits your team and client workflow. Consider deployment complexity, block library maintenance, and scaling strategy before committing.