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
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.
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.yaml
— rbnx 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
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.
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
Install
Install a package from GitHub or local path
Fields
List
List system-installed packages
Info
Show details of a system-installed package
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
Config
Configure robonix-cli
Fields
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
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
Print an absolute path rooted in the configured robonix source tree (for build scripts). Keys: root, rust, capabilities, interfaces-lib, runtime-proto, robonix-api
Caps
List all registered capabilities (one row per provider by default; pass -v to expand the per-provider capability list, lspci -tv style)
Fields
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
Describe
Show CAPABILITY.md for registered providers (all, or one with –provider)
Fields
Tools
Print every MCP-callable tool visible to the agent (executor builtins + provider capabilities)
Channels
Show active channels (consumer→provider connections opened via ConnectCapability)
Inspect
Dump full runtime state as JSON (providers, capabilities, channels)
Chat
Chat with the Robonix agent in an interactive TUI
Init
Initialize a new robonix project (creates robonix_manifest.yaml + directory skeleton)
Fields
PackageNew
Create a new package under the appropriate role directory
Fields
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.
Trait Implementations§
Source§impl FromArgMatches for Commands
impl FromArgMatches for Commands
Source§fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>
fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>
Source§fn from_arg_matches_mut(
__clap_arg_matches: &mut ArgMatches,
) -> Result<Self, Error>
fn from_arg_matches_mut( __clap_arg_matches: &mut ArgMatches, ) -> Result<Self, Error>
Source§fn update_from_arg_matches(
&mut self,
__clap_arg_matches: &ArgMatches,
) -> Result<(), Error>
fn update_from_arg_matches( &mut self, __clap_arg_matches: &ArgMatches, ) -> Result<(), Error>
ArgMatches to self.Source§fn update_from_arg_matches_mut<'b>(
&mut self,
__clap_arg_matches: &mut ArgMatches,
) -> Result<(), Error>
fn update_from_arg_matches_mut<'b>( &mut self, __clap_arg_matches: &mut ArgMatches, ) -> Result<(), Error>
ArgMatches to self.Source§impl Subcommand for Commands
impl Subcommand for Commands
Source§fn augment_subcommands<'b>(__clap_app: Command) -> Command
fn augment_subcommands<'b>(__clap_app: Command) -> Command
Source§fn augment_subcommands_for_update<'b>(__clap_app: Command) -> Command
fn augment_subcommands_for_update<'b>(__clap_app: Command) -> Command
Command] so it can instantiate self via
[FromArgMatches::update_from_arg_matches_mut] Read moreSource§fn has_subcommand(__clap_name: &str) -> bool
fn has_subcommand(__clap_name: &str) -> bool
Self can parse a specific subcommandAuto Trait Implementations§
impl Freeze for Commands
impl RefUnwindSafe for Commands
impl Send for Commands
impl Sync for Commands
impl Unpin for Commands
impl UnsafeUnpin for Commands
impl UnwindSafe for Commands
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
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 moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
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
impl<T> IntoRequest<T> for T
§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request§impl<L> LayerExt<L> for L
impl<L> LayerExt<L> for L
§fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
Layered].