Editing on the page, or in forms
TinaCMS shows the site and the editor side by side. The page updates in real time in React, and a click on an element opens its form. This works in Astro too, but each page is wired by hand: the tina() integration, requestWithMetadata() loaders, an island registry and route, TinaIsland and tinaField() in components. It suits editors who think in pages.
In Mica, the form is where editors work. The real Astro page sits beside it, with the drafts in it, about 1-2 seconds after typing stops. A click on the page moves the cursor to the field. Mica edits no text on the page itself, and it has no page builder. The templates need one integration, micaPreview(), and no other change. It suits editors who think in fields, and teams that do not want to touch each template.
How Astro reads the content, and what is indexed
In Mica, the files in Git reach Astro as Content Collections, with types. The Tina guide for Astro uses a generated GraphQL client instead, not Content Collections. In both, the files stay the source of truth.
TinaCMS adds a Data Layer: a GraphQL API backed by a database that its documentation calls an ephemeral cache of your files. TinaCloud hosts it, or you run MongoDB or Redis/Vercel KV. A content index is not by itself a runtime dependency of the website. The Tina documentation does not say whether a published Astro site queries the index, so check how you build your pages. Mica has no index and no database in the editor, and the published website never calls Mica.
Hosting, Git hosts and review
TinaCloud runs the backend for you, with plans and search. Self-hosted TinaCMS needs a backend function, a database adapter, a Git provider and an auth provider. The Editorial Workflow (Business plan and up) puts edits on a branch with a draft pull request.
Mica has no hosted offering. It runs as a local editor, or as one container that you run, with OpenID Connect sign-in and no database. It reads and writes a Git clone, so any Git host can work. Forgejo is tested in CI, and github.com and gitlab.com are in use. Mica has no review step in the editor: a team can review with a staging branch and a second Mica.
Equal, or not documented
- Both keep content as files in Git, use a TypeScript model and have an official Astro package.
- Content in a Git submodule: the TinaCMS documentation does not say.
- Entries that link to a JSON or CSV file of reference data: the TinaCMS documentation does not say.
- Git LFS: the TinaCMS documentation does not say. It names limits of the GitHub API.
- Localization: TinaCMS documents two patterns, by directory or by field, and no locale switcher. In Mica, a field has a value for each language, and the editor has a language switcher.