9 releases
0.2.4 | Oct 15, 2024 |
---|---|
0.2.3 | Oct 15, 2024 |
0.1.4 | Sep 8, 2024 |
0.1.3 | Aug 23, 2024 |
0.0.1 |
|
#331 in Command-line interface
168 downloads per month
Used in 4 crates
(2 directly)
27KB
433 lines
Clientele.rs
Clientele makes it easy to write superb command-line utilities in Rust that
follow consistent best practices on all target platforms including Linux, macOS,
and Windows. It packages and re-exports clap
, camino
, dotenvy
,
argfile
, and wild
into a single easy dependency.
✨ Features
- Showcases how to structure a CLI program in Rust (see the examples).
- Loads environment variables from
.env
files (using thedotenvy
crate). - Expands wildcards (globs) on Windows (using the
wild
crate). - Expands @argfiles similarly to
javac
or Python (using theargfile
crate). - Defines a standard set of essential CLI options (using the
clap
crate). - Provides the
Utf8Path
andUtf8PathBuf
types (using thecamino
crate). - Supports opting out of any feature using comprehensive feature flags.
- Adheres to the Rust API Guidelines in its naming conventions.
- 100% free and unencumbered public domain software.
🛠️ Prerequisites
- Rust 1.70+
⬇️ Installation
Installation via Cargo
cargo add clientele
👉 Examples
See lib/clientele/examples/skeleton/main.rs
for a complete example.
Importing the library
use clientele::*;
📚 Reference
Options
StandardOptions
Options:
--color <COLOR> Set the color output mode [default: auto] [possible values: auto, always, never]
-d, --debug Enable debugging output
--license Show license information
-v, --verbose... Enable verbose output (may be repeated for more verbosity)
-V, --version Print version information
-h, --help Print help
👨💻 Development
git clone https://github.com/artob/clientele.rs.git
Dependencies
~0.2–10MB
~110K SLoC