A lightweight ML experiment platform with a tiny Zig CLI and a Go backend. Designed for homelabs and small teams.
Quick start
# Clone and run (dev)
git clone <your-repo>
cd fetch_ml
docker-compose up -d
# Or build the CLI locallycd cli && make all
./build/ml --help
What you get
Zig CLI (ml): Tiny, fast local client. Uses ~/.ml/config.toml and FETCH_ML_CLI_* env vars.
Go backends: API server, worker, and a TUI for richer remote features.
TUI over SSH: ml monitor launches the TUI on the server, keeping the local CLI minimal.
CI/CD: Cross‑platform builds with zig build-exe and Go releases.
CLI usage
# Configure
cat > ~/.ml/config.toml <<EOF
worker_host = "127.0.0.1"
worker_user = "dev_user"
worker_base = "/tmp/ml-experiments"
worker_port = 9101
api_key = "your-api-key"
EOF# Core commands
ml status
ml queue my-job
ml cancel my-job
ml dataset list
ml monitor # SSH to run TUI remotely
Build
# CLI (Zig)cd cli && make all # release-small
make tiny # extra-small
make fast # release-fast# Go backends
make cross-platform # builds for Linux/macOS/Windows
Deploy
Dev: docker-compose up -d
Prod: Use the provided systemd units or containers on Rocky Linux.