cli-settings-derive

Crates.io docs.rs CI Crates.io

Use a derive macro with annotations on your Command Line Interface settings struct to manage the settings of your application: - create an instance with default values (provided by annotations) - read each possible configuration file, if it exists: - update the fields that are defined in the configuration file - parse the command line arguments, and update the relevant fields with the provided argument

By using annotations, each field can be configurable via the configuration file(s) and/or the command line.

cli-settings-derive can be seen as a top layer above - serde for the file configuration parsing - clap for the command line parsing

See doc.rs documentation for detailed documentation and an example.