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/Directory 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 configs

Getting Started

bash
# 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