Who This Guide Is For
Open Source Contributors
Developers who want to contribute by fixing bugs, adding features, or
improving documentation
Customizers
Developers who want to modify GAIA for their specific use cases or integrate
with custom systems
Prerequisites
Docker & Docker Compose
Docker & Docker Compose
- Docker Desktop or Docker Engine
- Docker Compose v2+
- At least 4GB of available RAM
- 10GB of free disk space
Development Tools
Development Tools
- Git (for version control)
- mise (task runner and tool manager)
- For mobile development: Xcode (iOS) and/or Android Studio (Android)
System Requirements
System Requirements
- macOS, Linux, or Windows with WSL2
- At least 8GB of RAM (16GB recommended)
- SSD storage for better performance
Install mise
mise is required for all GAIA development.- macOS (Homebrew)
- macOS/Linux (curl)
- Windows
Activate mise
Add mise activation to your shell:- zsh
- bash
- fish
Setup
- Automated (Recommended)
- Manual Setup
Create environment files
apps/api/.env with your secrets. See Environment Variables.Run setup
- Check
.envfiles exist - Start Docker services
- Install Python 3.12 via mise
- Install API dependencies (uv sync)
- Install Node 22 via mise
- Install web dependencies (pnpm install)
- Install mobile dependencies (pnpm install)
- Install desktop dependencies (pnpm install)
- Install voice agent dependencies
- Seed AI models
Development Commands
| Command | Description |
|---|---|
mise dev | Start API + web (recommended) |
mise dev:api | API server only |
mise dev:web | Web app only |
mise dev:full | API + web + ARQ worker |
mise lint | Lint all code |
mise format | Format all code |
mise test | Run all tests |
Project Structure
Troubleshooting
mise command not found
mise command not found
Ensure mise is installed and activated in your shell:If not activated, re-run the activation step for your shell.
Docker services not starting
Docker services not starting
Check Docker is running:
bash docker ps Check for port conflicts:lsof -i :5432 # PostgreSQL lsof -i :6379 # Redis lsof -i :8000 # API
Missing environment variables
Missing environment variables
Ensure
.env files exist: bash ls apps/api/.env apps/web/.env If
missing, copy from examples: bash cp apps/api/.env.example apps/api/.env cp apps/web/.env.example apps/web/.env Python/Node version issues
Python/Node version issues
mise manages tool versions. Let it install them:Check versions:
Next Steps
- Commands Reference - All available commands
- Environment Variables - Configure your setup
- Contributing - How to contribute
- Code Style - Coding standards
