domain-cli

Define CLI domain constraints for Rust-based command-line tools.

Updated Aug 23, 2026
One-click install
npx skills add https://github.com/mberetvas/dbt-migrator --skill domain-cli-mberetvas
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: domain-cli
Source: https://github.com/mberetvas/dbt-migrator/tree/main/.github/skills/domain-cli
Command: npx skills add https://github.com/mberetvas/dbt-migrator --skill domain-cli-mberetvas

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

CLI tooling often suffers from inconsistent UX, brittle argument handling, and configuration drift across environments. This Skill prescribes domain-level constraints and design patterns to craft clear, predictable command-line interfaces.

Core Features & Use Cases

  • Enforce argument parsing discipline with type-safe schemas and subcommands
  • Layer configuration precedence (CLI > env > file) for deterministic behavior
  • Provide user feedback and safe exit handling through progress indicators and guarded writes

Quick Start

Install the CLI domain tooling and start building a constrained, well-structured command-line interface.

Frequently Asked Questions about domain-cli

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

FAQPage Schema
How do I structure Rust CLI subcommands with layered configuration?▼

Layer configuration precedence for deterministic CLI behavior by prioritizing CLI arguments over environment variables, which override file defaults, using figment to manage configuration sources systematically.

How does layered configuration precedence work for command-line tools?▼

Layered configuration precedence ensures deterministic CLI behavior by prioritizing command-line arguments over environment variables, which override file defaults, managed through figment schemas.

What's the best way to handle user feedback and progress tracking in a Rust CLI?▼

Handle user feedback in a Rust CLI by applying domain constraints that prescribe progress tracking and safe exit handling using indicatif, ensuring clear user feedback during execution.

Can I use clap for type-safe argument parsing with subcommands in Rust?▼

Yes, clap supports type-safe argument parsing with subcommands in Rust. This Skill applies domain constraints to enforce argument parsing discipline using clap schemas for robust CLI tools.

Why does my command-line interface suffer from configuration drift across environments?▼

CLI tools suffer from configuration drift across environments when lacking domain-level constraints. Applying layered configuration precedence (CLI > env > file) prevents this drift and ensures deterministic behavior.

Do I need Rust to build robust command-line interfaces with domain constraints?▼

Yes, Rust is required. This Skill applies domain constraints to Rust-based CLIs, leveraging established crates like clap, figment, and indicatif to build robust command-line interfaces with subcommands.