Skip to content

Under developmentMica is experimental and not ready for production. The API and the content format can still change, so read the release notes before you upgrade.Follow the releases.

All comparisons

Compare

Mica vs. Keystatic

Both are Git-backed, database-free editors with a TypeScript model and an Astro integration. Keystatic saves each edit as a commit on GitHub and offers an optional cloud. Mica uses plain Git with no host API, saves drafts and publishes them as one commit. Keystatic suits teams that live on GitHub.

Mica is experimental and not ready for production. It has no roles, no approval steps and no page builder.

Checked on . These products change often. Read their documentation before you decide.Website of Keystatic

Choose Mica when

  • Your content is on a Git host other than GitHub.
  • Editors should save drafts, then publish several changes as one commit with a summary.
  • Editors should see the real Astro page beside the form, with a click on the page that moves the cursor to the field.
  • Your website is multilingual, and editors translate each page in one form, with a language switcher.
  • You want to run the editor on your own machine or in a container that you run, with no GitHub App.
  • You want AI agents to save drafts through a built-in MCP server.

Choose Keystatic when

  • Your team already works on GitHub, and you want editors to save on branches.
  • Editors should review changes in GitHub pull requests.
  • You want Keystatic Cloud, so that editors need no server that you run.
  • Editors should work together in real time: Keystatic Cloud Pro has an experimental multiplayer mode.

The details

Saves, branches and publishing

In GitHub mode, each Keystatic save is one commit to the current branch. Editors can create branches, and a protected branch leads to a new branch. Review goes through GitHub pull requests. This suits teams that want every save in the history and a pull request for each change.

In Mica, a save writes a draft file. Publish makes one commit of the changes the editor chooses, with a summary. When an entry changed in the meantime, Mica shows both versions side by side, with Keep mine and Use theirs. Mica has no review step in the editor: a team can review with a staging branch and a second Mica.

Git host, hosting and working together

Keystatic GitHub mode works with GitHub only, through a GitHub App and API routes in your site. Editors sign in with GitHub. Keystatic Cloud is optional: with it, editors need no server that you run, and Pro adds an experimental real-time multiplayer mode.

Mica reads and writes a Git clone, so it makes no host API call for content. Forgejo is tested in CI. github.com and gitlab.com are in use, but not tested automatically yet. Other hosts are expected to work, but are not tested. Mica has no hosted offering: it runs as a local editor, or as a container that you run, with OpenID Connect sign-in.

Preview

Keystatic has no preview pane. A previewUrl link opens a Next.js draft-mode page after a save to a branch. Mica shows the real Astro page beside the form, with the drafts in it, about 1-2 seconds after the editor stops typing. A click on the page moves the cursor to the field, and unpublished changes get an outline. Mica edits no text on the page itself. The templates need one integration, micaPreview(), and no other change.

Localization

On 21 October 2026, the Keystatic documentation does not describe localization, and issues #1553 and #1080 are open. In Mica, a field can have a value for each language in one entry, with a fallback to another language. The editor shows one language at a time and counts the missing translations, and the preview shows the page in that language.

Equal, or not documented

  • Both keep content in Git, use a TypeScript model and have an official Astro package.
  • Neither needs a database.
  • Both are MIT-licensed.
  • Content in a Git submodule: the Keystatic documentation does not say.
  • Entries that link to a JSON or CSV file of reference data: the Keystatic documentation does not say.

Side by side

FeatureMicaKeystatic
Content in Git, and which hostsYes. Plain Git, no host API. Tested in CI: Forgejo. In use with github.com and gitlab.com. The self-hosted editor pushes over HTTPS.Yes. GitHub only; GitLab support is an open request. Local mode edits files on disk.
Hosted service, self-hostingNo hosted service. A local editor, or a container that you run.Hosted service available: Keystatic Cloud, optional. Self-hosting possible: local mode, or GitHub mode with your own GitHub App and API routes on a Node or SSR host.
Database or indexNone, for the editor and for the website.No.
Licence and priceMIT. Free.MIT. Keystatic Cloud is free up to 3 users; Pro costs from $10 a month plus $5 for each extra user.
Model written inTypeScriptTypeScript
Astro supportOfficial package. Content reaches Astro as Content Collections, with types.Yes. Official @keystatic/astro. It needs React, Markdoc and an SSR adapter. Content comes through Content Collections or the Reader API.
Sign-in for editorsLocal: none, only on your machine. Self-hosted: any OpenID Connect provider.GitHub App OAuth. Editors need write access on GitHub, or a fork path.
Save and publishA save writes a draft. Publish makes one commit of the changes the editor chooses.Each save is one commit to the current branch. Editors can create branches. A protected branch leads to a new branch. No batch publish is documented.
Preview and visual editingThe real Astro page beside the form, with the drafts. A click moves the cursor to the field. Self-hosted: with an optional preview container. No editing on the page.No preview pane. A previewUrl link opens a Next.js draft-mode page after a save to a branch; the documented recipe is for the Next.js App Router. Issues #1071 and #1447 are open.
Git LFS for large filesYes, local and self-hosted.Not supported. Pull request #1514 is open.
Content in a Git submoduleYes.Not documented.
External data (products, places, codes)Yes. Entries link to items of a JSON or CSV file that Mica does not edit.Not documented. The relationship field links to entries by slug.
Map fieldYes. It stores latitude, longitude and zoom.No map field is documented.
Localization (i18n)Yes. A field has a value for each language in one entry, with fallbacks. The editor shows one language at a time, and the preview follows it. No machine translation.Not documented as a feature. Issues #1553 and #1080 are open.
Roles and reviewNo roles. Review with a staging branch and a second Mica.No roles of its own. GitHub permissions apply. Review goes through GitHub pull requests.
AI agentsMCP server built in, local and self-hosted. Agents save drafts. Publishing by an agent is off by default.Not documented. The documentation mentions no MCP server and no agent support.

Sources

Checked on October 21, 2026. These products change often. Read their documentation before you decide.