Overview

Quick fixes for CMS issues only. The dev script regenerates types on the fly; you do not need to restart after schema or env changes. Restart only when you want to generate and commit tina/tina-lock.json for deployment.

Quick checks

  1. Paths in collections must match folders under content/*.
  2. Filenames should be lowercase with hyphens; avoid spaces.
  3. Required fields in the schema must be present in new items.
  4. Template names in content must match the template keys.
  5. Keep NEXT_PUBLIC_APP_URL correct for previews and SEO.

Slugs and nesting

The slug is derived from folders and filename. For nested navigation, create a top file (for example cms.mdx) and a folder with the same name (cms/*) for its subpages. Avoid duplicate slugs at the same level.

tina-lock.json for deploys

Production builds need the generated lock file. Run the dev script once locally to produce tina/tina-lock.json, commit it, and push.

npm run dev
git add tina/tina-lock.json
git commit -m "chore: add tina lockfile"
git push