rototo
DocsReference
Reference

CLI Overview Reference

The rototo CLI is where engineers, agents, CI, and release tooling work with workspaces. It does not replace the SDK in an application process; it gives those tools a consistent way to inspect, lint, and resolve the same workspace an app will load.

Command Groups

rototo <command> [options]

Workspace commands:

CommandPurpose
initCreate workspace and entity templates.
fixturesGenerate readable runtime behavior fixtures.
lintValidate a workspace or selected targets.
inspectExplain how rototo sees workspace data.
showDisplay workspace config, variables, qualifiers, resources, and lint metadata.
resolveEvaluate variables or qualifiers with runtime context.

Utility commands:

CommandPurpose
docsRead or export bundled documentation.
lspRun the language server over stdio.
completionsGenerate shell completion scripts.

Global Options

OptionMeaning
--jsonEmit machine-readable JSON when the command supports it.
--quiet, -qSuppress successful lint output. Diagnostics are still printed.
--workspace-token <token>Bearer token for HTTPS archive workspace downloads.
-V, --versionPrint CLI version.
-h, --helpPrint help.

--workspace-token can also be supplied with ROTOTO_WORKSPACE_TOKEN.

Global options are accepted at every command level.

Workspace Source Argument

Most workspace commands accept an optional WORKSPACE_SOURCE:

rototo lint examples/basic
rototo show git+https://github.com/acme/config.git#main --variables

When omitted, rototo searches upward from the current directory for rototo-workspace.toml.

See reference-workspace-sources for supported source forms.

Selectors

lint, inspect, and show share selectors:

--variable <ID>        --variables
--resource <ID>        --resources
--qualifier <ID>       --qualifiers
--lint-rule <ID>       --lint-rules
--lint-authority <ID>  --lint-authorities
--linter <ID>          --linters

resolve only accepts resolvable targets:

--variable <ID>        --variables
--qualifier <ID>       --qualifiers

Selectors can be repeated. Plural selectors select all targets of that kind.

Context Inputs

inspect and resolve accept repeatable --context inputs. The forms are JSON object, @file, or path=value.

For resolve, missing context defaults to {}. For inspect, traces are included only when context is supplied.

See reference-context.

Exit Codes

Successful commands return exit code 0.

lint returns a non-zero exit code when selected lint output contains an error diagnostic. Warnings do not fail lint by themselves.

Parse errors, unknown selectors, unsupported workspace sources, and resolution errors return non-zero exit codes.

Choosing A Command

Use show when you need the configured files or diagnostic catalog.

Use inspect when you need dependencies, consumers, runtime availability, or a trace attached to workspace structure.

Use resolve when you need the exact runtime value for a context.

Use lint in pre-commit, CI, and release checks.