# @vxil/cli 中文文档

规范地址：https://npmcn.com/package/%40vxil/cli/

版本：0\.36\.0
npm 元数据更新时间：2026-11-02T20:14:03.257Z
中文译文更新时间：2026-11-02T20:54:49.233Z
软件包许可：MIT

本文由上游 README 机器翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40vxil/cli
原文对照：https://npmcn.com/package/%40vxil/cli/?lang=original
项目主页：https://vxil.com/

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：2.8 MB，17 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- Node.js 要求：\>=24
- 运行依赖：3 个
- peer 依赖：miniflare ^4\.20260730\.0
- 首次发布：2026-07-10T14:30:27.915Z
- 最新版本发布：2026-11-02T20:14:03.064Z
- 已发布版本数：57（近 12 个月 57 个）

## 中文简介

vxil CLI - init, quickstart, push, gen, secrets, keys, migrate, doctor, diff, functions, payments；安装 `vxil` 命令（npm I -g @vxil/cli）。

## 安装

```sh
npm install @vxil/cli
```

也可以使用：`pnpm add @vxil/cli`、`yarn add @vxil/cli`、`bun add @vxil/cli`

## README

# @vxil / cli

这个 [Vxil](https://vxil.com/) 在一行中启用后端构建块的CLI - config-as-code。包裹是 `@vxil/cli` 它安装了 `vxil` 命令-裸 `vxil` NPM上的Name被阻止了，所以总是安装有作用域的包。它需要Node.js 24或更新版本。

```bash
npx @vxil/cli quickstart          # create a tenant + scaffold vxil.config.ts
npx @vxil/cli push                # apply your config (features, cms collections, functions)
npx @vxil/cli gen                 # generate a typed client + MCP manifest for YOUR backend
npx @vxil/cli functions dev fn    # run a tenant function locally against the remote edge
npx @vxil/cli listen --forward-to localhost:3000/webhook   # forward inbound webhook events to your local server
npx @vxil/cli mcp install --client cursor   # wire your backend's MCP server into your editor's agent
npx @vxil/cli doctor              # keys, URLs, reachability + secrets referenced-vs-stored + per-function hashes
npx @vxil/cli diff --against staging   # CI drift gate vs a named slot: exit 0 no drift · 1 drift · 2 error
```

配置即代码存在于 `vxil.config.ts`，由 `@vxil/config` (也被捆绑为 `@vxil/cli/config` 子路径):

```ts
import { defineConfig } from '@vxil/config';

export default defineConfig({
  // (a) per-feature config — the same typed manifests the server validates
  features: {
    auth: { enabled: true },
    cms: { enabled: true, draftPublish: true },
    // provider 'resend' needs its key: `vxil secrets set RESEND_API_KEY` (or use provider: 'mock' to try it)
    notifications: { enabled: true, provider: 'resend', resendApiKeyRef: 'secret:RESEND_API_KEY', fromEmail: 'noreply@example.com' },
  },
  // (b) CMS schema-as-code — collections + fields, reconciled by `vxil push`
  cms: {
    collections: {
      tasks: {
        fields: {
          title: { type: 'string', required: true, indexSlot: 's1' },
          done: { type: 'bool' },
        },
      },
    },
  },
});
```

动词: `init templates quickstart try login link keys account logout invites members projects billing plan push pull diff gen doctor architect versions rollback secrets env seed export import functions listen mcp cms files webhooks search dev payments migrate config users send deliveries api`.

`vxil quickstart [--features a,b] [--invite <code>] [--env <label>] [--dev [--ttl <h>]] [--no-push]` 是前门； `vxil api --help` 打印操作员备忘单-每一个仪表板动作作为一个 `vxil api` 线。

**每个动词都为它的目标命名。** `--dev` 选择开发槽位， `--target <name>` 绑定的命名槽位 `vxil link <slug> --as <name>` （合并到现有的绑定中，而不是替换它）。选择器是 **fail-closed** -一个未绑定的插槽退出1，告诉你修复，永远不会落到另一个租户-每个写动词在它起作用之前打印一个目标横幅（slug + env，而不是一个键）。

-   `vxil plan --explain` -配置计划与每个叶子标记 _宣布_ 或者 _默认的_.
-   `vxil push [--skip-functions]` -应用模式→配置→函数；低于功能计划的项目被停止 _在任何东西被推送之前_, `--skip-functions` 推动其余部分。
-   `vxil diff [--against <target>] [--ignore <k,…>] [--strict-secrets] [--strict-runtime]` - CI漂移门；机密仅通过名称进行比较，并且引用但未存储的名称具有信息性，除非 `--strict-secrets`。列出了一个函数，其唯一的区别是平台设置——函数运行时（兼容性日期/标志）或计划的CPU限制 `reason: runtime <old> → <new>` / `reason: cpu-limit <old> ms → <new> ms` 并在门下提供信息(`--exit-code` / `--against`：退出0)除非 `--strict-runtime` ——平原 `vxil diff` 仍然在计算； `vxil plan` 显示了同样的原因，和 `vxil push` 在新设置下重新部署它。
-   `vxil doctor` - preflight：秘密引用vs存储（建议，仅名称）加上每个函数的服务/发布/本地哈希判决。下 `--json` stdout是一个JSON文档；通知到stderr。
-   `vxil link <slug>` -重用已经存储在这台机器上的密钥； `--mint` 如果是新鲜的， `--key` 交一份。
-   `vxil keys mint --name <name> --scopes <a,b,c> [--env live|test] [--store]` -薄荷 **狭窄的** 服务器的密钥（本地验证的范围）； `admin` 拒绝);键印 **一次** To stdout （）`--json` → `{ api_key, key_id, scopes }`)，除非 `--store`. `vxil keys list` 显示名称，id，范围，创建和最后使用（没有秘密）； `vxil keys revoke <key_id> [--yes]` 要求您键入id，并拒绝键入CLI本身正在使用的键，除非 `--yes`。需要一个仪表板会话(`vxil login`，或在终端提示；一个有管道的/ `--json` 运行失败的补救措施，而不是通过 `--email`/`--password` 来编写它，它从不存储会话)。
-   `vxil cms drop <collection> [--purge-rows] [--yes]` -通过相同的保护ack删除一个集合定义 `push --allow-destructive` 使用(行被保留，重新创建将它们带回来； `--purge-rows` 硬删除它们，并且在先前删除的集合上删除其保留的行)。
-   `vxil members list|invite|add|rm|uninvite` 和 `vxil invites accept <token|url>` -从终端绑定项目的团队(您的 `vxil login` 会话)：通过带有角色的电子邮件邀请、添加现有帐户（以及如何更改角色）、删除（键入的电子邮件、拒绝上一个所有者）、撤销未决邀请、接受邀请。
-   `vxil projects list|create|rm` 和 `vxil billing status|upgrade --tier <t>` -你的项目和绑定项目的计划。 `projects rm` 删除您拥有的任何项目后，您键入它的鼻涕虫； `billing upgrade` 打印托管的结帐URL（从不打开浏览器）并降级(`--tier free`）。
-   `vxil files put <path> --user <id>`， `vxil webhooks sources add|list|rm|test`， `vxil webhooks events replay|runs`， `vxil cms bulk-rm <collection> --filter '<json>' [--dry-run]`， `vxil search sync run|reset <key> [--purge]`， `vxil users import <file>` - CLI添加原始调用不能添加的操作符操作（来自磁盘的字节，一次打印的接收器URL，键入确认之前的演练，块化批量）。仪表板所做的每件事都是一个功能 `vxil api` 线: `vxil api --help`.
-   `vxil gen --offline --check` 忽略固定的API专业（只有在线生成器知道它们），因此在线生成的 `vxil.types.ts` 通过离线门。
-   `vxil api <METHOD> <path> ['<json>' | --data '<json>']` -任意呼叫 `/v1` 路线;在标准输出上显示纯JSON，在标准输出上显示横幅。
-   `vxil secrets list --all-projects` -跨每个绑定项目的名称和元数据矩阵（值永远不会返回）。
-   `vxil migrate payments --from-provider stripe|paddle|paypal|revenuecat (--customers <f.csv> | --all) [--dry-run]` -通过服务器同步腿回填订阅；可恢复的。
-   `vxil payments simulate --scenario <s> --user <id> [--tier <t>]` -仅模拟/dev项目：驱动退款对，跨平台解锁，续期，到期，过期宽限期或转移并检查oracle。

`vxil listen --forward-to <url>` 轮询租户的入站webhook事件，并根据生产使用的完全相同的交付合同将每个新事件重新发布到您的本地服务器-相同的身体形状，相同的签名 `X-Vxil-Jobs-Signature` 头（您的真实签名秘密）-因此您在本地测试的处理程序就是您发布的处理程序。 `--replay-last <n>` 重新转发最近的事件； `--raw` 单独发布存储的提供程序有效负载。

文档: [vxil.com](https://vxil.com/) ·仪表板: [vxil.com/dashboard](https://vxil.com/dashboard)

MIT©techmaker.io

## 常见问题

### @vxil/cli 是什么？

vxil CLI - init, quickstart, push, gen, secrets, keys, migrate, doctor, diff, functions, payments；安装 vxil 命令（npm I -g @vxil/cli）。

### 如何安装 @vxil/cli？

在项目目录运行 npm install @vxil/cli，或使用 pnpm add / yarn add / bun add。它还提供命令行工具 vxil，可以用 npx vxil 直接运行。

### @vxil/cli 支持 TypeScript 吗？

支持。包内自带 TypeScript 类型声明（package\.json 声明了 types 入口），安装后即可获得类型提示，无需再安装 @types 包。

### @vxil/cli 支持 ESM 还是 CommonJS？

以 ES Module 形式发布，推荐使用 import 引入。在 CommonJS 项目中，Node\.js 20\.19\+ / 22\.12\+ 可以直接 require\(\) 不含顶层 await 的 ES Module，更早的版本需要改用动态 import\(\)。

### @vxil/cli 需要什么版本的 Node\.js？

package\.json 的 engines 字段要求 Node\.js \>=24。版本不符时 npm 默认只给出警告，开启 engine-strict 后会拒绝安装。

### @vxil/cli 可以商用吗？

@vxil/cli 使用 MIT 许可。宽松许可：允许商业使用、修改和再分发，通常只需在分发时保留原版权与许可声明。以上为概括，不构成法律意见，请以许可原文为准。

### @vxil/cli 还在维护吗？

最新版本 0\.36\.0 发布于 2026/11/03（今天）；至今共发布 57 个版本，其中过去 12 个月发布了 57 个；首次发布于 2026/07/10。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

