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.

commitpress uses cookies to keep you signed in, to keep forms secure and to remember preferences like your theme. There is no advertising, no analytics and no third-party tracking on this site — you can see exactly what is stored in cookie settings.