> ## Documentation Index
> Fetch the complete documentation index at: https://docs.tuturuuu.com/llms.txt
> Use this file to discover all available pages before exploring further.

# CMS Site Contract v1

> The default reusable content and delivery contract for CMS-backed sites.

## Purpose

Use the CMS site contract for new CMS-backed websites. It is the global version
1 schema, not an external-project adapter or project-specific implementation.
External apps retain their own adapter identity and carry this contract through
workspace-scoped template metadata and collection schema/profile metadata.

Backend routes and database objects retain their existing `external-project*`
names for compatibility. Normal CMS UI should use editor-facing site and
content language.

## Standard Collections

The v1 contract starts with `site-settings`, `navigation`, `pages`, `posts`,
`taxonomies`, `landing-sections`, `redirects`, and `media-assets`. Apps may add fields and
collections through the manifest schema without creating another adapter.

The optional `template` object is versioned independently:

```json theme={null}
{
  "kind": "wordpress-replacement",
  "version": 1,
  "editor": {},
  "publicDelivery": {}
}
```

Template metadata is persisted on the workspace binding. It is returned in sync
snapshots and public delivery, but it does not create content diff operations or
destructive changes.

## Public Consumption

The Tuturuuu SDK exports `buildCmsSiteManifest` and
`normalizeCmsSiteDelivery`. The builder creates the standard schema. The
delivery normalizer indexes collections by slug and resolves relative asset
URLs against the public platform origin supplied by the consumer.

Public sites should consume read-only delivery and keep a static fallback for
availability during migration. Do not place site control secrets in public
runtime configuration.

## Migration Safety

Keep the existing site, administration routes, and realtime endpoints
authoritative while mirroring is introduced. Validate imports, reverse replies,
idempotency, retry after platform outage, and health checks on preview or local
canaries first.

Production authority or routing must not switch until the operator explicitly
approves cutover after deployed verification. A healthy bridge is a prerequisite,
not cutover approval. Rollback must restore direct legacy routing without a
database migration.

Visitor context such as route history or network information belongs in
access-controlled dynamic JSON metadata. Do not add fixed columns that reveal
or imply a particular category of confidential data.
