The /tina
folder is where you configure the content models, datalayer (hosting), content repo, queries and other settings important to TinaCMS.
It normally sits at the root of your repo, but other options are available.
tina/├── config.{ts,tsx,js}├── queries/ <!--optional-->├── ߺߺgeneratedߺߺ/ <!--created at runtime-->│ ├── ߺgraphql.json│ ├── ߺlookup.json│ ├── ߺschema.json│ ├── frags.gql│ ├── queries.gql│ └── schema.gql└── tina-lock.json <!--created at runtime-->
The
tina-lock.json
must be checked into source control and pushed to your repo. It contains a compiled schema used to resolve content documents. Runtinacms dev
locally to trigger an update to this file.
config.{ts,tsx,js}
contains the schema (content model), as well as the Tina configuration object. See the config doc for more details.
The queries/
folder is optional and is used by the client for retrieving data. Most data fetching cases will be covered by queries auto-generated by TinaCMS.
Defining additional queries here will attach them to the same query object as those in __generated__/queries.gql
.
During the build process, Tina generates a number of files in __generated__/
.
Changes made to this directory won't be persisted.
You should ignore this directory from your git repository.
The Graphql AST (represented in JSON).
This is a lookup file that is used to resolve document names.
The Graphql Schema AST (represented in JSON).
Stores all the generated typing for your schema.
Import this file to use strict typing in your project.
The generated data fetching client.
This lightweight client can be used on the backend and the frontend.
Usage instructions for the client can be found in the querying content section.
Contains raw GraphQL fragments used by the data fetching client.
Contains raw GraphQL queries used by the data fetching client.
Contains a GraphQL variant of your schema.
© TinaCMS 2019–2025