πŸ“¦ nrjdalal / zerostarter

A modern, type-safe, and high-performance SaaS starter template built with a monorepo architecture.

β˜… 37 stars β‘‚ 9 forks πŸ‘ 37 watching βš–οΈ MIT License
πŸ“₯ Clone https://github.com/nrjdalal/zerostarter.git
HTTPS git clone https://github.com/nrjdalal/zerostarter.git
SSH git clone git@github.com:nrjdalal/zerostarter.git
CLI gh repo clone nrjdalal/zerostarter
Neeraj Dalal Neeraj Dalal chore: update deps cfbd409 5 hours ago πŸ“ History
πŸ“‚ canary View all commits β†’
πŸ“ .claude
πŸ“ .cursor
πŸ“ .github
πŸ“ .vscode
πŸ“ api
πŸ“ packages
πŸ“ web
πŸ“„ .coderabbit.yaml
πŸ“„ .dockerignore
πŸ“„ .env.example
πŸ“„ .gitignore
πŸ“„ .infisical.json
πŸ“„ .oxfmtrc.jsonc
πŸ“„ AGENTS.md
πŸ“„ AUDIT.md
πŸ“„ bun.lock
πŸ“„ CHANGELOG.md
πŸ“„ lefthook.yml
πŸ“„ LICENSE.md
πŸ“„ package.json
πŸ“„ README.md
πŸ“„ turbo.json
πŸ“„ README.md

ZeroStarter - The SaaS Starter

A modern, type-safe, and high-performance SaaS starter template built with a monorepo architecture.

[!IMPORTANT]
ZeroStarter is currently in Release Candidate (RC) status. All implemented features are stable and production-ready. We're actively adding new features and integrations day-by-day.

βš™οΈ Architecture and Tech Stack

[!NOTE]
For detailed information about the architecture and tech stack, see the Architecture documentation.
Graph Build

This project is a monorepo organized as follows:

.
β”œβ”€β”€ api/
β”‚   └── hono/      # Backend API server (Hono)
β”œβ”€β”€ web/
β”‚   └── next/      # Frontend application (Next.js)
└── packages/
    β”œβ”€β”€ auth/      # Shared authentication logic (Better Auth)
    β”œβ”€β”€ db/        # Database schema and Drizzle configuration
    β”œβ”€β”€ env/       # Type-safe environment variables
    └── tsconfig/  # Shared TypeScript configuration

πŸ“– View full architecture β†’

πŸ—ΊοΈ Roadmap

We're actively working on integrations for AI, analytics, background tasks, email, payments, and more.

πŸ“– View detailed roadmap β†’

πŸ”₯ Why ZeroStarter?

Architecture & Best Practices as a Service β€” ZeroStarter isn't just a starter template, it's a complete blueprint for building production-ready SaaS applications with battle-tested patterns and practices.

  • Modular Architecture β€” Clean, plug-and-play packages that work independently or together. Swap components, extend functionality, or customize without breaking the system
  • End-to-End Type Safety β€” Hono RPC ensures type safety from database to frontend. Catch errors at compile time, ship with confidence
  • Clean Code Practices β€” Well-structured monorepo with separation of concerns, making it easy to understand, maintain, and scale
  • Production-Ready Performance β€” Optimized with Bun runtime and Turborepo for blazing-fast development and builds
  • Beautiful UI Out of the Box β€” Shadcn UI components with Tailwind CSS, ready to customize or use as-is
  • Enterprise-Grade Auth β€” Better Auth integration with GitHub, Google, and more β€” fully configured and ready to extend
  • Comprehensive Documentation β€” Every pattern, practice, and decision documented with Fumadocs and AI-optimized llms.txt
  • Deploy-Ready β€” Docker and Vercel configurations included, so you can ship to production in minutes, not days
πŸ“– View full why ZeroStarter? β†’

πŸ”Œ Type-Safe API Client

[!NOTE]
For comprehensive details and examples, see the Type-Safe API documentation.

This starter utilizes Hono RPC to provide end-to-end type safety between the backend and frontend.

  • Backend: Routes defined in api/hono/src/routers are exported as AppType at api/hono/src/index.ts.
  • Frontend: The client at web/next/src/lib/api/client.ts infers AppType request/response types using hono/client.
  • API Docs: Interactive API documentation available at /api/docs powered by Scalar.

Usage Example

import { apiClient } from "@/lib/api/client"

// Fully typed request and response
const res = await apiClient.health.$get()
const data = await res.json()

πŸ“– Type-Safe API documentationβ†’

πŸš€ Quick Start

# Clone the template
bunx gitpick https://github.com/nrjdalal/zerostarter/tree/main
cd zerostarter

# Install dependencies
bun install

# Set up environment variables (see docs)
cp .env.example .env

# Set up database
bun run db:generate
bun run db:migrate

# Start development
bun dev

πŸ“– Complete installation guide β†’

πŸ“š Documentation

🀝 Contributing

Contributions are welcome! Please read our contributing guidelines first.

πŸ“– View contributing guidelines β†’

πŸ“„ License

MIT License β€” see LICENSE.md for details.


⭐ Star this repo if you find it helpful, and follow @nrjdalal for updates!