drycms
v0.1.0
Published
A CMS for Astro, inspired by Keystatic. Ships the Astro integration, admin UI and visual inline editor, backed by Cloudflare R2.
Maintainers
Readme
drycms
A CMS for Astro, inspired by Keystatic. Adds an admin UI route, a content API, and a visual in-page editing toolbar to an Astro site, backed by Cloudflare R2.
Install
npm install drycmsThat's it - drycms pulls in @drycms/core (the engine) for you.
Usage
// astro.config.mjs
import { defineConfig } from "astro/config";
import drycms from "drycms/astro";
export default defineConfig({
integrations: [drycms()],
});// drystack.config.ts
import { config, collection, fields } from "drycms";
export default config({
storage: { kind: "r2" },
collections: {
posts: collection({
label: "Posts",
path: "src/content/posts/*",
slugField: "title",
schema: {
title: fields.slug({ name: { label: "Title" } }),
content: fields.content({ label: "Content" }),
},
}),
},
});Entry points
| Import | What it is |
| --- | --- |
| drycms | Config authoring API (config, collection, singleton, fields) - re-exported from @drycms/core |
| drycms/astro | The Astro integration (default export) |
| drycms/reader | Server-side content reader |
| drycms/dry | dry.item() helpers for visual inline editing |
| drycms/worker | Cloudflare Worker entry |
| drycms/cache-middleware | Edge cache middleware |
See the drystack repository for full configuration (drystack.config.ts), storage modes (r2 / demo), and deployment notes (Cloudflare Workers).
Credits
drycms is an independent project inspired by and forked from Keystatic (Thinkmill). It is not affiliated with or endorsed by the Keystatic project.
License
MIT
