rototo
DocsAPI
API

rototo CLI reference

Global Flags

Workspace Commands

inspect is an orientation command. It confirms which workspace was loaded, shows the environment and context schema, maps variables to environment defaults and qualifier-backed rules, shows qualifier dependencies, shows where qualifiers are used, and prints the next commands to lint or resolve the loaded configuration.

When inspect receives -v or -q, it switches from the workspace map to a detailed entity view. Variable inspection shows the source file, description, contract, custom lint, expanded values, environment defaults, and qualifier rules. Qualifier inspection shows the source file, description, and predicates.

Workspace inputs can be local paths, file:// URIs, git+file://, git+https://, git+ssh://, or https:// archive URLs. Plain http:// sources are rejected. Git sources support #ref:subdir; archive URLs support #:subdir.

Use -v or --variable to select variables. Use -q or --qualifier to select qualifiers. Flags that take ids are repeatable, so one command can lint, get, or resolve several workspace entities against the same workspace and context.

When no -v or -q flag is passed to lint, rototo lints the whole workspace. When no -v or -q flag is passed to list, rototo lists both variables and qualifiers. get and resolve require at least one selected variable or qualifier. Resolving variables requires --env; resolving only qualifiers does not.

Pass --verbose to lint when you need to see which workspace was staged and which lint targets ran. Pass --verbose to resolve when you need to see the workspace source, staged workspace path, selected targets, merged context, environment fallback, rule order, qualifier definitions, predicates, bucket math, and selected values before the normal result. Verbose traces are human-readable only; --json output stays machine-readable and omits the trace.

Resolution commands accept repeatable -c or --context inputs. Each value can be a JSON object, @path/to/context.json, or path=value; later inputs override earlier ones. Qualifiers are resolved against that context. Variables resolve by environment, applying matching rules before the environment's fallback value.

Examples

rototo resolve ./workspace -v llm-agent-config --env prod \
  -c '{"user":{"tier":"premium"}}'

rototo resolve ./workspace -v llm-agent-config -v checkout-redesign --env prod \
  -c @context.json

rototo resolve ./workspace -q enterprise-accounts \
  -c account.plan=enterprise -c account.seats=250

rototo lint git+https://github.com/acme/config.git#main:rototo

ROTOTO_WORKSPACE_TOKEN=secret rototo inspect \
  https://example.com/rototo-workspace.tar.gz#:workspace

Documentation Commands

The CLI bundles documentation as Markdown. With no flags, rototo docs lists the bundled pages. --page and -p pretty-print one page in the terminal. --search and -s search page ids and Markdown content with one or more regex terms; all terms must match for a page to be listed. For example, use rototo docs -s 'refresh|last-known-good' to search with a regex. HTML export and local serving are left to the public documentation site toolchain.

Terminal Color

Human-readable CLI output uses rototo terminal colors when stdout or stderr is a terminal. Machine-readable --json output is never styled. Set NO_COLOR to disable color. Set CLICOLOR_FORCE=1 to force color in a non-terminal. The palette uses the terminal-specific design-system tokens: foreground labels, clay URI accents, blue IDs, dim paths, green success states, and red errors. The CLI only styles foreground text; the terminal background remains controlled by the user's terminal profile.

Diagnostic Commands

Diagnostics are global today.

Shell Completions

Exit Policy