# CLI reference

> Every lucen command, grouped the way lucen --help groups them, with what each one does.

Prompt for your AI: Read https://mousemouse.ai/docs/cli.md first. Use the lucen CLI for me. Pick the commands from this reference and run each with --help before you use it. Ask me before anything that costs money or moves a robot.

The `lucen` CLI is the hub from a terminal, and it runs the jobs that run on
your own machine. Its commands are grouped here as `lucen --help` groups them.
Every command prints its own options with `--help`, such as `lucen runs create
--help`.

[Train on your own machine](/docs/train-on-your-machine#start-a-runner) has the
install line. [Work from a terminal](/docs/from-a-terminal) walks the commands
in order, with their output.

## Get started

| Command | What it does |
|---|---|
| `lucen auth login` | Sign in with an API key, and store it in a file only you can read. |
| `lucen auth whoami` | Show who the stored key signs you in as, and its scopes. |
| `lucen auth logout` | Forget the stored key. |
| `lucen quickstart` | Print the next three to five commands for where you are. It runs nothing. |
| `lucen status` | Who you are, which hub, and what is yours right now, on one screen. |
| `lucen open` | Open a robot, policy, dataset, run or sim test's page in your browser. |

## Robots

| Command | What it does |
|---|---|
| `lucen robot init` | Read an MJCF or URDF with MuJoCo and draft the robot's card. |
| `lucen robot validate` | Check the card against the model in MuJoCo. Exits 1 on any failure. |
| `lucen robot publish` | Validate, create the robot's repo, upload the files and set the card. |
| `lucen robot worker` | Run the robot checks you queued from the browser, on this machine. |
| `lucen robot card get` | Print a robot's card as JSON. |
| `lucen robot card set` | Replace a robot's card from a JSON file, after the hub checks it. |

## Data and policies

| Command | What it does |
|---|---|
| `lucen push` | Upload a folder to a repo, creating the repo if it does not exist. |
| `lucen pull` | Download a repo's files, checking each one's checksum. |
| `lucen datasets ls` | List the datasets you can see. |
| `lucen datasets import` | Import a LeRobot dataset from Hugging Face. |
| `lucen repo create` | Create an empty dataset, policy or robot repo. |
| `lucen repo ls` | List the repos you can see. |
| `lucen model stamp` | Stamp a policy trained elsewhere with the inputs and outputs a robot expects. |

## Train and test

| Command | What it does |
|---|---|
| `lucen train` | Start a training run from a recipe file, and follow it with `--follow`. |
| `lucen runs create` | Start a training run. It trains when a runner picks it up. |
| `lucen runs ls` | List your training runs, newest first. |
| `lucen runs show` | One run: its state, where it runs, and what it produced. |
| `lucen runs logs` | Print a run's log, or follow it live. |
| `lucen runs checkpoints` | List the checkpoints a run saved. |
| `lucen runs estimate` | Price a recipe before you start it. |
| `lucen runs recommend` | Which GPU a recipe needs, with the arithmetic. |
| `lucen runs cancel` | Cancel a run. A running one is stopped by its runner. |
| `lucen runs import` | Record a run trained elsewhere, so the Coach can read it. |
| `lucen worker run` | The runner: train your queued runs on this machine. |
| `lucen rollout run` | Start a sim test of a policy on a robot, or run it here with `--local`. |
| `lucen rollout worker` | Run your queued sim tests on this machine. |
| `lucen rollout show` | One sim test: its state, results and files. |
| `lucen rollout ls` | List your sim tests, newest first. |
| `lucen rollout cancel` | Cancel a queued or running sim test. |
| `lucen rollout publish` | Publish a finished sim test with its policy. |
| `lucen rollout scan` | Test each checkpoint of a run, 20 seeds by default. |
| `lucen rollout gates` | The sim tests a run's checkpoints got while it trained. |

`lucen rollout OWNER/POLICY --robot OWNER/ROBOT` is short for `lucen rollout
run`.

## Run on a robot

| Command | What it does |
|---|---|
| `lucen endpoints create` | Serve a skill policy from a GPU for a robot to call. |
| `lucen endpoints estimate` | Price an endpoint before you create it. |
| `lucen endpoints ls` | List your endpoints. |
| `lucen endpoints show` | One endpoint, with every session and its numbers. |
| `lucen endpoints stop` | Stop an endpoint. |
| `lucen serve` | The endpoint server: serve a queued endpoint from this machine. |

Approving a policy onto a robot and stopping it happen in the browser. Only a
signed-in person can do either.

## Lab

| Command | What it does |
|---|---|
| `lucen org ls` | List your organizations and your role in each. |
| `lucen org create` | Create an organization. You become its first owner. |
| `lucen org members` | List an organization's members. |
| `lucen org add` | Add a person by their hub handle, or change their role. |
| `lucen org remove` | Remove a member. |
| `lucen org leave` | Leave an organization. |

## Shell

| Command | What it does |
|---|---|
| `lucen completion` | Print the shell completion script. |
| `lucen version` | Print the CLI's version. |

## On the robot: `lucen-device`

The robot's own computer runs a second program, the robot driver.
[Connect your robot](/docs/connect-your-robot) shows how to install it.

| Command | What it does |
|---|---|
| `lucen-device pair` | Join the hub with a short code. A person confirms it on the hub. |
| `lucen-device serve` | Wait for approved policies, check each approval, run it and report. |
| `lucen-device status` | This robot's registration, and what the hub last heard from it. |
| `lucen-device register` | Register the robot with an API key, for a robot set up by hand. |
| `lucen-device trust` | Show or change this robot's trust mode. Only the robot can change it. |
| `lucen-device adapters` | List the installed adapters, or check one with `--check`. |
| `lucen-device signing-key` | Show the hub's signing key this robot trusts. |
| `lucen-device interface` | Show the robot description this robot is pinned to. |
| `lucen-device trial-log` | Summarise one log on this robot, uploading nothing. |
| `lucen-device version` | Print the driver's version. |
