#clap #command-line #env-var #wildcard #wild #packages #argfile

no-std clientele

Clientele packages clap, dotenvy, argfile, and wild into one dependency

5 releases

0.2.0 Oct 1, 2024
0.1.4 Sep 8, 2024
0.1.3 Aug 23, 2024
0.0.1 Aug 21, 2024

#349 in Command-line interface

Download history 94/week @ 2024-08-15 395/week @ 2024-08-22 15/week @ 2024-08-29 195/week @ 2024-09-05 28/week @ 2024-09-12 24/week @ 2024-09-19 146/week @ 2024-09-26 44/week @ 2024-10-03

245 downloads per month
Used in 4 crates (2 directly)

Unlicense

23KB
340 lines

Clientele.rs

License Compatibility Package

Clientele makes it easy to write superb command-line utilities in Rust that follow best practices on all target platforms including Linux, macOS, and Windows. It packages and re-exports clap, 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 the dotenvy crate).
  • Expands command-line wildcards (globs) on Windows (using the wild crate).
  • Expands command-line @argfiles similarly to javac or Python (using the argfile crate).
  • Defines a standard set of essential command-line options (using the clap 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

⬇️ 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

Share on Twitter Share on Reddit Share on Hacker News Share on Facebook

Dependencies

~0.2–10MB
~110K SLoC