Workspace

The agency-workspace repo adds ./dev at the umbrella root. It fixes DOCKER_HOST on WSL (Docker Desktop bind-mount socket) and delegates stack commands to agency-server (Server).

Layout:

agency-workspace/
  dev                 ← this script
  agency-django/
  agency-server/dev   ← compose up/down/enter/logs
  agency-ui/

Stack (delegates to agency-server/dev)

Command

Action

./dev up

docker compose up

./dev down

Stop stack

./dev build

Build and start

./dev

List agency_* containers

./dev enter

Shell in container (default: django)

./dev logs

Follow logs

./dev restart

Restart a service

./dev ui

Publish SPA: build → collectstatic → restart django/asgi, then nginx

./dev doc

Sphinx onepage (singlehtml) → /static/documentation-single/

./dev doc html

Sphinx multi-page HTML → /static/documentation/

./dev doc llm

One plain-text dump for LLM paste

See Server for container aliases and agency-server/dev commands. In-container equivalents: bash run document-single / document / document-llm.

Tests (umbrella)

Command

Action

./dev test

Backend pytest in agency_django (fast suite)

./dev test-docker

pytest -m docker stack smoke

./dev test-ui

vitest + typecheck + build

./dev test-all

Backend + frontend

./dev redis

Redis/Channels health hints

Details: Tests and CI.

WSL Docker

If docker info fails, ./dev sets DOCKER_HOST to a Docker Desktop bind-mount socket under /mnt/wsl/docker-desktop-bind-mounts/.

See .cursor/rules/15-docker-wsl.mdc in the workspace repo.