跳转正文

yoyoboot repo verify-plan ​

修改前后需要选择已有验证入口时使用,可按显式路径或当前工作树变更规划。该命令只返回计划,不执行检查,也不提供通过证据。

基本用法 ​

text
yoyoboot repo verify-plan <target...> [--json] | yoyoboot repo verify-plan --changed [--json]

在 YoyoBoot 源码仓库中运行 ​

根据当前 checkout 的真实改动规划检查,不执行检查。

text
pnpm --dir tools/yoyoboot-cli run cli -- repo verify-plan --changed --json

参数 ​

参数必填说明
target否仓库路径或 capability ID;verify-plan 可接受多个路径。
--json否以 JSON 输出完整结果信封,供机器读取。
--help否展示帮助;yoyoboot --help / yoyoboot <command> --help。
--repo <path>否显式指定仓库查找起点;缺省从当前工作目录向上查找。
--changed否布尔选项,不接受取值。

示例 ​

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

text
yoyoboot repo verify-plan packages/example/src/service.ts --json

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

json
{
  "command": "repo verify-plan",
  "status": "ok",
  "data": {
    "schemaVersion": "2.0.0",
    "status": "supported",
    "steps": [
      {
        "verification": {
          "command": "pnpm",
          "args": [
            "run",
            "verify"
          ],
          "cwd": "packages/example"
        },
        "changedPaths": [
          "packages/example/src/service.ts"
        ]
      }
    ],
    "uncovered": []
  }
}

返回结果 ​

按 owner 合并的验证计划及覆盖缺口。

主要字段 ​

字段说明
command实际结果命令名;Admin 保留子命令名,入口捕获异常时为 cli。
statusok / warn / error;同时检查退出码及诊断码。warn 可以退出 0。
findings[]诊断项包含 code、status、message,可选 detail;机器使用 code 分支,不解析消息。
sourceJSON 顶层命令实现来源,包含 kind / path / owner。
data命令结果;入口捕获失败时可能缺省,部分诊断失败仍保留结果。
data.schemaVersion结果合同版本:2.0.0。
data.source工作树事实来源 { kind: runtime, path: git:working-tree, owner: git }。
data.status验证覆盖状态:supported / unsupported。
data.steps[]去重后的 { verification, changedPaths };changedPaths 表示影响该步骤的路径。
data.steps[].verification已有检查的 { command: string, args: string[], cwd: string, source },cwd 为仓库相对目录。
data.uncovered[]无法规划的 { path, code, message };不得将缺口当作验证通过。

使用说明 ​

  • 仓库根使用 pnpm --dir tools/yoyoboot-cli run cli -- <命令参数>;已完成构建时也可使用 node tools/yoyoboot-cli/dist/bin.js <命令参数>。
  • JSON 示例来自固定示例仓库的公开投影,省略实现来源、规则文件位置及大段内容;<...> 是明确的环境占位符。完整字段见返回结果表,实际内容以当前工作树为准。
  • 全局参数严格解析:未知、重复、缺值参数返回退出码 2;--help 输出文本,即使同时指定 --json。
  • --changed 包括 staged、unstaged 和 untracked 路径;与显式目标互斥。
  • 空变更可返回空计划;uncovered 非空则退出码 2,data 仍保留部分可用步骤。

退出码 ​

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

常见错误 ​

unsupported-capability ​

当前仓库没有暴露所查询的 capability。

处理方式:先运行 yoyoboot repo capabilities --json,使用返回的真实 capability ID 重试。

owner-ambiguous ​

目标存在多个竞争的 owner,无法唯一确定,例如同目录有多个 csproj。

处理方式:明确指定目标项目文件或核实重复的 capability 来源;CLI 不随机选择 owner。

owner-missing ​

没有可以成立的正式 owner 或规则入口。

处理方式:核实并补齐正式 manifest、规格或责任入口,再重试查询。

path-outside-repository ​

目标路径或它的链接指向仓库外。

处理方式:使用仓库内路径,并检查目标路径的符号链接。

missing-changed-paths ​

没有显式目标或 --changed。

处理方式:提供至少一个目标,或使用 --changed。

conflicting-path-selection ​

显式目标与 --changed 同时出现。

处理方式:选择一种路径来源。

unsupported-verification ​

owner 没有可投影的验证入口。

处理方式:阅读正式来源补查;不要自动扩大为全仓测试。

相关命令 ​

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