Operations runbook — macOS Installer
This guide describes how to use the unified macOS installer to set up a local AlphaSwarm environment quickly.
Overview
The macos-install.sh script automates the following steps:
- Verifies the macOS environment.
- Installs Homebrew (if missing).
- Installs system dependencies: Python 3.11, Node.js 22, pnpm, yarn, Terraform, k3d, and kubectl.
- Assists with Docker Desktop installation.
- Sets up a Python virtual environment (
.venv) at the workspace root. - Installs core AlphaSwarm packages in editable mode:
alphaswarm_configalphaswarm_corealphaswarm_agentsalphaswarm_authalphaswarm_controlleralphaswarm(monolith)alphaswarm_clialphaswarm_assistant
- Installs frontend dependencies for
alphaswarm_client. - Generates the local configuration (
.env.local). - Verifies the installation using
alphaswarm-cli setup verify.
Prerequisites
- A Mac running macOS (Intel or Apple Silicon).
- Administrator (sudo) privileges.
- Git installed and the AlphaSwarm repositories cloned into a single workspace directory.
Installation
-
Navigate to your AlphaSwarm workspace root:
cd path/to/alphaswarm-workspace -
Run the installer:
./alphaswarm_platform/scripts/macos-install.sh -
Follow the prompts. If Docker is not installed, the script will install it and ask you to launch it manually.
Post-Installation
After the script completes successfully:
-
Activate the virtual environment:
source .venv/bin/activate -
Start the local development stack:
cd alphaswarm
make dev -
Access the applications:
- Operator UI: http://localhost:3000
- API Documentation: http://localhost:3000/api/docs
Troubleshooting
Docker not found or not running
Ensure Docker Desktop is running and you have accepted the terms of service. The script requires a working Docker socket to build and run local containers.
Homebrew Permission Issues
If Homebrew installation fails due to permissions, you may need to fix your /usr/local or /opt/homebrew ownership or run the Homebrew install command manually with appropriate permissions.
Python Version Conflicts
The script specifically targets Python 3.11. If you have multiple Python versions installed, ensure python3.11 is available in your PATH after the script runs.