Development Setup

Set up a local development environment for contributing to Recall.

Prerequisites

  • Node.js 24.x
  • pnpm 10.x+ (required — npm and yarn are not supported)
  • PostgreSQL 15+ (or use Docker)
  • Docker (for running the full stack locally)

Install from the workspace

pnpm install

Run these commands from the root of the Recall workspace. A public branded repository URL has not been announced yet.

Configure Environment

Copy the example environment file and fill in your values:

cp .env.example .env

At minimum, you need:

VariableDescription
DATABASE_URLPostgreSQL connection string
BETTER_AUTH_SECRETAny random string for session encryption

Add AI provider API keys if you want to test visibility tracking:

VariableDescription
OPENAI_API_KEYFor ChatGPT tracking
ANTHROPIC_API_KEYFor Claude tracking

Database Setup

Run Drizzle migrations to create the schema:

cd apps/web
pnpm drizzle-kit migrate

Start Development Servers

Run all development servers in parallel:

pnpm dev

This starts:

  • Web app at http://localhost:3000
  • Worker process for background jobs

Or run only the web app:

pnpm --filter @workspace/web dev

Development with Docker

For a setup closer to production, use the CLI in dev mode:

# Build from local source instead of pulling images
recall init --dev

# Rebuild after code changes
recall compose build
recall compose up -d

The Docker build uses a multi-stage docker/Dockerfile with separate targets for web and worker.

Component Stories

Recall uses Ladle for component development in isolation:

pnpm --filter @workspace/web ladle

Stories live in apps/web/src/stories/ and cover the app sidebar, prompt charts, and other components across deployment modes.

Was this page helpful?