Skip to content
commitpress Open CMS

The product

A CMS connected to your repository.

CommitPress gives you a browser workspace for managing structured website content. GitHub holds the files.

Build schemas, edit content and work with assets without maintaining a separate content store for your website.

In your repository

__commitpress__/

schema/
  pages/
  collections/
  globals/
  blocks/
content/
  pages/
  collections/
  globals/
media/

Content and schemas are JSON files. Assets live alongside them.

Inside the CMS

Structure and content, in the same workspace.

Define the fields your website expects, then use those fields to manage its content.

  1. Build your content schemas

    Define fields, groups and reusable blocks in the browser. The CMS saves your schemas as JSON in your repository.

    Fields / Groups / Blocks

  2. Manage your website content

    Edit pages, collection entries and shared content. Organize assets and preview pages against your configured website.

    Pages / Collections / Globals / Assets

  3. Use content in your application

    Read repository content with the Node.js SDK and generate TypeScript types from your schemas.

    @commitpress/sdk-node

Working with GitHub

A familiar home for your content.

Content changes belong to the repository and the branch you are working on.

  1. Connect your GitHub repository

    Install the CommitPress GitHub App and choose the repositories it can access. Add the project configuration in the CMS.

  2. Define schemas and edit content

    Build the structure your website needs, then fill it with content. Changes are committed to the branch you are working on.

  3. Review changes and release your site

    Use branches and history to work through changes. With site publishing configured, review the pending commits before requesting a release.

Your application and publishing configuration determine when saved changes reach your live website.

For developers

Read the files. Build your website.

CommitPress manages the content. Your application decides how to render it. The Node.js SDK reads local repository files and can generate TypeScript types from your schemas.

Explore the Node.js SDK
src/content.ts
import { query } from '@commitpress/sdk-node';

const page = await query(
  'content/pages/index',
  process.cwd(),
);

// Your saved homepage content.
const content = page.content;

Use the SDK in server code or at build time. Connect your own website for preview.

Start with your repository

Give your content a place to work.

Connect a GitHub repository, define your first schema and start editing in CommitPress.

Cookie settings

commitpress sets no advertising or analytics cookies, and no third party sets any through this site. What is stored is listed below.

Strictly necessary — always on
  • Keeping you signed in, and the token that stops another site submitting forms as you
  • The project and branch you are working on, and a short-lived cache of its configuration
  • One-off status messages, deleted the moment they are shown
  • This choice
Accept all