Local Development
How to set up and run the Cashew monorepo locally.
Prerequisites
- Node.js 24.13.0 (managed via
.nvmrc) - pnpm 10.30.0
- Docker (for PostgreSQL and Mailpit)
- direnv (for environment variable loading)
Quick start
- Clone the repo and install dependencies:
pnpm install- Start Docker services (PostgreSQL + Mailpit):
docker compose up -d # in packages/@cashew/database/
docker compose up -d # in apps/mailpit/- Copy environment variables and apply overrides:
cp .env.example .env.local
direnv allow .- Start the dev environment:
pnpm goThis starts the client-portal (:3000), media service (:3010), webpage (:3020), Temporal server, and worker.
Running the docs site
The docs site runs independently and does not require Docker or database services:
pnpm dev:docsThis starts the documentation site at localhost:3030.