Skip to main content

Commands

Enum Commands 

Source
pub enum Commands {
Show 27 variants Build { file: Option<PathBuf>, path: Option<PathBuf>, global: Option<String>, clean: bool, no_update_check: bool, }, Start { package: Option<String>, endpoint: Option<String>, config: Option<PathBuf>, set: Vec<String>, manifest: Option<String>, }, Boot { file: PathBuf, log_dir: Option<PathBuf>, skip_system: bool, no_update_check: bool, verbose: bool, }, WatchBoot { state: PathBuf, boot_pid: u32, boot_start_time_ticks: Option<u64>, boot_id: String, }, Update { path: Option<PathBuf>, file: Option<PathBuf>, }, Shutdown { file: PathBuf, }, Clean { package: Option<PathBuf>, file: Option<PathBuf>, cache: bool, }, Install { github: Option<String>, path: Option<PathBuf>, }, List, Info { name: String, }, Validate { path: Option<PathBuf>, }, Config { set_storage_path: Option<PathBuf>, show: bool, }, Codegen { package: Option<PathBuf>, mcp: bool, ros2: bool, clean: bool, out_dir: Option<PathBuf>, }, Docs { out_dir: Option<PathBuf>, }, Setup { path: Option<PathBuf>, }, Path { key: String, }, Caps { server: String, json: bool, verbose: bool, }, Contracts { server: String, prefix: Option<String>, json: bool, verbose: bool, }, Describe { server: String, provider: Option<String>, json: bool, }, Tools { server: String, json: bool, }, Channels { server: String, }, Inspect { server: String, }, Chat { server: String, }, Init { name: String, path: Option<PathBuf>, }, PackageNew { name: String, pkg_type: String, path: Option<PathBuf>, }, Ask { prompt: String, server: String, json: bool, }, Logs { log_dir: Option<PathBuf>, tag: Vec<String>, level: Option<String>, follow: bool, json: bool, list_tags: bool, },
}

Variants§

§

Build

Build a package (local path or system-installed)

Fields

§file: Option<PathBuf>

Deployment manifest to build (builds every declared package)

§path: Option<PathBuf>

Local package path (relative to $RBNX_INVOCATION_CWD, else process cwd)

§global: Option<String>

Build by system-installed package name

§clean: bool

Clean build (remove rbnx-build before building). Default: incremental.

§no_update_check: bool

Skip the remote-provider freshness check before building cached packages. Useful when offline or when the deployment cache is intentionally pinned.

§

Start

Start one package (runs its start block; blocks until it exits)

Defaults to the package containing the current directory when -p is omitted. The pre-dev-packaging -n / --node flag is gone — one package = one start body now.

Fields

§package: Option<String>

Package path or installed name; relative paths use $RBNX_INVOCATION_CWD, else process cwd. If omitted, rbnx walks up from the current directory to find a package manifest.

§endpoint: Option<String>

Registry endpoint (default: 127.0.0.1:50051)

§config: Option<PathBuf>

Per-instance config file (JSON or YAML). Decoded and delivered to the provider through Driver(CMD_INIT). It has the same shape as a package’s nested config: block in robonix_manifest.yaml.

§set: Vec<String>

Inline config overrides. Repeatable, dotted-path keys, e.g. --set sensors.lidar2d=true --set algo=rtabmap. Layered on top of --config (sets win). Values are JSON-parsed when possible (so --set max_speed=0.5 is a number, --set on=true is a bool); fall back to a string when JSON parsing fails.

§manifest: Option<String>

Package manifest filename to use instead of the default package_manifest.yaml. Lets a package ship per-deployment-target variants (e.g. package_manifest.jetson-native.yaml). rbnx boot passes this through from a deploy entry’s manifest: field.

§

Boot

Boot the whole stack from a robonix_manifest.yaml (until Ctrl-C)

Brings up the system services (atlas/executor/pilot/liaison/memory/vlm) plus every package declared under primitive/service/skill. rbnx deploy is kept as an alias for back-compat.

Fields

§file: PathBuf

Path to the deployment manifest (default: ./robonix_manifest.yaml).

§log_dir: Option<PathBuf>

Directory for per-component logs (default: <manifest-dir>/rbnx-boot/logs).

§skip_system: bool

Skip starting the system: block (atlas/pilot/etc). Useful when those are already running externally.

§no_update_check: bool

Skip the remote-provider freshness check (the per-package git fetch pass that runs before boot). Use when offline or in a hurry.

§verbose: bool

Stream append-only, Scribe-backed component logs during boot. Disables animated cursor updates so output can be read or piped like a Linux/FreeBSD kernel boot log or Android logcat.

§

WatchBoot

Internal detached cleanup process for one rbnx boot invocation.

