SuperAPI AI 工具集

cli-developer

编程与开发

查看项目

更新于 10-15 11:07

技能介绍

用途

CLI Developer 用于在构建命令行应用与终端界面时提供专业指导。其覆盖范围包括:任意语言的 CLI 应用开发、交互式终端用户界面(TUI)创建、命令行参数解析实现、Shell 脚本与自动化工具构建、进度条/加载动画/彩色输出添加、REPL 风格应用创建,以及 CLI 工具的打包分发。

何时使用

在以下情况调用该技能:

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

在以下情况不要调用:

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

框架选型决策框架

技能提供按语言与需求选择框架的决策路径:

  • Node.js → Commander.js、Yargs、Oclif
  • Python → Click、Typer、argparse
  • Go → Cobra、urfave/cli
  • Rust → Clap、structopt
  • 需要 TUI 时:
    • Node.js → Ink、Blessed
    • Python → Textual、Rich
    • Go → Bubbletea、tview
    • Rust → Ratatui、crossterm
  • 简单脚本 → Shell(bash/zsh)

核心工作流

  1. CLI 应用搭建:根据语言/需求选择框架;定义命令结构与子命令;实现参数与选项解析;添加输入校验与帮助文本;实现核心命令逻辑;添加输出格式化(JSON、表格等);打包以便分发。

  2. 交互式 TUI 开发:选择 TUI 框架;设计屏幕布局与组件;实现输入处理与导航;添加状态管理;处理终端尺寸变化事件;在不同终端模拟器上测试。

  3. CLI 分发:添加正确的版本管理;创建 man 手册或帮助文档;为目标平台打包;通过包管理器设置安装;创建 Shell 补全;添加更新机制。

最佳实践

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

反模式

  • 无帮助文本:用户无法发现命令,应添加完整的 --help
  • 静默失败:用户不知道出了什么问题,应提供清晰的错误信息与退出码
  • 硬编码路径:在其他系统上会出错,应使用环境变量、XDG
  • 不支持 stdin:无法通过管道传入数据,应支持从 stdin 读取
  • 向管道输出彩色内容:会破坏解析,应检测 TTY,对管道禁用颜色

限制

该技能不适用于 GUI 桌面应用、基于 Web 的界面、PowerShell 专用工具以及移动应用开发。关于具体收费、价格、平台支持范围与效果等事实,资料中暂未提供。