跳转正文

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。
statusok / warn / error;同时检查退出码及诊断码。warn 可以退出 0。
findings[]诊断项包含 code、status、message,可选 detail;机器使用 code 分支,不解析消息。
sourceJSON 顶层命令实现来源,包含 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.retrievalStatusmatched / 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.evidenceLanesimplementation/tests/specs/rules/currentChanges 的分类证据。
data.recentChanges与所选来源相关的 staged、unstaged、untracked 变更。
data.verificationstatus / 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 个提示,每项至少两个字符。

相关命令 ​

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