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
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.
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.
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
skip_system: boolSkip starting the system: block (atlas/pilot/etc). Useful when
those are already running externally.
WatchBoot
Internal detached cleanup process for one rbnx boot invocation.
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
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.
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
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)
List
List system-installed packages (legacy; hidden)
Info
Show details of a system-installed package (legacy; hidden)
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 (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
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.
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 in the robonix source tree (for build scripts)
Keys: root, rust, capabilities, interfaces-lib, runtime-proto, robonix-api.
Caps
List registered capabilities (one row per provider)
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. -v for
field-level schemas + source paths; -p/–prefix filters by namespace.
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 robot deployment directory (creates robonix_manifest.yaml)
Fields
PackageNew
Create a new package under the appropriate role directory
Fields
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
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
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
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].