> [Agent navigation index](/llms.txt)

# Contentful

Brix connects Contentful to server-rendered sites and browser-only Contentful Apps without exposing CMS resource shapes throughout an application. Generate model types, read through typed clients, render composed entries through adapters, preview drafts safely, and invalidate delivery caches from verified webhooks.

## Choose a workflow

- [Generate Contentful types](/docs/contentful-typegen) — create the deterministic `ContentTypeMap` and use resource types and guards.
- [Use Contentful clients](/docs/contentful-client) — configure Delivery, Preview, and Management access; query entries and assets; cache reads; and run incremental sync.
- [Render Contentful entries](/docs/contentful-rendering) — isolate CMS fields in adapters and provide visual, Rich Text, and semantic Markdown projections.
- [Enable Contentful Live Preview](/docs/contentful-preview) — configure the protected preview route, inspector mode, and safe loader fallbacks.
- [Receive Contentful webhooks](/docs/contentful-webhooks) — verify signatures and invalidate native delivery caches after publishing changes.
- [Build Contentful Apps](/docs/contentful-apps) — create a managed React App SDK and Forma 36 project, then build and upload it.

## Recommended site setup

Use a CMA token only while generating types. At runtime, create a request-derived Delivery client with a CDA token and a shared server data cache. Keep Preview credentials in server configuration, and register every cached Delivery client that a signed webhook should invalidate.

Contentful entries can travel through page props and islands, but conventional `*.adapter.tsx` modules own access to `fields` and `sys`. Ordinary components receive application props instead. This keeps the content model at the integration boundary and lets the same adapter provide visual rendering, Live Preview behavior, and agent-readable Markdown.

Use [translations](/docs/translations) when Contentful backs a source-neutral translation loader, [caching](/docs/caching) for shared stores and cache policy, [results](/docs/results) for expected client failures, and [environment](/docs/environment) for secrets.
