切换主题
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。 |
status | ok / warn / error;同时检查退出码及诊断码。warn 可以退出 0。 |
findings[] | 诊断项包含 code、status、message,可选 detail;机器使用 code 分支,不解析消息。 |
source | JSON 顶层命令实现来源,包含 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 没有可投影的验证入口。
处理方式:阅读正式来源补查;不要自动扩大为全仓测试。
相关命令
Reference 合同版本:
1.0.0结果合同版本:
2.0.0源码产品版本:
10.5.7(不代表 registry 发布状态)。