SuperAPI AI 工具集

cli-tool-development

编程与开发

查看项目

更新于 10-15 19:58

技能介绍

用途:指导开发者使用 Node.js 生态构建专业命令行(CLI)工具,核心组合为 commander(命令解析)、Ink(富交互 TUI)等。

主要能力与内容: 项目结构:推荐 src/ 下分入口 index.ts(带 shebang)、cli.ts(commander 配置)、commands/、ui/(Ink 组件)、utils/、types.ts。 命令定义:用 commander 的 Command 设置 name、description、version,通过 program.command() 定义子命令(如 init),支持 -t/--template、-f/--force 等选项,再用 parseAsync 解析。 用户反馈:用 chalk 输出成功(✓)、失败(✗)、警告(⚠)等状态信息;用 ora 显示加载中 spinner,并可 succeed/fail。 交互提示:用 enquirer 提供输入与确认等交互(如 input、confirm,含 validate 校验)。 富交互界面:用 Ink + React 渲染 TUI,支持 Box、Text、useInput 处理方向键与回车。 配置管理:用 fs-extra 在用户目录(如 ~/.mytool/config.json)加载与保存配置,含默认配置与目录创建。 错误处理:监听 SIGINT 优雅退出;顶层 try/catch 捕获错误并 process.exit(1)。 打包:package.json 中配置 bin、files、type: module,脚本示例 build 用 tsup、dev 用 tsx。

最佳实践:入口加 #!/usr/bin/env node;同时支持短横线与长选项;提供有帮助的错误提示;支持 --help 与 --version;退出码 0 成功、1 错误;适当支持管道与 stdin;遵守 NO_COLOR 环境变量。

适用场景:需要构建安装即用的 Node.js 命令行工具、脚手架、含交互式界面的终端应用。

限制:资料未说明具体版本、依赖兼容性或平台差异;未提及收费、价格或效果保证,这些事实暂未提供。