Skip to content
commitpress Open CMS

A hosted, GitHub-connected CMS

Your website’s content, managed in GitHub.

Build content schemas in the browser. Edit your pages, collections and assets in a CMS. Keep content and schemas as JSON files alongside your code.

CommitPress is hosted. Your content stays in your repository, and your website stays in your stack.

In your repository

__commitpress__/

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

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

The editing workspace

Define the structure.Edit the content.

A CMS for the content your website actually needs, with schemas you can build and maintain in the browser.

  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

How it works

From a connected repository to content in your website.

Set up your project once. Then work with the content and branches in your repository.

  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.

A content save is a Git commit. A site release is a separate step.

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.

A few practical questions

Before you connect.

Is CommitPress hosted?

Yes. The CMS is hosted. You connect your GitHub repository to it; your website runs on your own infrastructure.

Where is my content stored?

Your content and schemas are JSON files in the configured content directory of your GitHub repository. Assets live in that directory too.

Does saving content publish my site?

Saving content commits it to your active branch. A site release is a separate operation and depends on your publishing configuration. Draft content stays separate from the site release.

Do I need a particular framework?

The Node.js SDK reads local files and does not require a frontend framework. Your application is responsible for rendering the content and providing a preview target.

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.