mcpField
C
cli-developer

cli-developer

github.com/404kidwizDevelopment99 installs
Repository

About cli-developer

CLI Developer is a skill for building command-line applications and terminal interfaces. It covers command parsing, interactive TUIs, shell automation, and packaging across languages.

Key features

  1. 01Command and option parsing
  2. 02Interactive terminal UI design
  3. 03Shell scripts and automation
  4. 04REPL-style application guidance
  5. 05CLI packaging and distribution

Use cases

  1. 01Structuring commands and subcommands
  2. 02Building an interactive terminal interface
  3. 03Adding validation, help, and output formats
  4. 04Preparing a CLI for distribution

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/404kidwiz/claude-supercode-skills --skill cli-developer

After installing, type/cli-developerin Claude Code to confirm it loaded.

Details

From the project README

CLI Developer

Purpose

Provides expertise in building robust, user-friendly command-line applications and terminal interfaces. Covers argument parsing, interactive prompts, TUI frameworks, and shell automation across multiple languages.

When to Use

  • Building CLI applications in any language
  • Creating interactive terminal user interfaces
  • Implementing command-line argument parsing
  • Building shell scripts and automation tools
  • Adding progress bars, spinners, and colors
  • Creating REPL-style applications
  • Distributing CLI tools as packages

Quick Start

Invoke this skill when:

  • Building CLI applications in any language
  • Creating interactive terminal user interfaces
  • Implementing command-line argument parsing
  • Building shell scripts and automation tools
  • Creating REPL-style applications

Do NOT invoke when:

  • Building GUI desktop applications (use windows-app-developer)
  • Creating web-based interfaces (use frontend skills)
  • Writing PowerShell-specific tools (use powershell skills)
  • Building mobile applications (use mobile-developer)

Decision Framework

CLI Framework Selection:
├── Node.js → Commander.js, Yargs, Oclif
├── Python → Click, Typer, argparse
├── Go → Cobra, urfave/cli
├── Rust → Clap, structopt
├── TUI needed
│   ├── Node.js → Ink, Blessed
│   ├── Python → Textual, Rich
│   ├── Go → Bubbletea, tview
│   └── Rust → Ratatui, crossterm
└── Simple script → Shell (bash/zsh)

Core Workflows

1. CLI Application Setup
  1. Choose framework based on language/needs
  2. Define command structure and subcommands
  3. Implement argument and option parsing
  4. Add input validation and help text
  5. Implement core command logic
  6. Add output formatting (JSON, table, etc.)
  7. Package for distribution
2. Interactive TUI Development
  1. Select TUI framework
  2. Design screen layout and components
  3. Implement input handling and navigation
  4. Add state management
  5. Handle terminal resize events
  6. Test across different terminal emulators
3. CLI Distribution
  1. Add proper versioning
  2. Create man pages or help docs
  3. Package for target platforms
  4. Set up installation via package managers
  5. Create shell completions
  6. Add update mechanism

Best Practices

  • Follow POSIX conventions for flags and arguments
  • Provide both short (-v) and long (--verbose) options
  • Include --help and --version flags
  • Use exit codes properly (0 for success)
  • Support piping and stdin input
  • Add shell completion scripts

Anti-Patterns

Anti-PatternProblemCorrect Approach
No help textUsers can't discover commandsAdd comprehensive --help
Silent failuresUsers don't know what went wrongClear error messages + exit codes
Hard-coded pathsBreaks on other systemsUse environment variables, XDG
No stdin supportCan't pipe dataSupport reading from stdin
Colored output to pipesBreaks parsingDetect TTY, disable colors for pipes

Comments

Markdown supported