SuperAPI AI 工具集

cli-to-js-api-wrapper

编程与开发

查看项目

更新于 10-15 21:04

技能介绍

用途:cli-to-js 读取某个已安装二进制的 --help 输出,解析成 schema,并返回一个基于 Proxy 的、带类型的 API,让子命令变成方法、标志变成选项,便于在智能体工作流中以结构化方式调用 CLI,而不是拼接原始 shell 字符串。

主要能力:convertCliToJs(binary) 运行 --help 并返回类型化 API;fromHelpText(binary, text) 从静态帮助文本构建。子命令作为方法调用,位置参数用 _ 键传入,camelCase 键自动转为 kebab-case 标志(如 dryRun → --dry-run)。提供 .text()、.lines()、.json<T>() 输出辅助方法,以及 stdout、stderr、exitCode 原始结果。支持 $validate 校验选项并给出 did-you-mean 建议,$parse 解析子命令 schema,$schema 查看完整 schema,$command 生成命令字符串而不执行,$spawn 与 spawnCommand 支持流式输出和异步迭代。可传入 cwd、env、timeout、signal、stdio 等每次调用配置。

使用方式:安装 npm install cli-to-js。基本用法为 import { convertCliToJs } from "cli-to-js"; const git = await convertCliToJs("git"); 然后 await git.commit({ message: "...", all: true })。可用泛型 convertCliToJs<T> 获得完整类型检查。命令行代码生成:npx cli-to-js git -o git.ts,支持 --js、--subcommands、--dts、--json 等选项,生成文件独立且无运行时依赖。

适用场景:智能体工作流中需要结构化、可校验的 CLI 调用;把 CLI 包装为带类型的 JS/TS API;生成类型声明或 schema。

限制:依赖二进制在 PATH 中且 --help 输出可被解析;子命令标志需设置 subcommands: true 或调用 $parse 才会填充;帮助文本解析失败时可用 fromHelpText 或指定 helpFlag;慢速帮助输出可调大 timeout。资料未提供收费、价格与平台支持信息。