Files
template-sanity/README.md
2025-07-24 01:24:10 +02:00

3.7 KiB
Raw Blame History

Lumify Sanity Template

Modern web template for Next.js, Sanity Studio, and Bun, with monorepo structure and reusable UI components. 🚀


🧩 Features

  • Next.js (App Router, TypeScript, Tailwind CSS)
  • 📝 Sanity Studio (custom schemas, live preview, type generation)
  • 🏗️ Monorepo (TurboRepo, packages for UI and Sanity connection)
  • 🎨 Reusable UI components

🗂️ Project Structure

apps/
  client/         # Next.js frontend app
    src/
      app/        # App router pages & layouts
      components/ # React UI components
      lib/        # Utility functions
    public/       # Static assets
  studio/         # Sanity Studio (CMS)
packages/
  sanity-connection/ # Shared Sanity config/utilities
  typescript-config/ # Shared tsconfig presets
  ui/                # Shared UI components

🏁 Getting Started

1 Sanity Project Setup

  1. Create a new project at sanity.io

  2. Copy your Project ID for later

  3. In Sanity, set up the following CORS origins:

    URL Status
    https://example.vercel.app Not Allowed
    http://localhost:3000 Not Allowed
    https://*.api.sanity.io Not Allowed
    wss://*.api.sanity.io Not Allowed
    https://example.sanity.studio Allowed
    http://localhost:3333 Allowed
  4. Create a token with Viewer permissions (for live preview):

    Name Permissions
    Main Token (Copy it for the next step) Viewer

2 Configure the Repo

Edit packages/sanity-connection/index.ts and fill in:

  1. pageTitle Name for your Sanity Studio
  2. publicViewerToken The token from above
  3. studioHost Lowercase, no special chars (e.g. myproject)
  4. studioUrl https://<studioHost>.sanity.studio
  5. projectId From Sanity project settings
  6. previewUrl Your website URL (http://localhost:3000 for local dev)

💻 Local Development

Install dependencies (from the root):

bun install

Start all apps (Next.js and Sanity Studio) in parallel from the root:

bun run dev

You do not need to cd into any subdirectory—TurboRepo will handle running the correct scripts in each package/app.


🛠️ Useful Scripts

Script Description
bun run dev Start dev server (client/studio)
bun run build Build app/studio
bun run deploy Deploy Sanity Studio
bun run generate Generate Sanity types

🚢 Deployment

To deploy Sanity Studio:

bun run deploy

🧬 Type Generation

To generate types from your Sanity schemas:

bun run generate

on github

🚀 Use This Template

Easily kickstart your own project with this template on GitHub:

  1. Go to the repository page on GitHub.

  2. ⤴️ Click the "Use this template" button (top right) and select "Create a new repository".

  3. 📝 Fill in your new repository details and click "Create repository from template".

  4. ⬇️ Clone your new repository:

    git clone https://github.com/your-username/your-repo-name.git
    cd your-repo-name
    
  5. 📦 Install dependencies and start development:

    bun install
    bun run dev
    
  6. 🛠️ Follow the Getting Started steps above to configure your Sanity project and environment.

Happy building! 🎉