Skip to content

CLI Overview

The genelab CLI is a thin dispatcher over registries and task configs. It does not own task logic; it discovers extensions, resolves a registered object, applies overrides, and calls the task or runner.

Command model

genelab [global options] <command> [arguments]
Area Commands
Registry list robots\|envs\|tasks, info NAME, asset list\|info\|download\|purge
Runtime play TASK, train TASK, eval TASK CHECKPOINT, export TASK CHECKPOINT, benchmark --suite ...
Project project new NAME
Utilities cache, prof open

Running genelab with no subcommand prints a landing page with quickstart commands and a count of registered robots / envs / tasks.

Global options

Option Meaning
--version Print the version and exit.
--import MODULE Import an extension module before dispatch; repeatable.
--no-entry-points Skip extensions from the genelab.extensions entry-point group.

Extension loading order

Every command that needs registry data loads extensions in this order:

  1. Bundled asset zoo robots through load_bundled_asset_zoo().
  2. Installed genelab.extensions entry points, unless --no-entry-points is set.
  3. Repeated explicit --import MODULE values.

Use entry points for daily work and --import for local experiments.

Overrides

Runtime commands accept unknown --a.b.c VALUE options after the task id. The CLI forwards them to apply_overrides:

genelab play TASK_ID --env.simulation.dt 0.005

Use genelab info TASK_ID to list valid paths.

Interactive mode

When stdin is a TTY, the CLI can prompt for a missing task id, unknown registry name, invalid --agent, or unknown override path. In CI and scripts it raises the same errors directly.

See also