Skip to main content
Comet 的 CLI 专门为自动化场景设计了结构化 JSON 输出和非交互模式。你可以在 CI/CD 流水线里用它们做安装完整性门禁、变更阶段报告和发布前检查,不需要 Agent 平台参与。

适合自动化的场景

小鱼把 status 和 doctor 的 JSON 票据放入 CI 闸机,用 pass 和 fail 判断是否继续

CI 里只做安装和状态门禁;需要 Agent 或人工决策的流程不要放进流水线

comet doctor —json

comet doctor 检查项目级和全局安装健康、Skill 完整性、脚本、工作目录和活跃 change 状态。--json 输出结构化结果,适合脚本解析。

输出结构

每个 results 条目的 status 是三态之一: doctor 检查的项包括:Comet CLI、openspec CLI、Superpowers、工作目录、Skill 完整性、脚本存在、CodeGraph、以及每个活跃 change 的 .comet.yaml 有效性。

用作 CI 门禁

comet status —json

comet status 输出活跃 change 的状态。--json 输出每个 change 的完整状态字段。

输出结构

关键字段:

变更阶段报告

输出示例:

CI 环境初始化

CI 环境通常需要非交互安装。--yes 跳过所有提示,--json 抑制 banner 日志并跳过交互式 CodeGraph:
--yes 的默认行为:
  • 范围默认 project
  • 语言默认 en(指定 --language zh 覆盖)。
  • 平台自动检测(检测不到则全选)。
  • 已存在组件默认跳过(不是覆盖)。强制刷新用 --overwrite

典型 CI 流程

PR 检查:阻止损坏的 change 合并

在 PR 检查里用 doctor 确保合并到主干的 change 状态健康:

不适合 CI 的操作

以下操作依赖 Agent 平台交互,不适合在 CI 里运行: CI 里只做状态检查和安装完整性,不做需要 Agent 或人工决策的操作。

常见问题

说明没有活跃 change,或 change 缺少 .comet.yaml(被静默跳过)。缺少 .comet.yaml 的 change 需要在 Agent 平台调用 /comet,由配置进入 Classic 后接管。详见存量项目接入
取决于你的规范。warn 通常不阻塞(如 openspec CLI 未装但项目不依赖),fail 才是阻塞(如 Skill 缺失、状态损坏)。建议只对 fail 退出非零。
能。JSON 结构是 CLI 契约的一部分,statusdoctor 的字段不会无通知变更。

下一步

最后修改于 2026年7月22日