Platform starter

Build content-driven sites

A Turborepo monorepo with Sanity CMS, shared design tokens, and a block pipeline — ready to customise for your next marketing site.

Quick start

Run the monorepo

Three commands to get web and studio running locally.

Terminal

$ pnpm install
$ cp .env.example .env.local
$ pnpm dev

Web at localhost:3000, Studio at localhost:3333.

Monorepo

What's inside

Apps you deploy and packages shared across the workspace.

Apps

  • apps/web

    Next.js marketing site (this app)

  • apps/studio

    Sanity Studio CMS

Packages

  • @spark/design-system

    Neutral tokens, typography, utilities

  • @spark/ui

    Shared React primitives and providers

  • @spark/sanity

    Schema, GROQ queries, generated types

  • @spark/cms

    Block mappers (Sanity → UI props)

  • @spark/utils

    Pure helpers

Onboarding

Next steps

Work through these in order to go from scaffold to first CMS page.

  1. Configure Sanity

    Copy .env.example to .env.local and add your project ID and dataset.
  2. Open Studio

    Create site settings, navigation, and your first page.
    localhost:3333
  3. Create a CMS page

    Pages you create in Studio render at /[slug] via the block pipeline. See apps/web/CONTEXT.md.
  4. Customise this homepage

    Edit apps/web/src/components/page/starter-homepage.tsx or replace it with CMS-driven pages at other routes.

Reference

Resources

Reference material for tokens, architecture, and agent workflows.

Design systemBrowse tokens, typography, and utilities
DocumentationRead docs/architecture.md and AGENTS.md in the repo root.