Fields

§state: PathBuf
§boot_pid: u32
§boot_start_time_ticks: Option<u64>
§boot_id: String
§

Update

Update remote (url:) providers to their latest upstream commit

In a deploy dir (or with -f <manifest>) updates ALL cloned remote providers; with -p <dir> (or inside a package checkout) updates just that one. Shows an overview and asks for confirmation before pulling.

Fields

§path: Option<PathBuf>

Update a single package checkout at this path.

§file: Option<PathBuf>

Deploy manifest whose remote providers to update (default: ./robonix_manifest.yaml).

§

Shutdown

Tear down a stack previously brought up by rbnx boot

Reads the per-manifest state file boot writes (<manifest-dir>/rbnx-boot/state.json) to kill the right process groups + docker containers, so the host doesn’t accumulate orphaned drivers when boot dies on an error path or its shell window is closed.

Fields

§file: PathBuf

Path to the deployment manifest (default: ./robonix_manifest.yaml).

§

Clean

Drop build artifacts (rbnx-build/), per-package or per-deploy

rbnx clean -p <pkg> removes <pkg>/rbnx-build/. rbnx clean -f <manifest> recurses over every package the manifest references (path: + url: + system/*), wipes each one’s rbnx-build/, and clears the deploy’s rbnx-boot/{logs,state.json}. --cache also wipes rbnx-boot/cache/ (forces re-clone of url: packages). Defaults to the package containing cwd when neither -p nor -f is given.

Fields

§package: Option<PathBuf>

Package path (defaults to walking up from cwd).

§file: Option<PathBuf>

Deploy manifest path. When set, recurses over the manifest.

§cache: bool

With -f, also wipe rbnx-boot/cache/ (force re-clone).

§

Install

Install a package from GitHub or local path

Legacy system-installed-package tooling; superseded by deploy manifests (rbnx boot/build). Hidden from the command list but still functional.

Fields

§github: Option<String>

Install from GitHub (e.g. user/repo or https://github.com/user/repo)

§path: Option<PathBuf>

Install from local path

§

List

List system-installed packages (legacy; hidden)

§

Info

Show details of a system-installed package (legacy; hidden)

Fields

§name: String

Package name

§

Validate

Validate a package manifest without building

If no path is given, rbnx walks up from the current directory to find a package manifest.

Fields

§path: Option<PathBuf>

Package directory (relative paths use $RBNX_INVOCATION_CWD, else process cwd)

§

Config

Configure robonix-cli

Fields

§set_storage_path: Option<PathBuf>

Set package storage path

§show: bool

Show current configuration

§

Codegen

Run codegen for a package (proto + gRPC stubs + MCP types)

Wraps robonix-codegen + grpc_tools.protoc: stages system protos under <pkg>/rbnx-build/proto-staging/, then emits <pkg>/proto_gen/ (and optional <pkg>/robonix_mcp_types/). If -p is omitted, rbnx walks up from the current directory to find a package manifest.

Fields

§package: Option<PathBuf>

Package path (relative to $RBNX_INVOCATION_CWD, else process cwd)

§mcp: bool

Also generate robonix_mcp_types/ (for MCP-based packages)

§ros2: bool

Also generate ros2_idl/ — the canonical ROS 2 message overlay (source). Build it with colcon build in a ROS 2 environment and source install/setup.bash so rclpy types are Robonix’s.

§clean: bool

Remove previous proto_gen/, robonix_mcp_types/, rbnx-build/ before regenerating

§out_dir: Option<PathBuf>

Directory (relative to package root, or absolute) where proto_gen/ and robonix_mcp_types/ should be placed. Defaults to package root; use e.g. --out-dir tiago_bridge to put stubs inside a package subdirectory.

§

Docs

Regenerate the mdBook contract + ROS IDL reference

Rebuilds docs/src/reference/{contracts,idl}.md from capabilities/. Auto-generated + version-stamped — run after changing any contract or IDL so the browsable reference stays in sync.

Fields

§out_dir: Option<PathBuf>

Output directory (default: <root>/docs/src/reference).

§

Setup

Register this directory as the robonix source tree

Persists to ~/.robonix/config.yaml. Call once from a cloned robonix repo so packages anywhere on disk can find capabilities/IDL.

Fields

§path: Option<PathBuf>

Path to the robonix repo root (default: $RBNX_INVOCATION_CWD or process cwd). If the given path is a sub-directory, walks up to find the root.

§

Path

Print an absolute path in the robonix source tree (for build scripts)

Keys: root, rust, capabilities, interfaces-lib, runtime-proto, robonix-api.

Fields

§key: String

Path key to resolve (see above).

§

Caps

List registered capabilities (one row per provider)

Pass -v to expand the per-provider capability list, lspci -tv style.

Fields

§server: String

robonix-atlas endpoint

§json: bool

Output as JSON (forces full detail regardless of -v)

§verbose: bool

Expand each provider’s capability list; without this, only the summary header line per provider is printed.

§

Contracts

List atlas’s loaded contract registry

Every <root>/capabilities/**/*.toml atlas parsed at startup. -v for field-level schemas + source paths; -p/–prefix filters by namespace.

Fields

§server: String

robonix-atlas endpoint

§prefix: Option<String>

Filter by id prefix (e.g. robonix/primitive/camera/)

§json: bool

Output as JSON (forces full detail)

§verbose: bool

Expand each contract’s field schema + source toml path

§

Describe

Show CAPABILITY.md for registered providers (all, or one with –provider)

Fields

§server: String

robonix-atlas endpoint

§provider: Option<String>

Show full CAPABILITY.md content for a specific provider_id

§json: bool

Output as JSON

§

Tools

Print every MCP-callable tool visible to the agent (executor builtins + provider capabilities)

Fields

§server: String

robonix-atlas endpoint

§json: bool

Output as JSON

§

Channels

Show active channels (consumer→provider connections opened via ConnectCapability)

Fields

§server: String

robonix-atlas endpoint

§

Inspect

Dump full runtime state as JSON (providers, capabilities, channels)

Fields

§server: String

robonix-atlas endpoint

§

Chat

Chat with the Robonix agent in an interactive TUI

Fields

§server: String

robonix-atlas endpoint (used to discover agent)

§

Init

Initialize a new robot deployment directory (creates robonix_manifest.yaml)

Fields

§name: String

Robot deployment directory name

§path: Option<PathBuf>

Parent directory (default: current directory)

§

PackageNew

Create a new package under the appropriate role directory

Fields

§name: String

Package name

§pkg_type: String

Package type: primitive, service, or skill

§path: Option<PathBuf>

Target package directory to create (when given, –type is ignored)

§

Ask

One-shot non-interactive prompt to the agent (stdout, then exit)

Same gRPC path as rbnx chat (atlas connect → SubmitTask → stream PilotEvent) but prints events to stdout and exits when the stream closes. Useful for scripted tests / CI / agent-driven runs.

Fields

§prompt: String

The user message to send to the pilot.

§server: String

robonix-atlas endpoint

§json: bool

Emit one JSON object per pilot event on stdout (line-delimited). Default is human-readable text with tool-call summaries.

§

Logs

Read Scribe JSON-lines log files and render them with optional tag / level filtering. Point at a log directory or read the default <manifest-dir>/rbnx-boot/logs.

Fields

§log_dir: Option<PathBuf>

Log directory (default: ./rbnx-boot/logs or $SCRIBE_LOG_DIR).

§tag: Vec<String>

Filter to one or more tags (OR semantics).

§level: Option<String>

Minimum level to show (debug < info < warn < error).

§follow: bool

Follow mode — keep reading new lines as they arrive (tail -f).

§json: bool

Output raw JSON lines instead of logcat-style rendering.

§list_tags: bool

List the distinct tags present in the logs (with record counts) instead of printing records — handy for discovering -t values.

Trait Implementations§

Source§

impl FromArgMatches for Commands

Source§

fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>

Instantiate Self from [ArgMatches], parsing the arguments as needed. Read more
Source§

fn from_arg_matches_mut( __clap_arg_matches: &mut ArgMatches, ) -> Result<Self, Error>

Instantiate Self from [ArgMatches], parsing the arguments as needed. Read more
Source§

fn update_from_arg_matches( &mut self, __clap_arg_matches: &ArgMatches, ) -> Result<(), Error>

Assign values from ArgMatches to self.
Source§

fn update_from_arg_matches_mut<'b>( &mut self, __clap_arg_matches: &mut ArgMatches, ) -> Result<(), Error>

Assign values from ArgMatches to self.
Source§

impl Subcommand for Commands

Source§

fn augment_subcommands<'b>(__clap_app: Command) -> Command

Append to [Command] so it can instantiate Self via [FromArgMatches::from_arg_matches_mut] Read more
Source§

fn augment_subcommands_for_update<'b>(__clap_app: Command) -> Command

Append to [Command] so it can instantiate self via [FromArgMatches::update_from_arg_matches_mut] Read more
Source§

fn has_subcommand(__clap_name: &str) -> bool

Test whether Self can parse a specific subcommand

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
§

impl<T> IntoRequest<T> for T

§

fn into_request(self) -> Request<T>

Wrap the input message T in a tonic::Request
§

impl<L> LayerExt<L> for L

§

fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>
where L: Layer<S>,

Applies the layer to a service and wraps it in [Layered].
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more