适合自动化的场景

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 或人工决策的操作。
常见问题
CI 里 status 输出空数组
CI 里 status 输出空数组
说明没有活跃 change,或 change 缺少
.comet.yaml(被静默跳过)。缺少 .comet.yaml 的 change
需要在 Agent 平台调用 /comet,由配置进入 Classic
后接管。详见存量项目接入。doctor 的 warn 要不要中断 CI
doctor 的 warn 要不要中断 CI
取决于你的规范。
warn 通常不阻塞(如 openspec CLI 未装但项目不依赖),fail 才是阻塞(如 Skill
缺失、状态损坏)。建议只对 fail 退出非零。--json 模式输出能稳定解析吗
--json 模式输出能稳定解析吗
能。JSON 结构是 CLI 契约的一部分,
status 和 doctor 的字段不会无通知变更。下一步
- comet status — 完整状态字段说明
- comet doctor — 完整诊断范围
- 存量项目接入 — CI 初始化时的组件检测

