Where Does Keystatic Store Content?
Keystatic stores content as YAML and Markdoc files in the repo, at collection paths set in keystatic.config.ts.
Last updated
Keystatic has no database. Content is files in your git repo: YAML for fields, Markdoc or MDX for document bodies. The keystatic.config.ts file at the project root maps each collection to a path pattern with a slug wildcard, defaulting to a folder named for the collection.
Images follow their own rule and can target public while entries stay in content. Storage kind (local, GitHub, cloud) changes how the admin UI reads and writes, never where the files conceptually live. Backing up the repo backs up the CMS.
Where Keystatic stores this, by platform
./content
Default collection home when path patterns point here. Each slug gets YAML plus asset files per the trailing slash rule in config.
./keystatic.config.ts
Project root schema file. Defines storage kind, collections, singletons, and per collection path patterns with slug wildcards.
Frequently asked questions
Where did my Keystatic entries go in the repo?
Read the path option on each collection. Entries land where the pattern says, with images optionally redirected to public independently of entry paths.
What does the trailing slash in a path change?
End the path with a slash for one directory per slug with index files inside. Without it, entries sit as sibling files next to their asset folders.
How do I scope Keystatic to a monorepo subfolder?
Use the storage pathPrefix option to scope every collection under one subtree. Handy for monorepos where docs live beside component packages.
Notice an outdated path? Let us know.