cli-developer
28
总安装量
28
周安装量
#7270
全站排名
安装命令
npx skills add https://github.com/404kidwiz/claude-supercode-skills --skill cli-developer
Agent 安装分布
opencode
20
claude-code
19
codex
18
cursor
14
windsurf
12
Skill 文档
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
- Choose framework based on language/needs
- Define command structure and subcommands
- Implement argument and option parsing
- Add input validation and help text
- Implement core command logic
- Add output formatting (JSON, table, etc.)
- Package for distribution
2. Interactive TUI Development
- Select TUI framework
- Design screen layout and components
- Implement input handling and navigation
- Add state management
- Handle terminal resize events
- Test across different terminal emulators
3. CLI Distribution
- Add proper versioning
- Create man pages or help docs
- Package for target platforms
- Set up installation via package managers
- Create shell completions
- 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-Pattern | Problem | Correct Approach |
|---|---|---|
| No help text | Users can’t discover commands | Add comprehensive –help |
| Silent failures | Users don’t know what went wrong | Clear error messages + exit codes |
| Hard-coded paths | Breaks on other systems | Use environment variables, XDG |
| No stdin support | Can’t pipe data | Support reading from stdin |
| Colored output to pipes | Breaks parsing | Detect TTY, disable colors for pipes |