SuperAPI AI 工具集

agent-cli-developer

编程与开发

查看项目

更新于 10-16 22:15

技能介绍

用途

agent-cli-developer 是一个专门用于命令行工具开发的子智能体技能,面向需要构建 CLI 工具、实现交互式终端界面或设计命令行使用体验的场景。它以专家视角提供跨语言、跨框架的 CLI 开发知识。

主要能力

参数解析:位置参数校验与类型转换,命名标志(布尔、字符串、数字)的短/长形式,带共享与专属选项的子命令层级,自定义校验器与错误信息,自动生成 help 与 version 标志,配置类标志的环境变量回退,以及互斥与依赖标志组。

交互式提示:带默认值与校验的文本输入,带搜索与过滤的单选,支持全选切换及最小/最大选择数的多选,可自定义 yes/no 标签的确认提示,掩码密码输入,动态建议的自动补全,打开 $EDITOR 的多行输入编辑器提示,以及带条件问题的提示链。

终端输出:彩色与样式化文本(粗体、斜体、下划线、删除线),长时间操作的自旋动画,带 ETA 与传输速率显示的进度条,列对齐与折行的表格格式化,层级数据的树形视图,突出区块与警告的方框绘制,带语法高亮的 diff 输出,以及终端内 Markdown 渲染。

配置管理:配置文件发现(项目根目录、主目录、XDG 路径),多格式支持(JSON、YAML、TOML、INI),配置优先级(CLI 标志 > 环境变量 > 配置文件 > 默认值),点文件约定(.toolrc、.tool.config.js),Linux 上的 XDG Base Directory 合规,带 schema 强制的配置校验,以及跨版本配置迁移。

Shell 补全:Bash、Zsh、Fish、PowerShell 的补全脚本,支持动态建议(含描述与分组、基于条件)、基于运行时状态(文件路径、API 数据)的动态补全,以及各 Shell 的安装说明。

跨平台开发:覆盖 Node.js(commander、yargs、oclif)、Python(click、typer、argparse)、Go(cobra、urfave/cli、kong)、Rust(clap、structopt、argh)以及使用 getopts 与手动解析的 Shell 脚本;包含跨平台路径处理与文件系统操作,以及 Windows、macOS、Linux 兼容性测试。

错误处理:有意义的退出码(0 成功、1 一般错误、2 用法错误),错误与诊断走 stderr、程序输出走 stdout,SIGINT 与 SIGTERM 的优雅关闭,verbose 与 debug 输出级别,带常见错误修复建议的错误上下文,仅在 debug 模式显示堆栈跟踪。

分发:Go、Rust 的单二进制编译,带 bin 字段的 npm 全局包发布,带入口点的 pip/pipx 安装,Homebrew formula 与 tap 创建,Shell 脚本安装器(curl | bash 模式),带自动生成二进制的 GitHub Releases,用于容器化 CLI 的 Docker 镜像,以及从帮助文本生成 man page。

测试:捕获 stdout/stderr 的命令执行测试,CLI 输出格式的快照测试,使用真实文件系统与进程的集成测试,用于交互式提示测试的模拟 stdin,测试框架中的退出码断言,跨平台 CI 测试(Linux、macOS、Windows),以及参数解析边界情况的回归测试。

最佳实践

遵循 Unix 哲学(做好一件事,用管道组合);日志与诊断走 stderr,程序输出走 stdout;同时提供人类可读与机器可解析输出(--json 标志);支持 stdin 管道以便与其他工具组合;为所有支持的 Shell 提供补全;为破坏性操作实现 --dry-run;采用渐进式披露(简单默认值,进阶标志按需提供);仅在连接 TTY 时输出颜色(尊重 NO_COLOR 环境变量);提供带可操作建议的有意义错误信息;在每个命令和子命令的帮助文本中包含示例。

反模式

在 stdout 上混合日志输出与程序输出;硬编码颜色而不尊重 NO_COLOR 或 --no-color;要求交互式输入且无非交互替代方案;失败时仍返回退出码 0;深度嵌套的子命令层级(超过 3 层);跨子命令的标志命名不一致;缺少 --help 或 --version 标志;不支持从 stdin 管道输入;平台特定代码缺少跨平台回退;在 CI/无头环境中提示确认。

使用方式与适用场景

该技能通过触发词激活,触发词包括:CLI、command-line、argument parsing、interactive prompt、shell completion、terminal UI、commander、yargs、clap、cobra、inquirer、chalk。适用于构建 CLI 工具、实现交互式终端界面、设计命令行体验等任务。其任务入口以 $ARGUMENTS 接收参数。

限制

资料未提供该技能的具体授权方式、收费标准、支持的运行环境要求或版本兼容范围,暂未提供。