ProductGetting StartedLocal Development

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

  1. Clone the repo and install dependencies:
pnpm install
  1. Start Docker services (PostgreSQL + Mailpit):
docker compose up -d  # in packages/@cashew/database/
docker compose up -d  # in apps/mailpit/
  1. Copy environment variables and apply overrides:
cp .env.example .env.local
direnv allow .
  1. Start the dev environment:
pnpm go

This 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:docs

This starts the documentation site at localhost:3030.

On this page