domain-cli
Use when building CLI tools. Keywords: CLI, command line, terminal, clap, structopt, argument parsing, subcommand, interactive, TUI, ratatui, crossterm, indicatif, progress bar, colored output, shell completion, config file, environment variable, 命令行, 终端应用, 参数解析
Installation
Pick a client and clone the repository into its skills directory.
Installation
About this skill
Use when building CLI tools. Keywords: CLI, command line, terminal, clap, structopt, argument parsing, subcommand, interactive, TUI, ratatui, crossterm, indicatif, progress bar, colored output, shell completion, config file, environment variable, 命令行, 终端应用, 参数解析
How to use
Dodaj umiejętność domain-cli do swojego projektu Rust jako referencję w kontekście budowania narzędzia wiersza poleceń. Umiejętność aktywuje się automatycznie gdy system wykryje plik Cargo.toml w twoim projekcie.
Zdefiniuj strukturę argumentów CLI używając derive makr clap. Utwórz strukturę Rust z atrybutami #[derive(Parser)] i opisz każde pole jako argument lub flagę — clap automatycznie wygeneruje parser i wiadomość pomocy.
Ustaw warstwową konfigurację: argumenty CLI mają najwyższy priorytet, następnie zmienne środowiska, potem plik konfiguracyjny, wreszcie wartości domyślne. Użyj figment lub config do łączenia źródeł konfiguracji w określonej kolejności.
Obsługuj błędy prawidłowo — wypisuj komunikaty błędów na stderr (eprintln!), dane na stdout (println!), i zwracaj niezerowe kody wyjścia. Zdefiniuj main() zwracającą Result<(), Error> aby automatycznie obsługiwać błędy.
Dla narzędzi interaktywnych dodaj pasy postępu (indicatif), kolorowe wyjście (colored) i interaktywne monity (dialoguer). Obsługuj przerwanie Ctrl+C poprzez obsługę sygnałów, aby narzędzie mogło się czysto zamknąć.
Dla bardziej złożonych interfejsów terminalowych rozważ ratatui do budowania TUI — umiejętność zawiera wytyczne do integracji z crossterm do kontroli terminala.