Skip to content

LonghornTaco/mockingbird-example

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

35 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Mockingbird Example: North Star Outfitters

A self-contained example site demonstrating Project Mockingbird - a local YAML-based CM shim that runs Sitecore Content SDK projects without a full XM Cloud stack (no CM, SQL Server, SOLR, Identity Server).

The site is North Star Outfitters, a fictional outdoor-gear company. It exercises the kinds of templates and components a real customer site would have - a home page, a handful of landings, and detail pages of several different shapes (products, guided trips, retail stores, field-guide articles).

What this example demonstrates

  • 50 content pages across a single Headless SXA site: 1 home + 1 about + 1 contact + 6 landings (Hiking, Climbing, Paddling, Trips, Stores, Field Notes) + 41 detail pages.
  • 4 detail-page shapes, each with its own template + matching React component: Product, Trip, Store, Article.
  • All-API authoring - no hand-written YAML. Content was authored against Mockingbird's HTTP API (POST /api/items, PUT /api/items/{id}) from Node scripts.
  • Project configured with two content layers - a platform layer for templates, renderings, and site shape; a content layer for the actual page content + media library. Items that belong to both layers (e.g. Home) deduplicate by ID at runtime.
  • Modern head app - Next.js App Router with Content SDK 2.1, Tailwind v4 plus custom BEM CSS.

Stack

Four containers, Linux only:

Service Image Role
traefik traefik:v3.0 TLS-terminating reverse proxy.
mockingbird projectmockingbird/mockingbird:latest Content-authoring server + GraphQL layout endpoint.
rendering locally built from headapps/mockingbird/ Next.js head app in dev mode.
hostswriter rahnemann/windows-hosts-writer:2.1-linux Keeps northstaroutfitters.local resolvable on the Windows host.

That's the whole stack. No CM, SQL Server, EDB, marketplace, identity, or Solr - that is the point of running against Mockingbird.

Quick start

Prereqs: Docker Desktop (Linux containers), PowerShell, Node 24+ (only needed for the helper scripts in scripts/).

# One-time: install a local mkcert CA and emit a SAN cert
.\start.ps1 -Init

# Bring the stack up
.\start.ps1

# Stop everything
.\stop.ps1

Endpoints once the stack is up:

After that, /api/status reports state: ready and the site renders.

Repository layout

config.mockingbird            project registry; declares the two layers (platform + content)
sitecore.json                 platform layer SCS root
authoring/
  items/
    *.module.json             platform modules (tenant + site shape)
    items/                    serialized templates, renderings, settings, presentation
content/
  sitecore.json               content layer SCS root
  *.module.json               content modules (pages + media)
  items/                      serialized page content + media library
headapps/
  mockingbird/                Next.js head app (App Router, Content SDK 2.1, Tailwind v4)
docker/                       compose file, rendering Dockerfile, traefik config, mkcert helper
scripts/                      (gitignored) authoring helpers - generate-pages, fetch-media, ...
start.ps1 / stop.ps1          stack operators
RUNBOOK.md                    operator-facing daily ops + troubleshooting

For daily operations, restart-when matrices, and recovery sequences (Mockingbird cache poisoning, Next.js dev-cache wipes, project-state loss), see RUNBOOK.md.

Origins

This repository was bootstrapped from Sitecore's xmcloud-starter-js template and then specialized for Mockingbird: the examples/ directory was removed, an empty Content SDK app was generated at headapps/mockingbird/, the docker stack was retargeted at Mockingbird, and the site shape + content were built up via Mockingbird's HTTP API. Some upstream artifacts (CI configs, AI-assistant rules, contribution guides, etc.) remain in the tree from the original template and are not actively maintained here.

License

See LICENSE.MD.

About

No description, website, or topics provided.

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors