Works with

Contentcron + Keystatic

Keystatic defines the collection; Contentcron fills it. New articles land as reviewable PRs in the same GitHub repo Keystatic edits.

What Keystatic is

Keystatic is Thinkmill's git-based CMS: collections and fields are defined in TypeScript, content is stored in your repo as Markdown, MDX, or Markdoc, and editing works locally in dev or through GitHub mode in production.

keystatic.com

How the pairing works

For collections stored as Markdown or MDX, Contentcron works out of the box: it writes files into the collection's directory with frontmatter matching your existing entries, and Keystatic picks them up like anything committed by a teammate.

PR review fits Keystatic's model exactly — its GitHub mode already assumes content changes flow through the repo.

If a collection uses Markdoc (.mdoc) as its format, keep the blog collection on md/mdx — that's what Contentcron writes.

Point it at the same folder

Keystatic declares where content lives; Contentcron writes to that folder. Use the directory from your collection's path option in keystatic.config.ts.

Project settingsapp.contentcron.com
  • content_dir: src/content/postsyours to set
  • extension: .md / .mdxdetected
  • frontmatter: matched to your existing postsinferred

No plugin, on purpose

There is nothing to install inside Keystatic. Contentcron’s integration surface is the repo itself: the GitHub App opens a pull request containing one Markdown file in your voice and your frontmatter. When it merges, Keystatic sees a normal commit, and everything downstream (builds, previews, editors) behaves as if a teammate pushed it. Comment on the PR and the article revises before it ever reaches your CMS.

Using something else? All supported CMSs · any Markdown blog in a GitHub repo works.