domain-cli

Create Rust CLI scaffolds with clap, figment, indicatif, and colored.

1|Updated Apr 4, 2026
One-click install
npx skills add https://github.com/Jylhis/claude-marketplace --skill domain-cli-jylhis
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: domain-cli
Source: https://github.com/Jylhis/claude-marketplace/tree/main/plugins/rust-dev/skills/domain-cli
Command: npx skills add https://github.com/Jylhis/claude-marketplace --skill domain-cli-jylhis

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

It addresses the need for well‑structured, user‑friendly command‑line interfaces in Rust, ensuring proper argument parsing, configuration precedence, error handling, and progress feedback.

Core Features & Use Cases

  • Domain Constraints Guidance: Defines rules for ergonomics, config hierarchy, exit codes, and interrupt handling.
  • Key Crates Recommendations: Highlights essential libraries such as clap, figment, indicatif, and colored.
  • Design Patterns: Provides ready‑to‑use patterns for args structs, subcommands, and layered configuration.
  • Use Case: Quickly scaffold a production‑grade Rust CLI that respects best‑practice constraints.

Quick Start

Ask the domain-cli skill to generate a Rust CLI scaffold for a new project named “myapp”.

Frequently Asked Questions about domain-cli

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I structure a Rust CLI tool for proper argument parsing and configuration layering?

Structure a Rust CLI tool by defining args structs and subcommands with clap, then apply layered configuration using figment to merge environment variables, config files, and command-line arguments into a single precedence hierarchy.

What is the best way to handle errors and exit codes in a Rust command-line application?

Handle errors in a Rust command-line application by writing error messages to stderr and returning appropriate exit codes. This ensures proper scripting integration and signals failure states correctly to the calling process.

How do I add progress reporting and colored output to a Rust CLI?

Add progress reporting and colored output to a Rust CLI by integrating the indicatif crate for progress bars and the colored crate for terminal text styling, providing immediate visual feedback during long-running operations.

Does this Rust CLI approach support environment variable precedence and interrupt handling?

Yes, this Rust CLI approach supports environment variable precedence within its configuration hierarchy and defines specific domain constraints for interrupt handling to ensure graceful shutdowns during execution.

Can I quickly scaffold a production-grade Rust CLI without manually setting up config hierarchy and ergonomics?

You can quickly scaffold a production-grade Rust CLI by applying ready-to-use design patterns for args structs and subcommands, which enforces best-practice ergonomics, config hierarchy, and error handling without manual setup.