Content and publishing · Edition No. 14 · 8 Sep 2026

Thinkmill/keystatic

A writing screen for the Markdown blog posts that already live in the website project, saved back as files with no database.

← Content and publishingRead the whole edition →
01

Thinkmill/keystatic

💎 hidden gem

2.4k stars · MIT · @keystatic/core 0.6.9 on npm (2026-01-26); the GitHub releases page is empty, so npm is the only provable source

A writing screen for the Markdown blog posts that already live in the website project, saved back as files with no database.

Repo detailsthe review · specs · pros & cons · install

What it is

Keystatic is a content editor for websites built from files. You describe your post fields once in a small settings file written in TypeScript (TypeScript is JavaScript with type checking added). Keystatic builds the editing screen from that description.

Why it matters

Your site runs on Astro (Ed. 3 #4) and your docs on Starlight (Ed. 4 #4). Both keep posts as files. That is a good choice and I am not asking you to change it. What is missing is a front door. Right now writing a post and fixing a typo are the same job, and both need a code editor. Keystatic separates them. It also handles two languages properly: one entry for English, one for Russian, side by side, so you can see which one is missing. And because the settings file is TypeScript, Claude Code can write it for you and the compiler checks the result.

Stars2.4k
LicenceMIT
Latest@keystatic/core 0.6.9 on npm (2026-01-26); the GitHub releases page is empty, so npm is the only provable source
Good
  • No database and no server. The posts stay as files in your project, so there is nothing new that can break at three in the morning.
  • The settings file is checked as you write it. A misspelled field fails now, not in six months.
  • It runs on your own machine while you develop, and it can also run on GitHub so you can edit from a browser.
Watch for
  • The GitHub releases page is empty, so I checked npm instead. @keystatic/core is at 0.6.9, published 26 January 2026. That is seven months old. It works, but it is not moving fast.
  • The version number starts with a zero. That is the author's way of saying things may still change between releases.
  • Editing from a browser needs a GitHub app connected to your account. That is an extra half hour of setup and one more thing that can go wrong.
Install
cd your-astro-site
npm install @keystatic/core @keystatic/astro

Get the next edition in your inbox

A dozen repositories, opened and checked. The licence read, the last release dated, and the ones that did not make it named with the reason. It is the half most lists leave out.

No tracking pixels. One click to leave. The archive stays free either way.

We use your address to send the edition and nothing else. Confirm by email, leave in one click. How we handle it.