@colliejs/run
v1.0.1
Published
A minimalist yet powerful library for building Command Line Interfaces (CLI) using Node.js.
Maintainers
Readme
@colliejs/run 🚀
一个极简但功能强大的命令行工具(CLI)开发框架。专为追求极致易用性的开发者设计,让你只需编写一个简单的对象即可构建专业的 CLI。
✨ 功能特点
- 直观的嵌套命令树:通过自然的 JS 对象定义多级子命令。无需复杂的路由配置,结构即逻辑。
- 极致的易用设计:强制使用长选项(
--option),舍弃混乱的短选项聚合,让命令更具可读性与易用性。 - 智能帮助系统:根据你的对象结构自动生成美观的命令树和选项说明文档。
- 轻量无负担:核心逻辑轻巧透明,仅依赖
minimist。
📦 安装
pnpm add @colliejs/run🚀 快速上手 (前所未有的简单)
创建一个 my-cli.ts 文件并开始编写:
import { run } from "@colliejs/run";
run({
// 1. 最简单的函数形式
hello: ({ name = "World" }) => console.log(`Hello, ${name}!`),
// 2. 嵌套子命令 (通过对象组织)
user: {
create: () => console.log("用户已创建!"),
list: () => console.log("正在列出用户..."),
},
// 3. 带有帮助信息的详细定义
greet: {
cmd: options => console.log(`消息: ${options.msg}`),
help: {
msg: { description: "消息内容", type: "string", default: "Hi" },
},
},
});🛠 运行方式
利用 Node 23+ 的原生特性,有两种方式运行你的 TypeScript 脚本:
方式 1:直接运行(无需 Shebang)
node my-cli.ts hello --name Leo方式 2:作为可执行脚本(使用 Shebang)
在 my-cli.ts 的最顶部添加运行环境声明:
#!/usr/bin/env node然后赋予执行权限并直接运行:
chmod +x my-cli.ts
./my-cli.ts hello --name Leo创建符号链接到PATH目录中(可选):
ln -s /path/to/my-cli.ts /usr/local/bin/my-cli
my-cli hello --name Leo📄 开源协议
MIT
