fetch_ml/docs/src/zig-cli.md
Jeremie Fraeys 5144d291cb
docs: comprehensive documentation updates
- Add architecture, CI/CD, CLI reference documentation
- Update installation, operations, and quick-start guides
- Add Jupyter workflow and queue documentation
- New landing page and research runner plan
2026-02-12 12:05:27 -05:00

61 lines
1.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
title: "Zig CLI Guide"
url: "/zig-cli/"
weight: 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-<platform>.tar.gz
tar -xzf ml-<platform>.tar.gz && chmod +x ml-<platform>
```
## 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 = 22
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 <job>` queue a job
- `ml cancel <job>` cancel a job
- `ml dataset list` list datasets
- `ml monitor` launch TUI over SSH (remote UI)
`ml status --json` may include an optional `prewarm` field when the worker is prefetching datasets for the next queued task.
## Build flavors
- `make all` releasesmall (default)
- `make tiny` extrasmall binary
- `make fast` releasefast
All use `zig build-exe` with `-OReleaseSmall -fstrip` and are compatible with Linux/macOS/Windows.
## CI/CD
The release workflow builds crossplatform binaries and packages them with checksums. See `.forgejo/workflows/release-mirror.yml`.