Prerequisites¶
macOS (Option B — local setup)¶
| Tool | Minimum | Check | Auto-installed by setup script? |
|---|---|---|---|
| macOS | 12+ Monterey | sw_vers | — |
| Homebrew | any | brew --version | No — install from brew.sh |
| Python 3 | 3.9+ | python3 --version | No — brew install python3 |
| .NET SDK 6.0 | 6.0.x | ~/.dotnet/dotnet --version | Yes |
| PostgreSQL 16 | 16.x | psql --version | Yes (if missing) |
| Docker Desktop | 4.x | docker --version | No — only needed for Docker/DevContainer options |
Minimum manual installs
You only need Homebrew and Python 3 before running the setup script. Everything else is handled automatically.
Docker (Option A)¶
| Tool | Check | Install |
|---|---|---|
| Docker Desktop 4.x+ | docker --version | docker.com |
| Docker Compose v2 | docker compose version | Bundled with Docker Desktop |
No .NET SDK, PostgreSQL, or Python needed locally.
VS Code DevContainer (Option C)¶
| Tool | Check | Install |
|---|---|---|
| Docker Desktop 4.x+ | docker --version | docker.com |
| VS Code | code --version | code.visualstudio.com |
| Dev Containers extension | VS Code Extensions panel | ms-vscode-remote.remote-containers |
Windows¶
Native local setup is not scripted. Use Option A (Docker) or Option C (DevContainer) on Windows. Both work identically on Windows with Docker Desktop installed.
For native Windows + IIS production deployment, see the Windows / IIS Deployment Checklist section.
Verify your environment¶
Run this before starting any setup:
# macOS version
sw_vers -productVersion
# Homebrew
brew --version
# Python
python3 --version
# .NET (may not exist yet — that's fine)
~/.dotnet/dotnet --version 2>/dev/null || echo "not installed yet"
# Docker
docker --version 2>/dev/null || echo "not installed"
# PostgreSQL
psql --version 2>/dev/null || echo "not installed yet"