Skip to content
Apothem
CLI 参考

status

apothem status 命令的 CLI 参考。

报告每个已注册工具的安装、验证和漂移状态。

概要

apothem status [--profile PATH] [--project PATH]
               [--quiet|-q] [--verbose|-v]
               [--format plain|json] [--json] [--no-color]

status 是一个只读的检查命令。它遍历每个已注册的工具适配器,并为每个工具报告三项事实:它是否已安装、其受管目标是否通过验证,以及已安装的配置是否已偏离共享配置档案。它不会向磁盘写入任何内容。

对于每个工具,status 报告:

列含义
installed适配器的受管配置存在于其目标路径上。
verified适配器的受管目标存在且有效。
drift配置档案保真度判定(见下文)。

drift 的值为以下之一:

值含义
in-sync已安装的配置逐字携带了新近投射的共享配置档案。
drift该工具已安装,但其投射的配置档案内容已不再与当前的共享配置档案一致。重新运行 apothem install 以重新投射。
absent该工具未安装,因此没有可比较的内容。
needs-project一个项目范围的工具在未提供 --project 的情况下被报告,因此无法解析其目标。传入 --project PATH 以检查它。
unknown无法加载默认配置档案,因此已安装的工具没有可供比较的基线。修复配置档案即可恢复漂移判定。

漂移会被报告,但绝不会被视为错误:即使一个或多个工具报告 drift,status 也以 0 退出。漂移是关于你的设置的一项事实,而不是该命令的失败。

如果无法加载默认的共享配置档案,对于已安装的工具,漂移会降级为 unknown(已安装/已验证这两项事实仍会被报告),而不是中止整个扫查。而显式指定但无法加载的 --profile 属于用户错误,会改为以一个结构化错误中止。

这种降级总会被报告:status 会打印一条指明该配置档案及修复方法的提示,--json 信封则会在 warnings 中携带一个对应的 drift_baseline_unavailable 条目。这在没有安装任何工具时最为重要——此时每一行都显示 absent,不存在任何 unknown 单元格,因此该提示是基线从未加载的唯一信号。

选项

选项描述
--profile PATH用于选择漂移基线的共享配置档案 YAML。未提供时,使用默认配置档案(~/.config/apothem/profile.yaml)。
--project PATH项目范围工具的项目根目录。未提供时,项目范围的工具报告 needs-project。
--quiet, -q抑制信息性输出;只输出错误。
--verbose, -v输出额外的诊断信息。
--format plain|json输出格式(默认:plain)。
--json--format json 的简写。
--no-color在输出中禁用 ANSI 颜色代码。
-h, --help显示帮助并退出。

JSON 输出

--json 信封为每个已注册的工具携带一行结果。每一行都携带文档所述的键 harness、installed、verified 和 drift。扫查无异常时,warnings 为空;当无法加载默认配置档案时,它携带一个 drift_baseline_unavailable 条目,其中包含 path、code、reason 和 fix。

{
  "schema_version": 1,
  "status": "success",
  "command": "status",
  "action": "status",
  "harness": "all",
  "files_written": [],
  "results": [
    {
      "harness": "claude-code",
      "installed": true,
      "verified": true,
      "drift": "in-sync"
    },
    {
      "harness": "cursor",
      "installed": false,
      "verified": false,
      "drift": "needs-project"
    }
  ],
  "warnings": [],
  "error": null
}

按适配器隔离故障:如果某个适配器在报告其状态时抛出异常,该工具的行会携带 outcome: "error" 和一条 message,其余工具仍会正常报告,而进程以代码 2 退出。

示例

apothem status
apothem status --project .
apothem status --json

退出码

代码含义
0已报告状态(漂移会被报告,而不是错误)
1预期内的校验错误(无效的 --profile,或者不存在的 --project 路径)
2至少一个适配器未能报告其状态
64用法错误:未知的选项或命令,或者缺失或无效的选项值。在 --json 下,该错误是一个代码为 cli.usage 的 JSON 信封。

另请参阅

On this page