Skip to content

Under developmentMica is experimental at v0.10.0 and not ready for production.Follow the releases.

Mica 0.10.0 is available

The content editor for Astro

Astro reaches for the stars. Mica keeps your content down to earth.

Mica is the content editor for Astro, the web framework for content-driven websites. Your editors get forms. Your repository gets plain files and one tidy commit for each publish. Nobody gets a database.

How it works

One model. Forms for editors. Files for your build.

The content model connects the editor and the website. Git connects everything else.

  1. Describe your content

    Write the content model in TypeScript, next to your pages. Fields, labels, help texts and rules live in one file.

    src/mica.ts
    export const site = defineSite({  root: "./content",  collections: {    news: collection({      label: "News",      fields: {        title: text({ label: "Title", required: true }),        slug: slug({ from: "title" }),        image: media({ label: "Image", alt: "required" }),        body: richText({ label: "Text" }),      },    }),  },});
  2. Editors fill in forms

    Mica turns the model into forms. Editors save as often as they like. Nothing goes on the website until someone publishes.

  3. Publish makes one commit

    Publish commits the saved JSON, Markdoc and images to your repository, as one commit. Your build reads the files. The website never calls Mica.

    content/news/opening-hours/index.json
    -  "title": "Opening hours",+  "title": "New opening hours",   "slug": "opening-hours", commit 3f07610    New opening hours     Published-with: Mica

Two sides, one repository

Calm for editors. Plain for developers.

For editors

Clear forms with the labels and help that your developer wrote. Rich text, images, relations and lists that you can reorder. No Git words, no YAML.

  • Save as often as you like
  • See each change before you publish
  • Choose what goes on the website
  • Keep mine or use theirs when two people edit

For developers

The model is TypeScript. The content is JSON, Markdoc and images in your repository. Astro reads it at build time, with types.

  • No database, no content API, no webhook
  • Types without code generation
  • mica check in your CI
  • One reviewable commit for each publish

Agents

Your agent edits too. It saves drafts, like everybody else.

Claude Code, Cursor, VS Code or any other MCP client can read your content model and change your content. It follows the rules of the editor. A person publishes the drafts.

  • Reads the content model, and Mica checks every value
  • Saves drafts. Publishing by an agent is off, unless you turn it on
  • Sends the revision it read, so it never overwrites a newer save
  • Local: npx mica start serves the tools. Self-hosted: you opt in, and each person allows each agent
Edit with an agent
.mcp.json
{  "mcpServers": {    "mica": { "type": "http", "url": "http://localhost:6422/mcp" }  }}

Run it your way

On your laptop, or on your server.

Both edit the same files in the same repository. Start with one, and add the other when you need it.

For developers

Local editor

Runs on your machine, next to astro dev. Publish commits and pushes with your own Git credentials.

npx @micacms/editor start

What you need

  • Node.js 24 and an Astro 7 project
  • A Git repository
  • No sign-in, no account, no database
Getting started
For your editors

Self-hosted editor

One container on your server. Editors sign in through your identity provider, for example Google. Mica keeps its own Git clone.

ghcr.io/micacms/mica

What you need

  • A server with Docker Compose and one volume
  • HTTPS in front of it
  • An OpenID Connect client
  • A token that can push to the repository
Self-hosting

Is Mica for you?

Small on purpose.

Mica does a few things well. Here is what it does not do yet, so that you can choose well.

A good fit

  • A content-driven Astro website: a company site, a blog, documentation
  • One developer, and two to five people who write
  • Content in Git, as files that people can read
  • A static website with no CMS code in it

Not a good fit today

  • A preview of drafts in the self-hosted editor
  • Roles or approval steps inside the editor
  • A page builder, or editing on the page
  • Many websites from one editor
Read the scope and non-goals

Start in five minutes.

Give one prompt to your coding agent. It reads the setup guide, asks you about your content, and shows you a plan before it changes anything. Or install Mica by hand.

Read https://micacms.com/setup.md and extend this existing Astro project to work with Mica.

Read the getting started guide