Files-first CMS for Next.js

Typed content, plain files.

Pith gives Next.js a typed content layer and an editor — content stays in your repository.

pnpm add @pith-cms/cli@latest
pnpm pith init

What it does

The useful parts. Nothing hidden.

01

Define once

Fields drive TypeScript inference, validation, editor controls, and canonical files.

02

Keep files portable

Use ordered JSON or Markdown frontmatter. Change storage without changing content.

03

Edit with a boundary

Protect mutations, require revisions, preview unsaved work, and surface conflicts.

04

Publish your way

Write to a persistent volume, commit directly to GitHub, or create a pull request.

Pith editor

Write where your content lives.

Pith
Collections
Pages
Posts
Authors
Pages ⁄ home
Title
Home
Slug
home
Description
A Pith site.

A typed content editor that reads and writes directly to your repository files. Define collections once — the editor generates the form. No database, no migration, no external service.

Pith CLI

Scaffold and manage from the terminal.

$ pnpm pith init
Scaffolded pith.config.ts, src/lib/pith.ts, editor routes
Installed dependencies
 
$ pnpm pith collection add
> Collection name: posts
> Fields: title, slug, publishedAt, body
Added "Posts" collection and created content/posts/
 
$ pnpm pith content check
All content entries are valid.

Scaffold a new project, define collections interactively, and validate every entry against your schema — all from the terminal. No running services, no dashboards, just real files.