# Development Setup Set up your local development environment for Fetch ML. ## Prerequisites **Container Runtimes:** - **Docker Compose**: For testing and development only - **Podman**: For production experiment execution - Go 1.21+ - Zig 0.11+ - Docker Compose (testing only) - Redis (or use Docker) - Git ## Quick Setup ```bash # Clone repository git clone https://github.com/jfraeys/fetch_ml.git cd fetch_ml # Start dependencies see [Quick Start](quick-start.md) for Docker setup redis postgres # Build all components make build # Run tests see [Testing Guide](testing.md) ``` ## Detailed Setup ## Quick Start ```bash git clone https://github.com/jfraeys/fetch_ml.git cd fetch_ml see [Quick Start](quick-start.md) for Docker setup make build see [Testing Guide](testing.md) ``` ## Key Commands - `make build` - Build all components - `see [Testing Guide](testing.md)` - Run tests - `make dev` - Development build - `see [CLI Reference](cli-reference.md) and [Zig CLI](zig-cli.md)` - Build CLI ## Common Issues - Build fails: `go mod tidy` - Zig errors: `cd cli && rm -rf zig-out zig-cache` - Port conflicts: `lsof -i :9101`