Moteur and TinaCMS

Tina and Moteur both keep content in Git. They differ on who says yes.

Tina writes Markdown and JSON into your site’s repository and commits straight to the branch. Moteur writes JSON files too, and a reviewer approves in the Studio before anything goes live. Checked on Tina’s pages.

Side by side

Eighteen points that matter for a client site. TinaCMS wins some of them. Each TinaCMS fact links to the page it comes from.

MoteurTinaCMS
Where the content livesPlain JSON files in the project’s own Git repositoryMarkdown, MDX and JSON files in your Git repository1
In GitYes: each project is its own repository, a commit per saveYes: each save is a commit, straight to the branch unless it’s protected2
Who runs itMoteur Cloud. Or host the open-source engine yourself, without the StudioTinaCloud, or host the backend yourself1
Open sourceEngine: MIT. The Studio and Moteur Cloud: not open sourceApache-2.03
Free plan1 person, 1,000 entries, 2,000 API requests a month2 people, 2 roles4
First paid planPersonal, $9 a month: 2 people, 10,000 entriesTeam, $24 a project a month, 3 people4
How it’s pricedA plan per project, with extra people, requests, credits or storage in packsPer project, with extra seats4
Review before publishingDrafts and reviews on every plan. A reviewer or admin approvesPaid plans: a save to a protected branch opens a GitHub pull request5
Working togetherOn Moteur Cloud: see who’s in which field, leave notes on fields, and no save overwrites another’sThrough Git branches and pull requests. No presence in its docs6
LanguagesAny number of languages, field by field, on every planBuilt yourself in the schema, by folder or by field7
RolesAdmin, developer, writer, reviewer, translator and billing, on every plan. No custom roles2 roles. Custom roles on Enterprise4
HistoryEvery save is a Git commit, kept as long as the repositoryYour repository’s Git history8
ImagesTransforms by URL, eight crop ratios and a focal point you setFiles in your repository or a storage provider. No transforms built in9
FormsBuilt in, with a spam folderNot built in1
APIREST, with an OpenAPI document per site. No GraphQLGraphQL, generated from your schema10
WebhooksSigned, and retried for two hours if your server is downYes, per branch, on TinaCloud11
AI agents (MCP)Official and hosted: agents draft, and a person approves before anything goes liveNo official MCP server12
Writing help (AI)Off until an admin turns it on. Credits on every plan, from 10 a monthListed as coming soon4

Checked 26 October 2026. From TinaCMS’s own pages. If something there has changed, tell us and we’ll fix it here.

The night shift

One typo, two roads

Fixing a typo is easy. Fixing a typo without deleting a row is harder. Watch it happen twice.

Marguerite Fontaine fixes a typo in the pricing table, and deletes a row by accident.

TinaCMS

  1. Saves
  2. Commits to main
  3. Your host rebuilds
  4. Live, row missing

Moteur

  1. Saves a draft
  2. Asks for a review
  3. Céleste spots the missing row
  4. Live, row back

On Tina’s paid Editorial Workflow, a protected branch turns the save into a GitHub pull request instead. Someone still has to read the diff.

Which one fits

Who’d you pick?

Seven situations from agency life. Guess, then see where we’d honestly send you. Sometimes it’s a draw.

  1. Théo · Builder

    A developer’s blog in Markdown, written by the developer.

    TinaCMSTina edits your Markdown in place, in your repo. Lovely.

  2. Marguerite · Writer

    Writers who want to see the page as they type, on a React site.

    TinaCMSTina’s visual editing does just that, in open source.

  3. Louise · Admin

    A client team of six: two writers, a translator, a reviewer, an admin and the person who pays.

    MoteurEight roles, on every plan. Tina has two until Enterprise.

  4. Céleste · Reviewer

    Nothing goes live until legal reads it.

    MoteurReviews happen in the Studio, not in a GitHub pull request.

  5. Claude · AI agent

    An agent drafts the product pages.

    MoteurMoteur’s MCP server is hosted, and agents’ drafts wait for a person. We found no official one for Tina.

  6. Sophie · Writer

    The content must live in Git, full stop.

    TieBoth keep it there, a commit per save. Tina in your site’s repository, Moteur in one of its own.

  7. Céleste · Reviewer

    Two writers open the same article at 4:55 pm on a Friday.

    MoteurTina leaves it to Git branches. Moteur shows who’s in which field, as it happens.

Our honest count: Moteur 4, TinaCMS 2, ties 1.

Moving day

Moving from TinaCMS

No one-click importer yet. Here’s how it’s done today, with the tools that exist, and what’s coming.

  1. Works today

    Pack up TinaCMS

    Nothing to export: your content is already Markdown, MDX and JSON in your repository.

  2. Works today

    Shape the models

    Write each model as JSON and create it from the command line. Or let an agent do it through MCP. It reads a sample of the export and proposes the models. You look them over in the Studio.

    moteur models create --file models/article.json
    moteur models create --file models/author.json
  3. Works today

    Bring the content

    A short script turns the export into one import bundle: models, files and entries. The command line brings it all in, or nothing if one thing fails. Or point an agent at the repository: it reads the Markdown and writes drafts through Moteur’s MCP server, and they wait for a person.

    # the export reshaped into one bundle: models, files, entries
    moteur imports run site.json --dry-run   # check it all, keep nothing
    moteur imports run site.json
  4. Works today

    Review, then switch

    Everything arrives as a draft. A reviewer reads, approves, and it goes live. Then point the site at the project’s channel: one REST API, with its own OpenAPI document.

  5. Coming

    An importer for TinaCMS

    We’re writing an importer that reads a folder of Markdown, MDX and JSON and does steps 2 and 3 in one go. This page will say when it ships. Until then, the steps above work.

Questions people ask

A reader asksWe both use Git. What’s the difference?

MoteurTina’s repository is your site’s: content sits next to the code. A Moteur project is a repository of its own, served to the site through an API, and you can push it to a remote of yours.

A reader asksHow does review work in Tina?

MoteurOn paid plans, a save to a protected branch opens a GitHub pull request, reviewed and merged in GitHub. In Moteur, a writer asks for a review and a reviewer approves in the Studio.

Try it on one site.

A free project costs nothing, and its files are yours from the first save.