# Development How to run Rereflect from source for local development. For containerized deployment instead, see [SELF_HOSTING.md](SELF_HOSTING.md). - [Prerequisites](#prerequisites) - [The toolchain & package management](#the-toolchain--package-management) - [First-time setup](#first-time-setup) - [Running the stack](#running-the-stack) - [Common commands](#common-commands) - [Testing](#testing) - [Troubleshooting](#troubleshooting) ## Prerequisites - Python 3.12+ - Node.js 22+ and **pnpm** 10+ (`corepack enable` to get the pinned version) - PostgreSQL 14+ - Redis ## The toolchain & package management Rereflect is a polyglot monorepo: JavaScript apps share a **pnpm workspace**, while the Python services each manage their own virtualenv. ### JavaScript (pnpm workspace) The repo root is a pnpm workspace (`pnpm-workspace.yaml`). It covers the two Next.js apps and the shared UI package: ``` packages/ui # shared React component library services/frontend-web # the dashboard app (workspace name: customer-feedback-frontend) services/landing-web # the marketing site (workspace name: landing-web) ``` Install everything once from the root, then use the root scripts or `--filter`: ```bash pnpm install # install all JS workspaces pnpm dev:app # frontend-web dev server (alias for --filter) pnpm dev:landing # landing-web dev server pnpm build:app # build the dashboard app pnpm build:landing # build the landing site # target any workspace directly pnpm --filter customer-feedback-frontend