mcpField
C
cli-developer

cli-developer

github.com/404kidwiz开发99 次安装
代码仓库

关于 cli-developer

CLI Developer 是用于构建命令行应用和终端界面的技能,涵盖命令解析、交互式 TUI、Shell 自动化及多语言工具打包。

主要功能

  1. 01命令与选项解析
  2. 02交互式终端界面设计
  3. 03Shell 脚本与自动化
  4. 04REPL 风格应用指导
  5. 05命令行工具打包与分发

适用场景

  1. 01规划命令和子命令结构
  2. 02构建交互式终端界面
  3. 03添加验证、帮助和输出格式
  4. 04准备命令行工具分发

安装

复制下面的命令,在终端中运行。

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

安装后在 Claude Code 中输入/cli-developer确认已加载。

详细介绍

CLI 开发者

用途

提供构建健壮、易用的命令行应用和终端界面的专业知识,涵盖多种语言的参数解析、交互式提示、TUI 框架和 Shell 自动化。

适用场景

  • 使用任意语言构建 CLI 应用
  • 创建交互式终端用户界面
  • 实现命令行参数解析
  • 构建 Shell 脚本和自动化工具
  • 添加进度条、加载动画和颜色
  • 创建 REPL 风格的应用
  • 将 CLI 工具打包分发

快速开始

在以下情况下调用此技能:

  • 使用任意语言构建 CLI 应用
  • 创建交互式终端用户界面
  • 实现命令行参数解析
  • 构建 Shell 脚本和自动化工具
  • 创建 REPL 风格的应用

请勿在以下情况下调用:

  • 构建 GUI 桌面应用(使用 windows-app-developer)
  • 创建基于 Web 的界面(使用前端技能)
  • 编写 PowerShell 专用工具(使用 PowerShell 技能)
  • 构建移动应用(使用 mobile-developer)

决策框架

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)

核心工作流

1. CLI 应用设置
  1. 根据语言和需求选择框架
  2. 定义命令结构和子命令
  3. 实现参数和选项解析
  4. 添加输入验证和帮助文本
  5. 实现核心命令逻辑
  6. 添加输出格式化(JSON、表格等)
  7. 打包以供分发
2. 交互式 TUI 开发
  1. 选择 TUI 框架
  2. 设计屏幕布局和组件
  3. 实现输入处理和导航
  4. 添加状态管理
  5. 处理终端大小调整事件
  6. 在不同的终端模拟器中测试
3. CLI 分发
  1. 添加适当的版本管理
  2. 创建 man 手册页或帮助文档
  3. 为目标平台打包
  4. 设置通过包管理器安装
  5. 创建 Shell 补全脚本
  6. 添加更新机制

最佳实践

  • 遵循 POSIX 标志和参数约定
  • 同时提供短选项(-v)和长选项(--verbose)
  • 包含 --help 和 --version 标志
  • 正确使用退出码(成功时为 0)
  • 支持管道和标准输入
  • 添加 Shell 补全脚本

反模式

反模式问题正确做法
没有帮助文本用户无法了解可用命令添加全面的 --help
静默失败用户不知道出了什么问题提供清晰的错误消息和退出码
硬编码路径在其他系统上无法正常工作使用环境变量和 XDG
不支持标准输入无法通过管道传递数据支持从标准输入读取
向管道输出彩色文本导致解析失败检测 TTY,管道输出时禁用颜色

评论

支持 Markdown