Install (local development)
Quayside runs as three pieces — a Python API service, a Python CLI, and a Next.js dashboard. The development setup uses Postgres via Docker and runs everything on your laptop.
Prerequisites
| Tool | Why | Install |
|---|---|---|
| Docker | runs Postgres for dev and test | docker.com/products/docker-desktop |
| Python 3.12+ | API service + CLI | pyenv install 3.12 or system package |
uv | fast Python project manager | curl -LsSf https://astral.sh/uv/install.sh | sh |
| Node 20+ | dashboard | nvm install 20 |
First-time setup
git clone <your-quayside-repo>cd quayside
# Install everything — api + cli + dashboardmake install
# Bring up Postgres (dev DB on :5432, test DB on :5433)make db-up
# Apply migrations and the dev seed (one class, one policy)make db-reset-allA few seconds later you have:
quaysideandquayside_testdatabases, schemas applied- one seeded class
dev/quayside-testwithowner=dev@quayside.local - one seeded policy v1 enabling the
nulldetector
Verify it works
# All tests pass — api + cli + dashboardmake testYou should see ~190 tests passing on the api side, ~23 on the cli, and a clean dashboard next build.
Run the development stack
In one terminal:
make devThat starts the backend on http://localhost:8000 and the dashboard on http://localhost:3000. Both reload on file change. Ctrl-C stops both.
Or run them separately if you need finer control:
# Terminal 1make dev-back
# Terminal 2make dev-frontThe dashboard rewrites /api/v1/* to the backend, so the browser only ever talks to :3000.
What’s next
- Quickstart — register an agent class and make your first proxied call
- Architecture overview — read this before you build on top of Quayside