Files
template-sanity/README.md
2025-09-03 19:41:57 +00:00

97 lines
2.5 KiB
Markdown

# ✨ vaporvee's Sanity Template
CLI and starter template for building modern web apps with Sveltekit, Sanity, Bun, and Shadcn UI — bundled into a single monorepo.
---
## 📦 What It Does
The `@vaporvee/template-sanity` CLI sets up a fully functional monorepo with:
***Sveltekit** for the frontend
* 📝 **Sanity Studio** CMS with custom schemas
* 🏗️ **NX Monorepo** structure (client, studio, shared packages)
* 🎨 **Shadcn UI** components and theming pre-installed
* 🧪 Preconfigured dev tools (Tailwind, TypeScript, ESLint, Prettier)
---
## 🚀 How to Use
### Setup vaporvee git private NPM registry
Create a file called `.npmrc` in your home directory with the following content:
```
@vaporvee:registry=https://git.vaporvee.com/api/packages/vaporvee/npm/
//git.vaporvee.com/api/packages/vaporvee/npm/:_authToken=<YOUR_TOKEN>
```
You can now scaffold a new project using the CLI:
```bash
bunx @vaporvee/template-sanity
```
Then follow the interactive prompts:
* Choose a project name
* Select a package manager (bun, npm, etc.)
* (Optionally) Provide a path to a favicon
After that:
* The CLI will create a Sanity project and prompt you to log in.
* It will open a GitHub repository creation screen in your browser.
* Once you confirm and hit **Enter** in the CLI again, it will push the entire project and complete setup automatically.
* You can edit your values anytime after setup in `packages/sanity-connection/index.ts`.
---
## 🗂️ Project Structure
```
apps/
client/ # Svelte frontend
studio/ # Sanity Studio CMS
packages/
ui/ # Shadcn components & design system
sanity-connection/ # Shared Sanity config and token
typescript-config/ # Shared TypeScript presets
```
All apps and packages are connected with NX workspaces.
You can run commands from the root:
```bash
bun run dev # Start client and studio in parallel
bun run build # Build all apps and packages
bun run deploy # Deploy the Sanity Studio
```
---
## 🧩 Shadcn UI
Shadcn UI is pre-installed and configured in `client`
To add components run the following inside the client folder:
```bash
bunx shadcn-svelte@latest add [component]
```
🔗 [shadcn-svelte.com/](https://shadcn-svelte.com/)
🔗 [animation-svelte.vercel.app](https://animation-svelte.vercel.app/) (without cli)
---
## 🧠 Sanity Docs
Customize your Studio or learn more about Sanity at:
📘 [shadcn-svelte.com/docs](https://shadcn-svelte.com/docs)
---
Happy building! 🚀