ufo-cli 0.2.0

UFO local rover CLI — claims and runs operations on the host.
ufo-cli-0.2.0 is not a library.

ufo-cli

GitHub CI crates.io License Preview Rust

ufo-cli is the host-side rover for UFO. It enrolls a local machine into a UFO fleet, long-poll claims queued operations, lets the assigned pilot drive the rover in an isolated per-operation work directory, streams telemetry back to the Hub, and uploads a git diff for review.

UFO is an MVP preview. APIs, configuration, database schema, and the rover protocol may change before 1.0, and migration paths are not guaranteed.

Install

cargo install ufo-cli

The rover is tested on macOS/Linux preview hosts. Windows is not validated yet.

Enroll And Start

Start the UFO Hub first, then create an enrollment code from the Rovers panel.

UFO_HUB_UPLINK=http://localhost:8080 \
UFO_ROVER_ENROLLMENT_CODE=<code> \
ufo rover enroll

ufo rover start

Enrollments are stored in ~/.ufo/rovers.json, keyed by rover id. A host can hold enrollments for multiple fleets or servers.

Useful commands:

ufo rover list
ufo rover status
ufo rover remove <rover-id|prefix>
ufo rover remove --all

Pilots And Tags

The rover auto-detects local pilots and reports capability tags such as pilot:claude, pilot:codex, pilot:antigravity, pilot:cursor, pilot:copilot, pilot:amp, pilot:opencode, pilot:openclaw, pilot:hermes, pilot:pi, pilot:kimi, pilot:kiro, os:macos, and arch:aarch64. UFO only lets a rover claim work when its tags match the queued operation.

You can add user dispatch tags during enrollment:

ufo rover enroll --tag gpu --tag region:moon

Run multiple operations per enrolled rover with ufo rover start --units N or UFO_ROVER_UNITS=N.

Trust Boundary

Pilots run local CLIs with the privileges of the user that started the rover. Use a dedicated low-privilege account, container, or isolated machine for rover hosts you share with a fleet.

See README.md and SECURITY.md for the full Hub setup and trust model.