Skip to main content

Commands

Enum Commands 

Source
pub enum Commands {
Show 23 variants Build { path: Option<PathBuf>, global: Option<String>, clean: bool, }, Start { package: Option<String>, endpoint: Option<String>, config: Option<PathBuf>, set: Vec<String>, }, Boot { file: PathBuf, log_dir: Option<PathBuf>, skip_system: bool, }, 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>, }, 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, },
}

Variants§

§

Build

Build a package (local path or system-installed)

Fields

§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.

§

Start

Start the package (runs its single top-level start shell block). Defaults to the package containing the current directory when -p is omitted. Blocks until the process exits. 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). Materialized into RBNX_CONFIG_FILE for the start body. Same shape as the per- package config: block under a deploy robonix_manifest.yamlrbnx boot writes one of these per package and re-execs rbnx start --config <file> internally.

§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.

§

Boot

Boot the whole stack from a top-level robonix_manifest.yaml — system services (atlas/executor/pilot/liaison/memory/vlm) plus every package declared under primitive/service/skill. Blocks until Ctrl-C. 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.

§

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 know which process groups + docker containers to kill, so the host doesn’t accumulate orphaned drivers when boot dies on an error path or its parent shell window is closed.

Fields

§file: PathBuf

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

§

Clean

Drop build artifacts. Per-package: rbnx clean -p <pkg> removes <pkg>/rbnx-build/. Per-deploy: 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}. Pass --cache to also wipe rbnx-boot/cache/ (forces re-clone of url:-fetched packages on next boot). Defaults to the package containing the current directory 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

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

§

Info

Show details of a system-installed package

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 (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/). Replaces the copy-pasted boilerplate in package build.sh scripts. 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.

§

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 rooted in the configured 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 all registered capabilities (one row per provider by default; 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). Pass -v for field-level schemas + source paths, -p / –prefix to filter by namespace prefix.

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 robonix project (creates robonix_manifest.yaml + directory skeleton)

Fields

§name: String

Project name (also used as 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 — 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 where stdout is the artifact.

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.

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