CaretCMS
Inline editing for Astro — tag what you already built, skip the schema ceremony.
The mechanic
Section titled “The mechanic”Add data-caret to any element in your template. Log in. Click. Type. Save.
<h1 data-caret="pages::home::headline">Welcome to my site</h1>That’s the authoring API. Your template text is the default until someone overrides it. Collections are created on first save — no schema files required.
On server delivery, visitors see published changes on the next request. On static delivery, publish locally and rebuild so the update lands in deployed HTML. See Static delivery.
Read in this order
Section titled “Read in this order”These pages are written as a path. If you’re new, read them top to bottom — each builds on the previous.
Quickstart Install, tag an element, ship the first edit.
Static delivery CDN deploy — bake content at build time.
Caretize CLI Wire CaretCMS and auto-tag existing markup.
Inline editing Every option for the data-caret attribute.
Schemas Three sources — registered, dynamic, inferred.
Content Studio Structured editing at /admin/cms with history.
Dynamic collections New collections from the UI without redeploying.
Live collections Query CMS data through astro:content.
Storage adapters Filesystem, in-memory, Cloudflare KV, custom.
Authentication Sessions, CSRF, production hardening.
Configuration Every caret() option in one place.
Theming Studio chrome tokens and theme packages.
Deployment Static CDN, Node, Vercel, Fly, Cloudflare Workers.
API reference HTTP routes, mutation commands, responses.
Two-minute path
Section titled “Two-minute path”If you only have a few minutes: Quickstart plus Inline editing. Adding CaretCMS to an existing site? Start with Caretize instead.