Getting started

What is Pluto

Pluto is a CMS that you build from Nuxt layers. Use it in your Nuxt app, or headless with any stack.

Pluto is a layer-based CMS. Its admin and its API run on Nuxt. Your site can be the same Nuxt app, or a site in any other framework or stack that reads the content through the API. See Use Pluto headless.

You do not install one big system. You install a core layer. Then you add the layers that you need.

Pluto is in alpha. Expect breaking changes, incomplete features, and rough edges.

Main ideas

  • Layers. Pluto uses Nuxt layers. Each layer has one job.
  • Opt-in features. A layer adds its features only when you extend it.
  • TypeScript first. The contracts of Pluto are typed.
  • Your backend. Pluto keeps the content in Git, with no database, or in a database from a backend layer.
  • Data access. A Nuxt site reads its data through composables. A site in any stack reads it through the Public API.

The layers

LayerPackageJob
Core@plutocms/coreThe admin shell, the content model, the extension registry, mail, i18n. It also holds the Git CMS.
Supabase@plutocms/supabaseSupabase database, auth, users, roles, and migrations.
Shop (Supabase)@plutocms/supabase-shopProducts, with photos from the media library.
Blog (Supabase)@plutocms/supabase-blogBlog posts with a rich text editor.
Docs@plutocms/docsAn admin editor for the pages of a Nuxt Content site. It builds on the Git CMS.
3D@plutocms/3d3D models (.glb) in the media library, for every backend.

A layer brings the layers that it builds on. For example, @plutocms/supabase-shop extends @plutocms/supabase, which extends @plutocms/core. Your app extends only the top layer that it uses. See Layers.

Requirements

  • Node.js 22 or newer, or Bun.
  • A package manager: npm, pnpm, yarn, Bun, or Deno. The CLI asks which one to use.

Next steps

Why Pluto

See the problems it solves, and how it compares.

Create a project

Run the CLI and start the dev server.

Choose a backend

Keep the content in Git, or add a database.

Project structure

See what a new project contains.