Describe
Define collections, fields, validation, labels, and editor help in one TypeScript module.
src/mica.tsUnder developmentMica is experimental at v0.2.0 and not ready for production.Follow the releases.
A focused CMS for Astro teams
Mica turns your content model into a clean editing interface. Editors draft in peace, review what changed, and publish one commit of readable JSON, Markdoc, and media. Your Astro build stays static and independent.
npm install @micacms/astro @micacms/core// One model. The editor and the build both read it.
export const site = defineSite({
collections: {
projects: collection({
label: "Projects",
fields: {
title: text({ required: true }),
slug: slug({ from: "title" }),
story: richText(),
gallery: media({ multiple: true }),
},
}),
},
});Your repository is the source of truth
Mica gives non-technical editors a good interface without putting content behind an API. The public website reads local files at build time. It stays fast, portable, and available even when Mica is offline.
generated formscontent/getCollection()HTML + CSS + assetsThe published website never contacts Mica.
From model to production
The content model connects the editor and the build. Git connects everything else.
Define collections, fields, validation, labels, and editor help in one TypeScript module.
src/mica.tsMica reads the model and gives your team generated forms, media tools, and safe validation.
JSON + Markdoc + mediaDrafts stay with the editor until Publish turns them into one commit. Your existing CI runs Astro and sends static files to any host.
publish → astro buildFor the people who write
Model-generated forms give editors the controls they need. Validation happens before an entry reaches the repository.
main · content/docs/getting-started/Small surface. Strong guarantees.
Mica removes the glue between a content editor and an Astro project. It does not add a second platform to operate.
Source of truth
Content is readable files in your repository. Every publish is one commit, ready for review, rollback, and your normal CI.
Read moreNo schema drift
One TypeScript module defines the editor, validation, file layout, Astro collections, and page data types.
Read moreCalm authoring
Give editors purpose-built fields, focused rich text, media selection, relations, and useful validation messages.
Read moreSafe collaboration
Git keeps the history. Per-entry revision checks stop stale edits without blocking people who work on different content.
Read moreNo media server
Images are repository files. Astro optimizes them at build time, so the public site does not fetch assets from Mica.
Read moreOperate less
Deploy one container. OpenID Connect gives identity, and one setting gives permission. SQLite holds sessions, but never website content.
Read moreBuilt with a point of view
Content stays in formats that people, Git, and Astro can read without Mica. There is no export step.
Keep your repository, CI, static host, and identity provider. Mica fits the path instead of replacing it.
No page builder, GraphQL layer, media server, or custom workflow. The smaller product is the more reliable product.
Ready when your repository is
Add two packages, write one content model, and open the editor. Your templates remain ordinary Astro.
Experimental · v0.2.0 · MIT