Skip to main content

Crate aube

Crate aube 

Source
Expand description

aube’s command layer as a library.

The aube / aubr / aubx binaries are thin wrappers over cli_main; everything else lives here so the command layer can be embedded by other tools — e.g. constructing embed::InstallOptions and calling embed::install in-process instead of shelling out to the CLI. Embedding hosts should use embed, which is the stable facade over the lower-level commands modules. cli_args and cli_main remain public for hosts that wrap aube’s complete CLI.

The library makes no global-allocator choice — the mimalloc opt-in lives in src/main.rs so embedders keep control of their own allocator.

Modules§

cli_args
Shared usage_rs::Args groups flattened into per-command argument structs.
command_effects
What each aube command does to the world.
commands
embed
Stable in-process API for hosts that embed aube’s package manager.

Functions§

cli_main
Library entry point. An embedder calls this with its own &'static Embedder (and optional setting defaults); the aube binary passes &aube_util::AUBE and no defaults, reproducing standalone behavior. This is the whole embedding API: register-then-run in one call, so a host never has to separately wire identity and defaults.
cli_main_with_defaults
cli_main plus embedder-supplied setting defaults. The defaults are (canonical_setting_name, raw_value) pairs registered at the lowest precedence tier — below every user- and project-level source — for the genuinely user-overridable knobs an embedder wants to re-default. (Embedder-fixed behavior lives on aube_util::Embedder itself, not here.) Standalone aube passes an empty vec, so per-setting built-in defaults apply unchanged.
command
The root command metadata for the embeddable command layer.
completion_app
spec
The static parser and portable metadata for the embeddable command layer.
usage_kdl
usage_kdl_for