.comet/config.yaml 是项目级配置,全局一份。本页只讲 Classic 相关的部分:共享入口字段和 classic.* 默认值。native.* 字段的含义见 Native 配置。
下文用 <classic-root> 表示当前 Classic OpenSpec 根目录:新项目默认是 docs/openspec/,保留旧布局的项目是 openspec/。实际位置由 classic.artifact_layout 决定,详见项目文件结构。
完整示例
同时启用两套工作流并选择中文时,项目级安装会生成类似配置(Classic 视角只关心共享字段和classic: 块):
共享入口字段
修改
default_workflow 只改变 /comet 的入口,不迁移任何 change。Hook 写入放行
hook.allow_paths 是共享的写入放行策略:默认为空时,项目内(产物区之外)的写入按 Classic 自身的阶段与守卫规则判定;配置后,匹配目录及其子目录的写入会直接放行。典型用途是让实现代码目录(如 src/)在任意阶段都能修改,避免在非编码阶段触发拦截。
.comet(Runtime 状态)、Classic 的 openspec 与 superpowers 产物根永远受保护,无法通过本配置放行。路径越界或格式错误会在 comet doctor 检查时报错。
Classic 字段
artifact_layout 是项目级目录选择;其余四项会在创建新 Classic change 时快照到该 change 的 .comet.yaml:
Classic 项目默认值在创建新 change 时快照到
.comet.yaml;之后修改不会追溯改变已有 change。产物语言和 Skill 语言的区别
comet init 里的“Skill 语言”会决定安装中文还是英文版 Comet Skill,Classic 的产物语言写入 classic.language:
之后新建 Classic change 时,Comet 会把项目级
classic.language 快照到 <classic-root>/changes/<name>/.comet.yaml。OpenSpec proposal、design、tasks、Superpowers 设计/计划、验证报告和 archive 说明都会按这个配置输出,而不是按某次触发请求的语言临时判断。
配置优先级
以下优先级只描述 Classic 的language、context_compression、review_mode 和 auto_transition:
auto_transition 详解
auto_transition 控制阶段推进后是否自动调用下一个 Skill。
环境变量覆盖(仅 change 级为空时生效):
环境变量
COMET_LANGUAGE、COMET_AUTO_TRANSITION、COMET_FORCE_PHASE、
COMET_OPENSPEC 是用户可用的环境变量。COMET_CONTEXT_COMPRESSION 和
COMET_REVIEW_MODE 存在于解析层但未在用户文档中正式记录,主要用于内部和测试。怎么配置
配置项目默认值
编辑.comet/config.yaml:

