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

1.5 KiB
Raw Blame History

title url weight
Zig CLI Guide /zig-cli/ 3

Zig CLI Guide

Lightweight command-line interface (ml) for managing ML experiments. Built in Zig for minimal size and fast startup.

Quick start

# 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:

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:

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.