Lumen vs Keystatic. Two takes on git-based for Astro.
Keystatic and Lumen agree on the basics: content stays in your repo, no SaaS database, no vendor lock-in. They disagree on where the admin lives and how schemas get defined.
Keystatic is great for solo devs. Choose Lumen if your editors don't have GitHub accounts. Keystatic is an Astro integration with a hand-written type-safe schema and an admin route inside your project. Lumen is a desktop app that infers schemas from your files and lets editors in via a magic-link invite.
How they stack up.
Row by row, what's actually different between Lumen and Keystatic.
| Lumen | Keystatic | |
|---|---|---|
| Where it runs | A desktop app, separate from your site. | An admin route inside your Astro project. |
| Content format | Markdown + JSON. Auto-detected schema. | Markdoc, MDX, YAML, JSON. Schema written in TypeScript. |
| Schema Keystatic's schema is the strongest type-safe story of any Astro CMS. | Inferred from your existing files. | Defined in a <code>keystatic.config.ts</code> file. |
| How editors access it | Install Lumen, click the invite link. No GitHub account. | Local dev, deployed admin route, or Keystatic Cloud (GitHub OAuth). |
| Built-in dev server | Yes, with log streaming. | No. You run it yourself. |
| Git integration | Built in: stage, commit, branch, push. | Local mode writes files; Cloud commits via GitHub API. |
| Adds to your bundle | Nothing. | Keystatic's admin UI ships as routes in your project. |
| Price | Free for 1 site. Pro is $179/yr for 10 sites + unlimited Relay invites. | Free OSS. Keystatic Cloud is free up to 3 users; Pro from $10/mo. |
Who should choose what.
- Editors don't have GitHub accounts.
Keystatic Cloud requires editors to sign in with GitHub. With Lumen Relay they install the Mac app and click the invite link. No GitHub account, ever.
- You don't want a config file.
Lumen reads your existing files and infers the field types. With Keystatic you write and maintain a schema for every collection.
- You want a dev server in the same window.
Lumen runs and watches <code>astro dev</code> inside the app and streams logs. Keystatic doesn't try to replace your terminal.
- You love type-safe schemas.
Keystatic's TypeScript-first schema is the best in this category. If your content has strict types and you want IDE autocomplete in your schema, Keystatic wins.
- You're already deep in Markdoc or MDX.
Keystatic was built around structured content blocks. If your pages are composed from typed blocks, Keystatic's editor maps to that more cleanly.
- You want the admin to live in your repo.
Keystatic ships as part of your Astro project. Some teams prefer that everything (site, admin, schema) lives in one git history.
Quick answers.
Is Keystatic free?
The OSS package is MIT-licensed and free. Keystatic Cloud (their hosted GitHub-OAuth admin and image service) is free for teams up to 3 users; Pro plans start at $10/mo with $5/mo per extra user.
Does Keystatic work well with Astro?
Yes. Keystatic ships an official Astro integration and was designed with Astro projects as a first-class target.
Can I use both?
Yes. They both write to the same files. You could keep Keystatic's schema as documentation and use Lumen for day-to-day editing, or vice versa.
Do I have to write a schema for Lumen?
No. Lumen looks at your existing content files and infers field types: string, number, boolean, date, image, tag list, nested objects, and repeating lists. You can override anything per-collection.