contentstack-kickstart

À utiliser lors de la modification de l'utilisation du SDK Contentstack, de Live Preview, de la configuration env, ou des requêtes de contenu dans kickstart-next-ssr.

npx skills add https://github.com/contentstack/kickstart-next-ssr --skill contentstack-kickstart

Contentstack kickstart – kickstart-next-ssr

When to use

  • Editing how the stack is created or how Live Preview is wired
  • Adding or changing content types, queries, or types for entries
  • Updating environment variable names or documentation

Instructions

Entry points in this repo

FileRole
lib/contentstack.tsgetStack(), initLivePreview(), getPage() — core SDK and preview behavior
app/page.tsxServer page: reads Live Preview searchParams, applies livePreviewQuery, fetches page
components/ContentstackLivePreview.tsxClient component: calls initLivePreview() when preview is enabled
lib/types.tsTypeScript shapes for Page and nested modular blocks (matches seeded content)
app/layout.tsxImports app/globals.css and mounts <ContentstackLivePreview /> after {children}

Request isolation (getStack)

  • Always create a fresh stack per server request when handling delivery or preview on the server. See the comments in lib/contentstack.ts: a shared instance can leak Live Preview configuration across concurrent requests.
  • getPage(url, stackInstance?) accepts an optional stack so the caller can configure Live Preview on the same instance before fetching.

Live Preview (SSR)

  1. URL/query: Contentstack adds query parameters (e.g. live_preview, content_type_uid, entry_uid, preview_timestamp). app/page.tsx reads them from searchParams.
  2. Server: If live_preview is present, call stack.livePreviewQuery({ ... }) on the stack from getStack(), then pass that stack into getPage("/", stack).
  3. Client: components/ContentstackLivePreview.tsx runs initLivePreview() inside useEffect when NEXT_PUBLIC_CONTENTSTACK_PREVIEW === "true". That uses ssr: true and mode: "builder" in lib/contentstack.ts.

Content query

  • Default page fetch uses content type page, field url with QueryOperation.EQUALS, wired in lib/contentstack.ts.
  • When preview is enabled, contentstack.Utils.addEditableTags is applied to the entry for visual building.

Environment variables

Documented in README.md. All are NEXT_PUBLIC_* in this template (browser-visible). Typical set:

  • NEXT_PUBLIC_CONTENTSTACK_API_KEY
  • NEXT_PUBLIC_CONTENTSTACK_DELIVERY_TOKEN
  • NEXT_PUBLIC_CONTENTSTACK_PREVIEW_TOKEN
  • NEXT_PUBLIC_CONTENTSTACK_REGION
  • NEXT_PUBLIC_CONTENTSTACK_ENVIRONMENT
  • NEXT_PUBLIC_CONTENTSTACK_PREVIEW

Optional overrides for hosts (used internally at Contentstack) appear in lib/contentstack.ts: NEXT_PUBLIC_CONTENTSTACK_CONTENT_DELIVERY, NEXT_PUBLIC_CONTENTSTACK_PREVIEW_HOST, NEXT_PUBLIC_CONTENTSTACK_CONTENT_APPLICATION, NEXT_PUBLIC_CONTENTSTACK_IMAGE_HOSTNAME (see next.config.mjs for image host allowlist).

Dependencies

  • @contentstack/delivery-sdk — stack and queries
  • @contentstack/live-preview-utils — ContentstackLivePreview.init, types like IStackSdk
  • @timbenniks/contentstack-endpoints — region and endpoint resolution
  • isomorphic-dompurify — sanitization where used in UI

Plus de skills de contentstack

cms-assets
contentstack
Conseiller les développeurs sur l'organisation, la livraison et la transformation des assets dans Contentstack. Couvrir la structure des dossiers, les transformations de l'API de livraison d'images, la publication…
cms-branches-aliases
contentstack
Conseiller les développeurs sur l'utilisation des branches Contentstack pour le développement de contenu isolé et des alias pour des déploiements de contenu sans temps d'arrêt. Couvrir la stratégie de branche,…
cms-data-modeling-best-practices
contentstack
Guidez les développeurs pour modéliser le contenu dans Contentstack en utilisant la structure réutilisable la plus simple. La compétence explique quand utiliser les types de contenu, les références, les éléments globaux…
cms-live-preview-visual-builder-support-assistant
contentstack
Diagnostiquer et guider les implémentations de Contentstack Live Preview et Visual Builder. Retracer le contexte d'aperçu, identifier le contrat rompu et recommander le…
cms-releases
contentstack
Conseiller les développeurs sur l'utilisation de Contentstack Releases pour un déploiement coordonné et atomique de contenu. Couvrir la création de releases, la gestion des éléments, le déploiement par étapes,…
cms-roles-permissions
contentstack
Conseiller les développeurs sur la conception des rôles, des permissions, des équipes et de l'accès par jeton dans Contentstack. Expliquer les rôles intégrés, les rôles personnalisés, la fusion des permissions,…
cms-taxonomy
contentstack
Conseiller les développeurs sur l'utilisation de Contentstack Taxonomy pour la classification structurée et hiérarchique du contenu et le filtrage côté livraison. Couvre la taxonomie par rapport aux balises,…
cms-tokens-authentication
contentstack
Conseiller les développeurs sur le choix de la méthode d'authentification Contentstack et du type de jeton adaptés aux cas d'utilisation frontend, backend, d'automatisation et d'applications tierces.…