
Your content lives in Git
The defining choice in TinaCMS is where your content is stored. Instead of a hosted database, your content is a set of Markdown, MDX, and JSON files in your repository. When an editor saves, Tina writes the file and commits it. That single decision shapes nearly everything else about the workflow.
What you get for free
Because your content is just files under version control, it inherits the tools you already trust for code:
- History and blame. Every change has an author, a timestamp, and a diff. You can see who changed a headline and revert it in seconds.
- Branches and previews. Draft a campaign on a branch, open a pull request, and review the rendered result on a deploy preview before it touches production.
- No lock-in. Your content is portable Markdown. If you ever move off Tina, the files are right there, readable without any export step.
- One source of truth. Code and content travel together, so a deploy is always a consistent snapshot of both.
How a save flows
The path from edit to published is short and legible:
- An editor changes a field in the Tina sidebar.
- Tina writes the value to the underlying file.
- The change is committed to Git, locally in dev or through TinaCloud in production.
- Your host rebuilds from the new commit, and the change goes live.
The trade you are making
A Git-backed model is not a database, and that is the point. You get auditability, review, and portability instead of arbitrary real-time queries. For a content site, a blog, docs, or marketing pages, that trade is almost always the right one, and it is exactly what this starter is built around.
If you are writing that content by hand, it helps to know how Markdown and MDX render through Tina.