Local Development Runbook
Prerequisites
Section titled “Prerequisites”- Docker Desktop / Engine with Compose plugin.
- Ports
4321(marketing) and4322(docs) available on the host. - No secrets stored locally; this workflow depends solely on repository content.
Workflow
Section titled “Workflow”- Start container
Terminal window docker compose up -d dev - Install dependencies (once per update)
Terminal window docker compose run --rm -T dev bash -lc "pnpm install" - Serve marketing site
Terminal window docker compose exec dev bash -lc "pnpm dev:site"# http://localhost:4321 - Serve internal docs
Terminal window docker compose exec dev bash -lc "pnpm dev:docs"# http://localhost:4322 - Run builds when validating changes
Terminal window docker compose run --rm -T dev bash -lc "pnpm build:site"docker compose run --rm -T dev bash -lc "pnpm build:docs"
Troubleshooting
Section titled “Troubleshooting”- Ports busy — Stop existing containers (
docker compose down) or free conflicting services. - Missing pnpm/corepack — Always invoke commands through Docker; the image already contains pnpm.
- File permission issues — Ensure repo is owned by the host user; Docker runs as
nodeuser inside the container.
Shutdown
Section titled “Shutdown”docker compose downRun this after finishing work or before switching branches to prevent stale mount state.