CMS Brew vs Keystatic, compared honestly.

Both write plain commits to your repository. The difference is the handoff: a schema and GitHub logins vs automatic mapping, chat editing, and a review step before publish.

No credit card, cancel anytime.

The short answer

Choose Keystatic if your editors are developer-adjacent and you want a free, open-source admin over files you can still edit by hand. Choose CMS Brew if you hand finished sites to clients: no schema to define per site, no GitHub account or Keystatic Cloud seat per editor, and a review step between the client's edit and your production site, which Keystatic does not have.

Why developers go looking for a Keystatic alternative

Keystatic is a well-crafted Git-based CMS from Thinkmill: free, open source, and pleasant for developers, because content stays in Markdown, JSON, and YAML you can still edit by hand. The friction starts when the person editing is not a developer but a client.

You define every collection and field in keystatic.config, for each site. Then comes sign-in: in GitHub mode your client needs a GitHub account with write access to the repository, and the way around that is Keystatic Cloud, a separate hosted service with per-user pricing beyond its free tier. And once they are in, an editor publishes directly. There is no approval step for you.

Schema is your job

Every collection, singleton, and field lives in keystatic.config, written and maintained by you, per site. CMS Brew maps the editable content from the repository automatically. There is nothing to define.

Client sign-in is the hard part

GitHub mode means giving your client a GitHub account with write access to the repo. Keystatic Cloud removes that, but adds a service with its own team plans. CMS Brew ships sign-in out of the box: Google, or a 6-digit email code.

Write access is publish access

A Keystatic editor commits straight to the repository. There is no review queue, and no concept of a request that should reach you instead. In CMS Brew, per-field guards decide what publishes freely and what waits for your approval.

Side by side

CMS Brew vs Keystatic

CMS BrewKeystatic
What the client seesA chat. They describe the change in plain words and watch a live preview.An admin UI with collections, fields, and blocks to learn.
Content modelingAutomatic. The repository is mapped when you connect it.You define collections and fields in keystatic.config, per site.
Client sign-inBuilt in: Google or an emailed 6-digit code.A GitHub account with write access to the repo, or Keystatic Cloud.
Review before publishPer-field guards and a review queue, included.None. An editor with access commits directly.
Out-of-scope requestsRefused in the editor and escalated to you with the client's original words.Not a concept. The request reaches you as an email or a phone call.
What is editableThe site's content wherever it lives: pages, components, frontmatter, images.The Markdown, JSON, and YAML files your schema describes.
FrameworksAny repo that rebuilds from Git: Next.js, Astro, SvelteKit, Hugo, and more.Next.js, Astro, and Remix officially.
Price$39/mo for 5 sites, unlimited editors, 7-day free trial.Free and open source. Keystatic Cloud is free for 3 users, then paid per team and user.

The honest trade-off

Where Keystatic wins: it is free, open source, and genuinely nice for technical teams, and its two-way editing keeps the files clean enough to edit by hand. If your editors are developer-adjacent and edit often, it holds up well. CMS Brew earns its fee at handoff: clients with no GitHub account, edits that are rare, and changes you want to see before they are live.

Stick with Keystatic if

  • Your editors already have GitHub accounts and are comfortable with write access to the repo.
  • You value files clean enough to edit by hand, and Keystatic's two-way editing keeps them that way.
  • The site is Next.js, Astro, or Remix and your team edits often enough to stay fluent in the UI.
  • Free and open source is a hard requirement, and publish-without-review is acceptable.

How it works

Three steps, then it's live.

  1. 01Connect

    Point it at the site you built

    CMS Brew turns it into a simple list of things your client can edit. No rebuild, no plugin.

  2. 02Edit

    Clients edit in plain words

    Your client opens a chat and says what to change: a phone number, a headline, a photo. They see it live before it ships.

  3. 03Publish

    Safe changes go live

    Safe edits publish in one click. Bigger requests, like a new page or code, come straight to you.

How to switch from Keystatic to CMS Brew

  1. 1

    Connect the repository

    Sign in and connect the site's GitHub repository. Keystatic's content is Markdown, JSON, and YAML in the repo, which is exactly where CMS Brew reads and writes, so there is no migration. keystatic.config is simply not used.

  2. 2

    Set your guards

    Review the mapped fields and set a guard level per category: Open publishes freely, Warn asks the client to confirm, Review holds the change for you. This adds the approval step Keystatic does not have.

  3. 3

    Invite the client

    Send the client an invite. They sign in with Google or an emailed 6-digit code. No GitHub account, no repo write access, no Keystatic Cloud seat.

  4. 4

    Remove Keystatic when ready

    Run both during the transition; both write plain commits. When you are done, remove the Keystatic admin route and config from the project, and revoke the editors' repo access.

FAQ

What people ask before switching.

Yes. It is a Thinkmill project and continues to see development, so the reason to switch is not abandonment. Agencies move because of what surrounds it in a client handoff: the schema you maintain per site, the GitHub or Keystatic Cloud sign-in, and the missing review step.

Stop being the person who updates the phone number.

Give your client the keys to the content. Keep the keys to the code.

Prefer to talk first? Book a 30-minute call