37 releases (14 breaking)

new 0.21.0 Nov 26, 2024
0.19.0 Nov 23, 2024
0.14.3 Jul 30, 2024
0.8.4 Mar 22, 2024

#722 in Command line utilities

Download history 6/week @ 2024-08-08 161/week @ 2024-08-22 176/week @ 2024-08-29 1/week @ 2024-09-05 1/week @ 2024-09-12 25/week @ 2024-09-19 23/week @ 2024-09-26 3/week @ 2024-10-03 1/week @ 2024-10-10 245/week @ 2024-10-17 136/week @ 2024-10-24 24/week @ 2024-10-31 28/week @ 2024-11-07 432/week @ 2024-11-14 601/week @ 2024-11-21

1,085 downloads per month

GPL-3.0-or-later

205KB
5.5K SLoC

Documentation-only module containing the help pages for the CLI tool.

The Args struct contains the top level options. The Action enum contains the top level subcommands. Beyond that, *Args structs contain options for that level, and *Action enums contain subcommands below that level. In structs, field names are generally transformed to options using by being kebab-cased.

For example, caddy::configure_tamanu::ConfigureTamanuArgs represents the subcommand:

$ bestool caddy configure-tamanu

and its fields:

pub struct ConfigureTamanuArgs {
    pub path: PathBuf,
    pub print: bool,
    pub domain: String,
    pub api_port: NonZeroU16,
    pub api_version: String,
    pub web_version: String,
    pub email: Option<String>,
    pub zerossl_api_key: Option<String>,
}

are transformed into these options:

--path
--print
--domain
--api-port
--api-version
--web-version
--email
--zerossl-api-key

Sometimes more information is contained in the #[clap()] attributes like defaults and positionals, and these can be seen by clicking the source link at the top right.

Dependencies

~22–83MB
~1.5M SLoC