Celestia Starter
A modern full-stack monorepo starter built with Next.js 16, Hono, Better Auth, and Drizzle ORM
Celestia Starter is a production-ready monorepo template with a decoupled architecture: a Hono backend that owns the data and auth, and a Next.js frontend that is pure UI.
Tech Stack
- Next.js 16 — Frontend (pure UI), App Router
- Hono — Standalone backend API (owns DB + auth + business logic)
- Better Auth — Email/password + OAuth authentication (runs on the backend)
- Drizzle ORM — Type-safe PostgreSQL queries and migrations
- Hono RPC — End-to-end typed API calls from frontend to backend
- Tailwind CSS v4 + @celestia-project/ui — Utility-first styling with 150+ accessible components
- Turborepo + pnpm workspaces — Fast monorepo builds and workspace management
Project Structure
celestia-starter/
├── apps/
│ ├── web/ # Next.js frontend (pure UI, landing, showcase, docs)
│ │ └── content/docs/ # Documentation pages (MDX)
│ ├── api/ # Hono backend (auth + data + business logic)
│ └── mobile/ # Expo showcase app for @celestia-project/mobile
├── packages/
│ ├── db/ # Drizzle schema + client (backend-only)
│ ├── ui/ # Shared component library (Base UI + Tailwind v4)
│ ├── mobile/ # Native components (@expo/ui for iOS & Android)
│ ├── cli/ # @celestia-project/create CLI package
│ ├── feature-manager/ # CLI & installer engine for modular features
│ ├── eslint-config/ # Shared ESLint flat-config presets
│ └── typescript-config/ # Shared TypeScript configsGetting Started
# Using the CLInpx @celestia-project/create my-app
# Or clone manuallypnpm installpnpm --filter @workspace/db db:push # create the database schemapnpm dev # starts web (port 1212) + api (port 4000)Features
CLI
Scaffold a new project interactively with npx @celestia-project/create
Packages
Shared workspace packages for UI, mobile, database, linting, and config
Mobile (Expo)
Native iOS & Android components built on @expo/ui — primitives, composites and full-screen layout shells
Desktop (GPUI)
Native Rust desktop components on GPUI Kit — Celestia tokens as a compile-time theme, family re-exports over gpui-component
Desktop State
zustand-style stores and React-context-style ambient values for GPUI — actions, selector-gated subscriptions, and testing
Desktop Components
40+ new primitives and composites — chips, meters, wizard, terminal, tasks, and more
Desktop Bridge
HTTP bridge from GPUI desktop UI to the Hono backend — health, auth cookies, and posts
Design System
OKLCH design tokens, Base UI primitives, and external project integration
Theming
Centralized theme system — light/dark mode, accent palettes, and corner radius
UI Components
150+ accessible components across primitives, composites, layouts, and AI
AI Components
Comprehensive suite of 54 AI primitives, prompt bars, tools, and agent workflows
Templates
32 copy-ready page templates and 4 shells — preview at /layout and paste the source into your app
Feature Installer
The starter's installable feature system — see what ships and add it in one command
Creating Features
Scaffold, author, and install modular feature packages
Authentication
Email/password and Google OAuth with Better Auth
Backend API
Standalone Hono backend with Drizzle, auth, and typed RPC
Dashboard
Protected dashboard with sidebar, route protection, and settings
Blog (CRUD)
Full create-read-update-delete blog over the typed RPC client
User Management & Access
Admin user management with RBAC middleware and ABAC policies