Skip to content

CLI Builder

Verified

Build polished command-line tools in Python or Node.js with argument parsing, subcommands, progress indicators, colored output, and shell completion.

By community 2,200 v1.0.1 Updated 2026-03-08

Install

Claude Code

Copy the SKILL.md file to .claude/skills/cli-builder.md

About This Skill

CLI Builder generates polished command-line interfaces using best-in-class libraries for each ecosystem: Typer or Click for Python, Commander.js or Yargs for Node.js.

Argument Parsing

Generated CLIs use declarative argument definitions with type coercion, default values, required/optional flags, and mutually exclusive groups. Help text is auto-generated from docstrings and type hints.

Subcommand Architecture

Git-style nested subcommands (e.g., `mytool db migrate`, `mytool db seed`) with shared options at the root level and command-specific options at each subcommand.

User Experience

  • Progress bars — Rich/tqdm for Python, ora/cli-progress for Node.js
  • Colored output — Semantic color coding (green=success, red=error, yellow=warning)
  • Structured output — `--json` flag for machine-readable output
  • Interactive prompts — inquirer for confirmations and multi-select inputs

Configuration Files

Auto-detects and loads config from `~/.config/mytool/config.toml` or project-local `.mytoolrc`. CLI flags override config file values. Config schema validated on load.

Shell Completion

Generates completion scripts for bash, zsh, and fish via `mytool --install-completion`. Completions include dynamic suggestions from live data (e.g., available profiles).

Use Cases

  • Building developer tools with rich subcommand interfaces (git-style CLIs)
  • Creating data pipeline scripts with progress bars and structured output
  • Generating shell completion scripts for bash, zsh, and fish
  • Packaging Python CLIs as standalone executables with PyInstaller

Pros & Cons

Pros

  • + Rich user experience with progress bars and semantic color coding
  • + Shell completion generation works out of the box
  • + Supports both human-readable and --json machine-readable output
  • + Config file + env var + CLI flag precedence handled automatically

Cons

  • - Rich library adds ~1MB to Python CLI bundle size
  • - Dynamic shell completions require the CLI to be installed and accessible in PATH

Related AI Tools

Related Skills

Stay Updated on Agent Skills

Get weekly curated skills + safety alerts

每周精选 Skills + 安全预警