Hype StackHypeStack

Development Overview

This section covers how to work with the Hype Stack codebase day-to-day: the folder structure, dev workflow, and key concepts.

Repo layout after create

my-app
  • apps/
  • backend/

    Hono API, Prisma, Kysely, Valkey, S3 client

  • prisma/

    schema and migrations

  • src/features/

    domain modules (grows with packs)

  • src/routes/

    thin HTTP routers

  • src/jobs/

    cron jobs, empty until a pack adds one

  • src/queues/

    task queues for slow work, empty until a pack adds one

  • docker-compose.yml

    Postgres, Valkey, RustFS

  • frontend/

    React 19, TanStack Router, Tailwind, HyperFetch, Electron

  • src/routes/

    file-based pages

  • src/features/

    UI modules

  • src/api/

    typed HyperFetch SDK

  • messages/en.json

    Paraglide copy, packs merge into it

  • admin/

    operator app, a placeholder home until a starter fills it

  • mobile/

    Expo, expo-router, NativeWind

  • extension/

    browser extension, Vite, MV3

  • packages/enums/

    shared enums both sides import

  • stack.json

    apps, installed packs, deploy records

  • nx.json

    task graph and caching

  • pnpm-workspace.yaml

    workspace package list

After a SaaS starter pack

Installing a starter (the free Better Auth one, or a SaaS starter on Better Auth or WorkOS) adds, among other files:

my-app
  • apps/
  • admin/src/routes/

    login, users, orgs, settings screens

  • backend/src/
  • features/auth/

    login, sessions, password flows

  • features/organizations/

    orgs, invitations, settings

  • middleware/auth/

    withAuthUser, admin guards

  • middleware/permissions/

    hasAccess + CASL

  • frontend/src/routes/
  • (private)/

    auth-gated app shell

  • onboarding/

    create or join an org

  • login/

    sign-in screens

Feature packs (billing, teams, notifications, projects) add more modules under the same trees. See Authentication and Organizations.

Dev loop

Start everything with one command:

bash
pnpm dev

This runs every serve target through Nx with hot reload: the backend on port 3000, the frontend on port 4200, the admin app and extension on their own Vite ports, and Metro for the mobile app.

Where things live

WhatWhere
API routesapps/backend/src/routes/
Feature modulesapps/backend/src/features/
Database schemaapps/backend/prisma/schema/
Background jobsapps/backend/src/jobs/index.ts
Task queuesapps/backend/src/queues/index.ts
Translationsmessages/en.json in each app
Frontend pagesapps/frontend/src/routes/
UI featuresapps/frontend/src/features/
Shared componentsapps/frontend/src/components/
API client (SDK)apps/frontend/src/api/
Theme tokensapps/frontend/assets/styles.css
Env variables.env files in each app

In this section

The Expo app has its own page: Mobile.