open-index/open-npm huggingface dataset:
npm package: @lcap-delivery/razel-cli
Description: Razel CLI
Latest version: 0.0.4

# razel-cli

TypeScript + [Yargs](https://github.com/yargs/yargs) 的命令行工具，采用**插件式子命令**；安装后对外命令为 **`razel-cli`**。

- **要求**：Node.js **≥ 18**
- **开发**：`npm install` → `npm run dev -- <子命令>`；`npm run build` 产出 `dist/`

## 子命令

| 命令 | 说明 |
|------|------|
| [`init`](src/commands/init/README.md) | 初始化 `~/.razel/config.json` |
| [`config`](src/commands/config/README.md) | 管理 `~/.razel/config.json`（点路径） |
| [`popo`](src/commands/popo/README.md) | POPO 平台能力（含 `popo doc`） |
| [`tencent-meeting`](src/commands/tencent-meeting/README.md) | 腾讯会议回放嗅探 / 下载 |

各命令的**参数、行为与示例**见对应目录下的 `README.md`。

## 新增一个子命令

1. **新建目录** `src/commands/<命令名>/`（可含 `index.ts`、实现文件、可选的 `README.md`）。
2. **实现注册函数**：导出 `(yargs: Argv) => Argv`，类型为 [`CommandPlugin`](src/lib/types.ts)。在函数内调用 `yargs.command(...)` 挂载顶层命令名与子命令（写法可参考 [`src/commands/tencent-meeting/index.ts`](src/commands/tencent-meeting/index.ts)）。
3. **挂到入口**：在 [`src/commands/index.ts`](src/commands/index.ts) 的 **`commandPlugins`** 数组中**追加**你的 `registerXxxCommand`（勿忘 `.js` 扩展的 import，与现有 ESM 约定一致）。
4. **文档**：在本节上表增加一行，并在 `src/commands/<命令名>/README.md` 中写明用法（可选但推荐）。
5. **验证**：`npm run dev -- <命令名> --help`、`npm run typecheck`、`npm run build`。

若新命令需要新的 **npm 运行时依赖**，在 `package.json` 的 `dependencies` 中添加；被 `tsup` external 的包需在 [`tsup.config.ts`](tsup.config.ts) 中声明。