--- layout: page title: "Zig CLI Guide" permalink: /zig-cli/ nav_order: 3 --- # Zig CLI Guide Lightweight command-line interface (`ml`) for managing ML experiments. Built in Zig for minimal size and fast startup. ## Quick start ```bash # Build locally cd cli && make all # Or download a release binary curl -LO https://github.com/jfraeys/fetch_ml/releases/latest/download/ml-.tar.gz tar -xzf ml-.tar.gz && chmod +x ml- ``` ## Configuration The CLI reads `~/.ml/config.toml` and respects `FETCH_ML_CLI_*` env vars: ```toml worker_host = "127.0.0.1" worker_user = "dev_user" worker_base = "/tmp/ml-experiments" worker_port = 9101 api_key = "your-api-key" ``` Example overrides: ```bash export FETCH_ML_CLI_HOST="myserver" export FETCH_ML_CLI_API_KEY="prod-key" ``` ## Core commands - `ml status` – system status - `ml queue ` – queue a job - `ml cancel ` – cancel a job - `ml dataset list` – list datasets - `ml monitor` – launch TUI over SSH (remote UI) ## Build flavors - `make all` – release‑small (default) - `make tiny` – extra‑small binary - `make fast` – release‑fast All use `zig build-exe` with `-OReleaseSmall -fstrip` and are compatible with Linux/macOS/Windows. ## CI/CD The release workflow builds cross‑platform binaries and packages them with checksums. See `.github/workflows/release.yml`.