切换主题
yoyoboot repo context
入口未知、跨模块修改或需要组合修改依据时使用。一次请求组合源码、正式 owner、祖先规则、规格与测试候选、验证入口,以及相关 Admin 合同。
基本用法
text
yoyoboot repo context <query> [options] [--json]在 YoyoBoot 源码仓库中运行
围绕具体问题获取同源上下文,再读取关键行号与正式来源。
text
pnpm --dir tools/yoyoboot-cli run cli -- repo context 计量单位编辑权限 --hint Pages.Administration.BasicData.MeasuringUnits.Edit --json参数
| 参数 | 必填 | 说明 |
|---|---|---|
query | 是 | 查询文本或符号。 |
--path <value> | 否 | 源码搜索范围,不改变读取授权范围。 |
--limit <value> | 否 | 结果数量上限。 |
--mode <value> | 否 | 上下文用途。 候选值:plan / spec / review / debug。 默认值:plan。 |
--hint <value> | 否 | 明确符号提示;多个符号以逗号分隔。 |
--json | 否 | 以 JSON 输出完整结果信封,供机器读取。 |
--help | 否 | 展示帮助;yoyoboot --help / yoyoboot <command> --help。 |
--repo <path> | 否 | 显式指定仓库查找起点;缺省从当前工作目录向上查找。 |
--diagnostics | 否 | 布尔选项,不接受取值。 |
示例
固定示例仓库中的返回结果
text
yoyoboot repo context service --hint service --path packages/example/src --json此命令针对固定示例仓库。下面只展示公开字段投影,不是当前 checkout 的完整输出。
json
{
"command": "repo context",
"status": "ok",
"data": {
"schemaVersion": "1.0.0",
"query": "service",
"mode": "plan",
"complete": true,
"retrievalStatus": "matched",
"domain": {
"resources": [],
"permissions": []
},
"gaps": []
}
}返回结果
可追溯的上下文及显式缺口。
主要字段
| 字段 | 说明 |
|---|---|
command | 实际结果命令名;Admin 保留子命令名,入口捕获异常时为 cli。 |
status | ok / warn / error;同时检查退出码及诊断码。warn 可以退出 0。 |
findings[] | 诊断项包含 code、status、message,可选 detail;机器使用 code 分支,不解析消息。 |
source | JSON 顶层命令实现来源,包含 kind / path / owner。 |
data | 命令结果;入口捕获失败时可能缺省,部分诊断失败仍保留结果。 |
data.schemaVersion | 结果合同版本:1.0.0。 |
data.query | 原查询文本。 |
data.mode | 上下文用途:plan/spec/review/debug。 |
data.expandedTerms / strongTerms / broadTerms | 实际查询词及强提示、宽泛词分组。 |
data.workspace | 工作树 id 和 name。 |
data.inventory | 清单 strategy、files、referenceRoots 和 truncated。 |
data.repoMap | 模块、manifest 及 referenceRoots 的简要地图。 |
data.complete | 没有已报告缺口时为 true;不等于全库知识完备或业务验证通过。 |
data.retrievalStatus | matched / no_hits,无实现命中不能证明没有相关实现。 |
data.candidates[] | 实现候选 { path, score, reasons, snippets: [{ line, text }], suggestedRead }。 |
data.implementation[] | 候选加 provenance: reference / working-tree 以及对应 owner(可能 null)。 |
data.owners[] | 归属对象:path、owner、ruleOwner、rules、executionOwner、sources;executionOwner 不包含 scripts。 |
data.rules[] | 适用规则的 path、scope、appliesTo、content、truncated;正文有输出预算。 |
data.specs[] / tests[] | 候选证据与 relation=retrieval_candidate;关联是检索候选,不是正式验收映射。 |
data.relevantSpecs / relatedTests / applicableRules | 对应来源路径数组。 |
data.evidenceLanes | implementation/tests/specs/rules/currentChanges 的分类证据。 |
data.recentChanges | 与所选来源相关的 staged、unstaged、untracked 变更。 |
data.verification | status / steps / uncovered 的已有验证计划,不执行检查。 |
data.domain.resources[] | 正式 resource、catalog source、standardCrud 资格与关联 reason。 |
data.domain.permissions[] | 正式 permission、catalog source 与关联 reason。 |
data.gaps[] | code / message / source?;拒绝读取时不泄露受限来源。 |
data.suggestedReads | 后续应读取的正式来源。 |
data.diagnostics | 仅 --diagnostics 返回检索计时与候选数量;数值随运行变化。 |
data.source | 上下文组合器的正式实现来源。 |
使用说明
- 仓库根使用
pnpm --dir tools/yoyoboot-cli run cli -- <命令参数>;已完成构建时也可使用node tools/yoyoboot-cli/dist/bin.js <命令参数>。 - JSON 示例来自固定示例仓库的公开投影,省略实现来源、规则文件位置及大段内容;
<...>是明确的环境占位符。完整字段见返回结果表,实际内容以当前工作树为准。 - 全局参数严格解析:未知、重复、缺值参数返回退出码 2;
--help输出文本,即使同时指定--json。 - limit 默认 15,范围 1..30;mode 默认 plan。--hint 补充已知符号,--diagnostics 开启计时诊断。
- --path 只限定实现检索;授权允许时根规则、相关测试与规格仍会读取。授权拒绝、预算截断或来源不可读以 complete=false、gaps 和 warn 表达,通常仍退出 0。
- 规则正文有预算;实施前继续阅读被截断规则。相关规格和测试是候选,不能把无命中作为不存在的证据。
退出码
| Exit code | 含义 |
|---|---|
0 | 成功或仅有警告;警告仍需阅读。 |
2 | 预期失败:参数、仓库或领域条件不满足,或严格检查未通过。 |
1 | 未预期程序错误。 |
常见错误
invalid-query
查询参数无效。
处理方式:提供一个至少两个字符的查询。
invalid-limit
limit 不合法。
处理方式:使用 1..30 的整数。
invalid-mode
mode 不受支持。
处理方式:使用 plan/spec/review/debug。
invalid-hints
提示数量或长度不合法。
处理方式:逗号分隔最多 12 个提示,每项至少两个字符。
相关命令
Reference 合同版本:
1.0.0结果合同版本:
1.0.0源码产品版本:
10.5.7(不代表 registry 发布状态)。