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
- apps/
- backend/Hono API, Prisma, Kysely, Valkey, S3 client
Hono API, Prisma, Kysely, Valkey, S3 client
- prisma/schema and migrations
schema and migrations
- src/features/domain modules (grows with packs)
domain modules (grows with packs)
- src/routes/thin HTTP routers
thin HTTP routers
- frontend/React 19, TanStack Router, Tailwind, HyperFetch, Electron
React 19, TanStack Router, Tailwind, HyperFetch, Electron
- src/routes/file-based pages
file-based pages
- src/features/UI modules
UI modules
- src/api/typed HyperFetch SDK
typed HyperFetch SDK
- packages/shared types, utils, configs
shared types, utils, configs
- docker-compose.ymlPostgres, Valkey, object storage
Postgres, Valkey, object storage
- stack.jsonapps, installed packs, deploy records
apps, installed packs, deploy records
- nx.jsontask graph and caching
task graph and caching
- pnpm-workspace.yamlworkspace package list
workspace package list
After a SaaS starter pack
Installing WorkOS or Better Auth adds (among other files):
- apps/
- admin/operator dashboard on its own Vite app
operator dashboard on its own Vite app
- backend/src/
- features/auth/login, sessions, password flows
login, sessions, password flows
- features/organizations/orgs, invitations, settings
orgs, invitations, settings
- middleware/auth/withAuthUser, admin guards
withAuthUser, admin guards
- middleware/permissions/hasAccess + CASL
hasAccess + CASL
- frontend/src/routes/
- (private)/auth-gated app shell
auth-gated app shell
- onboarding/create or join an org
create or join an org
- login/sign-in screens
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:
pnpm devThis runs both the backend and frontend dev servers through Nx, with hot reload on both sides. The backend runs on port 3000, the frontend on port 4200. After a starter pack, the admin app starts too.
Where things live
| What | Where |
|---|---|
| API routes | apps/backend/src/routes/ |
| Feature modules | apps/backend/src/features/ |
| Database schema | apps/backend/prisma/ |
| Frontend pages | apps/frontend/src/routes/ |
| UI features | apps/frontend/src/features/ |
| Shared components | apps/frontend/src/components/ |
| API client (SDK) | apps/frontend/src/api/ |
| Theme tokens | apps/frontend/assets/styles.css |
| Env variables | .env files in each app |
In this section
- Commands
- Monorepo
- E2E typesafety
- Observability
- AI Overview
- Working with AI
- Troubleshooting
- Upgrading
- Testing
The Expo app has its own page: Mobile.
Every purchase and sponsorship funds my 8+ years of work on open source given freely to the community. It keeps the lights on, funds new packs, and keeps the ecosystem alive. Even a small tier means a lot. Thank you!
