Explore the marketplace of Sanity plugins

Sanity, Next.js, Turborepo, Tailwind, and Vercel — Turbo Start Sanity connects the tools you already reach for so you don't have to glue them together.

GCN
Session
Tabby
Discovery
Helix
Serch
Synacti
Teckro
Topaz Labs
Works with

Everything already talks to everything

The integrations that usually take days to configure come pre-wired and type-safe.

Sanity Studio v5

Structured schemas, the Presentation tool, and live content — configured and ready in the studio app.

Next.js 16 App Router

React Server Components, the React Compiler, and Server Actions, fetching Sanity content through a shared client.

Turborepo

A pnpm monorepo with cached task orchestration across the web, studio, and shared packages.

Tailwind CSS v4

A shared design system and component library styled with the latest Tailwind, ready to theme.

Vercel

Deploy the front end in minutes, with preview deployments that pair with Sanity's live preview.

TypeScript & TypeGen

Generated types keep your queries and components in sync with the schema across the whole repo.

Community

Share what you have plugged in

Post an integration, ask whether one exists, or borrow a setup somebody else has already proven.

FAQ

Adding to the stack

What slots in cleanly, and what to watch for when it does.

Where do shared UI components live?

Shared primitives live in the packages/ui workspace package (@workspace/ui) and follow the shadcn pattern: Radix primitives for behaviour, CVA for variants, Tailwind v4 for styling. Import them anywhere in the monorepo without copying files between apps.

Page-builder sections are separate: headless block components ship from @workspace/sanity-blocks, and the styled implementations you actually render live in apps/web/src/components/sections. Keep generic buttons and inputs in @workspace/ui, and keep anything Sanity-shaped in the sections folder.

Can I customize the components?

Yes. They use Tailwind v4 with CVA variants, and the theme tokens live in globals.css. Edit the tokens to restyle everything, or tweak a single component's variants.

How do I add a new block?

Create it in packages/sanity-blocks/src/, run pnpm type, add its GROQ fragment, and register it in the page builder. The README lists the exact steps.

Does it support multiple languages?

Not out of the box. You can add localization with a plugin like @sanity/document-internationalization, but it isn't built in.

New integrations as they land

We write whenever a new integration, block or package joins the template.

A short email now and then. Unsubscribe whenever you like.

One command to start

Bring the whole stack online

Initialize the template with the Sanity CLI and get web, studio, and shared packages running together.

Teams running this stack in production

GCN
Session
Tabby
Discovery
Helix
Serch
Synacti
Teckro
Topaz Labs