Toolverse
Wszystkie skille

domain-cli

autor: actionbook

Umiejętność do budowania narzędzi CLI z obsługą parsowania argumentów, konfiguracji warstwowej i interfejsu terminalowego.

Instalacja

Wybierz klienta i sklonuj repozytorium do odpowiedniego katalogu skilli.

Instalacja

Szybkie info

Kategoria
UX / Design
Wyświetlenia
1

O skillu

Domain-cli to umiejętność dla twórców narzędzi wiersza poleceń w Rust. Zawiera wzorce dla obsługi argumentów (clap), warstwowej konfiguracji (CLI > zmienne środowiska > plik > domyślne), poprawnych kodów wyjścia, separacji stdout/stderr oraz obsługi sygnałów przerwania. Pomaga zbudować ergonomiczne CLI z jasną pomocą, kolorowymi komunikatami, paskami postępu (indicatif) i interfejsami interaktywnymi (ratatui, dialoguer).

Jak używać

  1. 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.

  2. 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.

  3. 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.

  4. 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.

  5. 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ąć.

  6. Dla bardziej złożonych interfejsów terminalowych rozważ ratatui do budowania TUI — umiejętność zawiera wytyczne do integracji z crossterm do kontroli terminala.

Podobne skille