@arxo/ cli (英语)
这个 law 指挥阿克索法. 写出一个拐杖(法律,关税,标准,
检查一下 测试一下 把它钉入一个案子
问个问题 每一份答复都是一份犬类评价文件,其中
证明和仓促; law eval 重放它离线到相同的字节.
安装 • 妇女 写条拐杖 • 妇女 问一个案子 • 妇女 图标 • 妇女 相关软件包
安装
| 路线 | 命令 | 平台 |
|---|---|---|
| 无 | 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 | 德比安,乌本图(amd64) |
| 存档 | GitHub 发布 与 .sha256 每个归档旁边 | macOS arm64, Linux x64 |
所有路线都搭载同为"GitHub Release"的字节. 这个 npm 包是一个
薄发射器:平台软件包 @arxo/cli-<os>-<arch> 拿着二进制,
财务报告和审定财务报表 law version --json 打印它的sha256.
$ 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数字 :
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数字 :
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数字 :
[[tests]]
family = "parcel_tariff"
suites = ["tests/tariff.lawtest"]
world = ["demo.parcel_tariff"]
law engine check . 是静态检查:类型、名称、信头对齐
名单 报告与其行、栏和a的错写关系
稳定代码( e)LDC-E2102),因此编辑器或CI可以对代码作出反应,而不是对
措辞. law test 运行已宣布的情景.
问下个案子
箱子包能挡住你的处境, 木棍能挡住你
依赖性. law pack 把它装入一个手提箱 .arxo 文档,以及
law add 把它插进去 law.lock 没有任何网络。 这个案子,
main.lawcase数字 :
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: 同一个引擎 在节点和浏览器中——从 JavaScript 或 TypeScript 中询问一个被绑起的 Canoncreate-arxo: 准备就绪 TypeScript 项目,npm create arxo@latest my-app- 指南: 快速启动 • 妇女 读取答案
阿帕奇2.0 (英语).