跳转正文

yoyoboot admin contracts ​

需要判断权限、动作、API 客户端及 validation linkage 是否同步时,调用各正式 owner 的检查。结果保留每项状态与复核命令,严格模式要求全部一致。

基本用法 ​

text
yoyoboot admin contracts status [--check] [--json]

在 YoyoBoot 源码仓库中运行 ​

实际运行五类 owner 检查;运行前准备对应开发依赖。

text
pnpm --dir tools/yoyoboot-cli run cli -- admin contracts status --json

参数 ​

参数必填说明
status是只读检查五类契约同步状态。
--json否以 JSON 输出完整结果信封,供机器读取。
--help否展示帮助;yoyoboot --help / yoyoboot <command> --help。
--repo <path>否显式指定仓库查找起点;缺省从当前工作目录向上查找。
--check否布尔选项,不接受取值。

示例 ​

固定示例仓库中的返回结果 ​

text
yoyoboot admin contracts status --json

此命令针对固定示例仓库。下面只展示公开字段投影,不是当前 checkout 的完整输出。

json
{
  "command": "contracts status",
  "status": "warn",
  "data": {
    "kind": "contracts-status",
    "checks": {
      "capability": {
        "status": "current"
      },
      "actionContracts": {
        "status": "current"
      },
      "apiGenerated": {
        "status": "current"
      },
      "validationLinkage": {
        "status": "current"
      },
      "liveOpenApi": {
        "status": "unavailable"
      }
    }
  }
}

返回结果 ​

五类正式 owner 检查的同步状态。

主要字段 ​

字段说明
command实际结果命令名;Admin 保留子命令名,入口捕获异常时为 cli。
statusok / warn / error;同时检查退出码及诊断码。warn 可以退出 0。
findings[]诊断项包含 code、status、message,可选 detail;机器使用 code 分支,不解析消息。
sourceJSON 顶层命令实现来源,包含 kind / path / owner。
data命令结果;入口捕获失败时可能缺省,部分诊断失败仍保留结果。
data.kind固定为 contracts-status。
data.checks包含 capability、actionContracts、apiGenerated、validationLinkage、liveOpenApi。
data.checks.&lt;name&gt;.statuscurrent / stale / unavailable / error。
data.checks.&lt;name&gt;.owner该检查的正式执行 owner。
data.checks.&lt;name&gt;.command可单独复核的命令字符串。
data.checks.&lt;name&gt;.message人类诊断说明,不作为状态判定协议。

使用说明 ​

  • 仓库根使用 pnpm --dir tools/yoyoboot-cli run cli -- <命令参数>;已完成构建时也可使用 node tools/yoyoboot-cli/dist/bin.js <命令参数>。
  • JSON 示例来自固定示例仓库的公开投影,省略实现来源、规则文件位置及大段内容;<...> 是明确的环境占位符。完整字段见返回结果表,实际内容以当前工作树为准。
  • 全局参数严格解析:未知、重复、缺值参数返回退出码 2;--help 输出文本,即使同时指定 --json。
  • 此结果没有独立的 data.schemaVersion;不要把来源 catalog 版本或 Reference metadata 版本当成结果版本。
  • 调用正式 owner checks,可能发生 .NET 构建及进程执行;不修改正式合同、不启动后端、不执行数据库迁移。
  • 未设置 YOYO_ADMIN_OPENAPI_URL 时 liveOpenApi 为 unavailable。普通状态查询可 warn、退出 0;--check 要求全部 current,否则退出 2并保留 data。
  • owner 退出码 0=一致、3=漂移;live 检查的 4=来源不可用,其余非零为 error。一个检查失败不会阻止其它检查。
  • contracts refresh 尚未实现。

退出码 ​

Exit code含义
0成功或仅有警告;警告仍需阅读。
2预期失败:参数、仓库或领域条件不满足,或严格检查未通过。
1未预期程序错误。

常见错误 ​

unsupported-contracts-command ​

不是唯一的 status 子命令或有多余参数。

处理方式:使用 admin contracts status。

contracts-dry-run-unsupported ​

诊断不接受 --dry-run。

处理方式:移除 --dry-run;诊断本身不刷新合同。

contracts-not-current ​

--check 严格模式下并非全部 current。

处理方式:按返回的 owner 命令检查,使用正式生成入口刷新漂移合同。

相关命令 ​

YoyoBoot · 从真实项目走向可复用能力