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.
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.
- 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.