Hype StackHypeStack

Installation

Three tools have to exist on your machine before anything else works: Node, pnpm, and Docker. Everything after that is four commands.

For the rest of the setup surface, see Commands (scripts), Onboarding (pack env walkthrough), and Env variables (full catalog).

Prerequisites

ToolVersionWhy
Node.js20 or newerRuns the backend, the frontend dev server, and the CLI.
pnpm9 or newerThe monorepo uses pnpm workspaces. npm and yarn will not resolve it.
DockerAny recentRuns Postgres and Valkey locally so you do not install databases by hand.

Node.js

Check what you have:

bash
node --version

If it prints anything below v20, install a current version. On macOS and Linux the least painful route is a version manager, because you will want to switch versions eventually:

bash
# macOS / Linux
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash
nvm install 22
nvm use 22

On Windows, install from nodejs.org or use nvm-windows.

pnpm

Node 20+ ships with Corepack, which is the tidiest way to get pnpm:

bash
corepack enable
corepack prepare pnpm@latest --activate
pnpm --version

If Corepack is unavailable, npm install -g pnpm works too.

pnpm is not optional

The repo is a pnpm workspace. Running npm install in it will produce a broken node_modules and a lockfile that conflicts with everyone else's. If pnpm --version fails, stop here and fix that first.

Docker

Install Docker Desktop on macOS or Windows, or Docker Engine on Linux. Start it and confirm the daemon is up:

bash
docker info

Docker only runs Postgres and Valkey for local development. If you already have a Postgres you want to use, you can skip Docker and point DATABASE_URL at it instead.

Create the project

bash
npx @hype-stack/cli create my-app
cd my-app

The CLI asks which AI assistants your team uses and writes the agent rules in each tool's own format. Tick as many as you need. Pass --editor cursor,claude,codex to skip the question; the valid values are cursor, t3code, claude, codex, copilot, opencode, and windsurf.

Install dependencies

bash
pnpm install

One lockfile covers the whole monorepo: backend, frontend, admin app, and shared packages.

Start the databases

bash
docker compose up -d

This starts Postgres and Valkey on ports scoped to this project, so several Hype Stack projects can run side by side without colliding.

Check they came up:

bash
docker compose ps

Set environment variables

bash
cp apps/backend/.env.example apps/backend/.env
cp apps/frontend/.env.example apps/frontend/.env

The defaults point at the Docker containers you just started, so the app boots as-is. You only need to edit these when you add a pack that talks to a third party, and the CLI tells you which variables it needs when that happens. See Env Variables for how they are typed and validated.

Run migrations

bash
pnpm --filter @hype-stack/backend prisma:migrate

This creates the tables and generates the Prisma client that Kysely types its queries against.

Start everything

bash
pnpm dev
AppURL
Frontendhttp://localhost:4200
Backendhttp://localhost:3000

Both run with hot reload. For the Electron desktop build instead of the browser:

bash
pnpm --filter @hype-stack/frontend start:app

Same codebase, native window.

Verify

Before you move on, confirm the stack is actually healthy:

  1. Open the frontend at http://localhost:4200 and confirm it loads.
  2. Hit the backend health check: curl http://localhost:3000/ping (or open it in a browser).
  3. Run a typecheck from the repo root:
bash
pnpm typecheck

If those three pass, the workspace is wired correctly.

PageWhen you need it
CommandsFull list of pnpm / Nx scripts
OnboardingFill .env after installing packs
Env variablesTyped catalog of backend and frontend keys
TroubleshootingCommon failures by area

When it does not work

docker compose up fails with a port already in use. Something else is on the Postgres or Valkey port. Either stop it, or change the host port in docker-compose.yml, then update DATABASE_URL to match.

Migrations fail to connect. The containers are probably still starting. Run docker compose ps and wait for the health check, then try again.

Types are wrong after a schema change. The Prisma client is generated, not written. Re-run the migrate command, which regenerates it.

pnpm dev starts but the frontend cannot reach the API. Check that apps/frontend/.env exists. Without it the frontend has no API URL and every request fails.

Next

Sponsor open source

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!

Sponsor on GitHub