# @arxo/cli 中文文档

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

版本：0\.2\.9
npm 元数据更新时间：2026-10-21T12:18:55.933Z
中文译文更新时间：2026-11-07T00:09:53.468Z
软件包许可：Apache-2\.0

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

原始 npm 页面：https://www.npmjs.com/package/%40arxo/cli
原文对照：https://npmcn.com/package/%40arxo/cli/?lang=original
项目主页：https://www.arxo.io/
源码仓库：https://github.com/arxohq/law

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

- 包体积（解压后）：34.5 kB，7 个文件
- 模块格式：ES Module
- TypeScript 类型：未声明
- Node.js 要求：\>=20
- 运行依赖：0 个
- 首次发布：2026-10-02T00:21:02.439Z
- 最新版本发布：2026-10-21T12:18:55.697Z
- 近 30 天下载量：2127（2026-10-07 至 2026-11-05，npm 官方下载统计）
- 已发布版本数：25（近 12 个月 25 个）

## 中文简介

阿克索法 `law` npm的二进制:init/add/install/update/outdate/test/ask/eval上被钉住的罐头. 薄发射器;平台包搭载了1个GitHub放行的字节.

## 安装

```sh
npm install @arxo/cli
```

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

## README

![Terminal: law init a canon package, law engine check reports LDC-E2102 for a typo, after the fix check OK, law test passes two scenarios](https://cdn.jsdelivr.net/npm/@arxo/cli@0.1.4/assets/canon.svg)

# @arxo/ cli (英语)

**这个 `law` 指挥阿克索法.** 写出一个拐杖(法律,关税,标准, 检查一下 测试一下 把它钉入一个案子 问个问题 每一份答复都是一份犬类评价文件,其中 证明和仓促; `law eval` 重放它离线到相同的字节.

[![npm](https://img.shields.io/npm/v/@arxo/cli?color=0b6e4f)](https://www.npmjs.com/package/@arxo/cli) ![platforms](https://img.shields.io/badge/platforms-macOS%20arm64%20%C2%B7%20Linux%20x64-3f3d9e) ![license](https://img.shields.io/npm/l/@arxo/cli)

[安装](https://npmcn.com/package/%40arxo/cli/#readme-install) • 妇女 [写条拐杖](https://npmcn.com/package/%40arxo/cli/#readme-write-a-canon) • 妇女 [问一个案子](https://npmcn.com/package/%40arxo/cli/#readme-ask-a-case-under-it) • 妇女 [图标](https://npmcn.com/package/%40arxo/cli/#readme-commands) • 妇女 [相关软件包](https://npmcn.com/package/%40arxo/cli/#readme-related-packages)

## 安装

| 路线 | 命令 | 平台 |
| --- | --- | --- |
| 无 | `npm i -g @arxo/cli` | macOS arm64, Linux x64 |
| 土生土长 | `brew install arxohq/tap/law` | macOS arm64, Linux x64 |
| 贝壳脚本 | `curl -fsSL https://github.com/arxohq/law-releases/releases/latest/download/install.sh | sh` | macOS arm64, Linux x64 |
| 亚太 | 软件包 `arxo-law`,设置于 [软件包.arxo.io](https://packages.arxo.io/) | 德比安,乌本图(amd64) |
| 存档 | [GitHub 发布](https://github.com/arxohq/law-releases/releases) 与 `.sha256` 每个归档旁边 | macOS arm64, Linux x64 |

所有路线都搭载同为"GitHub Release"的字节. 这个 npm 包是一个 薄发射器:平台软件包 `@arxo/cli-<os>-<arch>` 拿着二进制, 财务报告和审定财务报表 `law version --json` 打印它的sha256.

```text
$ law version
law 0.1.1
semantics: law.core/0.2
std for language 0.2: 0.2.0
lawql: lawql/1 (queryResult 0.1)
binary hash: sha256:cfa7c17232f2…
```

## 写条拐杖

以上会议,从一个空文件夹:包税——最多2公斤收费 500,超过500加150,每公斤超过2. `law init --template package` 创建 `law.toml` 财务报告和审定财务报表 `source.law`; 规则进入 `source.law`数字 :

```law
language "law.core" version "0.2";
package demo.parcel_tariff version "0.1.0";
namespace "urn:law:demo:parcel_tariff";

pub entity Shipment { label en unofficial "Shipment"; }

pub relation weight_kg(s: Shipment, kg: Decimal) kind empirical {
    label en unofficial "weight of the shipment, kg";
}
pub relation fee(s: Shipment, amount: Decimal) kind institutional {
    label en unofficial "postage under the tariff";
}

rule BaseFee(s: Shipment, kg: Decimal) strict {
    label en official "up to and including 2 kg: base fee 500";
    when weight_kg(s, kg);
    when kg <= 2.0;
    then fee(s, 500.0);
}

rule HeavyFee(s: Shipment, kg: Decimal) strict {
    label en official "over 2 kg: 500 plus 150 for each kilogram above 2";
    when weight_kg(s, kg);
    when kg > 2.0;
    then fee(s, 500.0 + (kg - 2.0) * 150.0);
}
```

期望来自关税文本 **在此之前** 运行情况: 5公斤= 500 + 3 × 150 = 9.50; 准确 2公斤 → 500. `tests/tariff.lawtest`数字 :

```law
language "law.core" version "0.2";
package demo.parcel_tariff version "0.1.0";
namespace "urn:law:demo:parcel_tariff";

test "urn:query:demo-parcel-tariff-t01-heavy" {
    given {
        context { legal_time @2026-09-25; decision_time @2026-09-25T00:00:00Z; knowledge_time @2026-09-25T00:00:00Z; timezone "UTC"; }
        assert "w": weight_kg(entity_ref("urn:case:box-1"), 5.0) { origin case_input; }
    }
    evaluate truth(fee(entity_ref("urn:case:box-1"), 950.0));
    expect truth_status == TRUE_ONLY;
    expect evaluation_status == COMPUTED;
}

test "urn:query:demo-parcel-tariff-t02-base" {
    given {
        context { legal_time @2026-09-25; decision_time @2026-09-25T00:00:00Z; knowledge_time @2026-09-25T00:00:00Z; timezone "UTC"; }
        assert "w": weight_kg(entity_ref("urn:case:box-2"), 2.0) { origin case_input; }
    }
    evaluate truth(fee(entity_ref("urn:case:box-2"), 500.0));
    expect truth_status == TRUE_ONLY;
    expect evaluation_status == COMPUTED;
}
```

内 `law.toml`数字 :

```toml
[[tests]]
family = "parcel_tariff"
suites = ["tests/tariff.lawtest"]
world = ["demo.parcel_tariff"]
```

`law engine check .` 是静态检查:类型、名称、信头对齐 名单 报告与其行、栏和a的错写关系 稳定代码( e)`LDC-E2102`),因此编辑器或CI可以对代码作出反应,而不是对 措辞. `law test` 运行已宣布的情景.

## 问下个案子

![Terminal: law pack into tariff.arxo, law init my-case, law add the container, law ask answers TRUE\_ONLY with a result hash, law eval replays the same hash](https://cdn.jsdelivr.net/npm/@arxo/cli@0.1.4/assets/case.svg)

箱子包能挡住你的处境, 木棍能挡住你 依赖性. `law pack` 把它装入一个手提箱 `.arxo` 文档,以及 `law add` 把它插进去 `law.lock` 没有任何网络。 这个案子, `main.lawcase`数字 :

```law
language "law.core" version "0.2";
package my_case version "0.1.0";
namespace "urn:law:my_case";

case Main {
    context {
        legal_time @2026-10-01;
        knowledge_time @2026-10-01T12:00:00Z;
        decision_time @2026-10-01T12:00:00Z;
        timezone "UTC";
    }
    assert demo.parcel_tariff::weight_kg(entity_ref("urn:case:box-1"), 5.0) { origin case_input; }
}
```

`law ask --out runs/fee` 保存请求和完整的评价文件; `law eval runs/fee` 重新计算并获得同样的结果散列. 无 `jq`, (中文(简体) ), `--format brief` 打印一行 JSON 摘要.

## 图标

`law --help` 列出每个旗帜。 主要的几个:

| 命令 | 它会做什么 |
| --- | --- |
| `law init <dir> [--template case|package]` | 新的案件包(你的情况)或行刑箱包(你的规则) |
| `law add <name>@<version> · law add <file.arxo>` | 将依赖关系插入 `law.lock` 并将其字节安装到 `deps/` |
| `law install [--offline]` | 恢复 `deps/` 从 `law.lock` |
| `law update <name>[@<version>] [--replay <dir>]` | 移动一针; `--replay` 显示所保存的答案将会更改 |
| `law outdated` | 被钉住的,被公布的,锁没有被打开 |
| `law test` | 运行在 `law.toml` |
| `law ask (--query … | --query-json <file> | --card <id>)` | 询问案件; `--out <dir>` 保存请求和评价文档 |
| `law eval <dir | file.arxo>` | 重放已保存的评价离线; 从容器中对照已保存的文档检查 |
| `law case questions · check · facts · document · diff` | 与案件有关的工作:问卡、有出处的事实、所附文件 |
| `law pack --out <file.arxo> · law unpack · law inspect` | 一个便携式容器:包件、锁、输入;扩充或检查 |
| `law key new · law sign · law publish` | 签名容器; 发布到登记目录 |
| `law audit` | 软件包的正规化度量; 没有执行 |
| `law types <package>` | 软件包的脚本声明 |
| `law serve --world <dir>` | 在一个被钉住的世界提供HTTP服务: `POST /v1/ask` 返回同一文档 |
| `law engine check · lock · …` | 低级引擎命令:静态检查、自锁和更多 |
| `law version [--json]` | 工具版本、 语义行、 二进制散列 |
|  |  |

## 相关软件包

![Arxo Law packages: which one to install](https://cdn.jsdelivr.net/npm/@arxo/law@0/assets/layers.svg)

-   [`@arxo/law`](https://www.npmjs.com/package/@arxo/law): 同一个引擎 在节点和浏览器中——从 JavaScript 或 TypeScript 中询问一个被绑起的 Canon
-   [`create-arxo`](https://www.npmjs.com/package/create-arxo): 准备就绪 TypeScript 项目, `npm create arxo@latest my-app`
-   指南: [快速启动](https://docs.arxo.io/guide/quickstart/) • 妇女 [读取答案](https://docs.arxo.io/guide/reading-an-answer/)

阿帕奇2.0 (英语).

## 常见问题

### @arxo/cli 是什么？

阿克索法 law npm的二进制:init/add/install/update/outdate/test/ask/eval上被钉住的罐头\. 薄发射器;平台包搭载了1个GitHub放行的字节\.

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

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

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

该包的 package\.json 没有声明类型入口。需要类型提示时，可以在 npm 上查找社区维护的 @types/arxo\_\_cli 是否存在。

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

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

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

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

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

@arxo/cli 使用 Apache-2\.0 许可。宽松许可：允许商业使用、修改和再分发，并附带明确的专利授权；分发时需保留许可与 NOTICE 文件，修改过的文件要注明改动。以上为概括，不构成法律意见，请以许可原文为准。

### @arxo/cli 的下载量有多少？

根据 npm 官方下载统计，@arxo/cli 在 2026/10/07 – 2026/11/05 这 30 天内被下载 2,127 次，日均约 71 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

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

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

