55 releases (17 breaking)

new 0.24.7 Jan 9, 2025
0.23.3 Dec 24, 2024
0.21.2 Nov 28, 2024
0.14.3 Jul 30, 2024
0.8.4 Mar 22, 2024

#588 in Command line utilities

Download history 33/week @ 2024-09-22 17/week @ 2024-09-29 1/week @ 2024-10-06 1/week @ 2024-10-13 372/week @ 2024-10-20 11/week @ 2024-10-27 47/week @ 2024-11-03 3/week @ 2024-11-10 775/week @ 2024-11-17 659/week @ 2024-11-24 301/week @ 2024-12-01 84/week @ 2024-12-08 265/week @ 2024-12-15 481/week @ 2024-12-22 32/week @ 2024-12-29 924/week @ 2025-01-05

1,702 downloads per month

GPL-3.0-or-later

230KB
6K 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

~21–80MB
~1.5M SLoC