用途:在 OpenSpec 中提出一项新变更,并在一步内生成该变更所需的全部规划产物。该工作流仅授权规划,不授权实现;即使请求中包含构建或修复内容,也不得编辑项目代码,产物完成后即停止,等待用户新的请求再启动 apply 工作流。
主要能力:按项目配置的 schema 生成产物。默认 spec-driven schema 产出 proposal.md(做什么与为什么)、specs/<capability-path>/spec.md(系统必须做什么的增量,而非主规格)、design.md(怎么做)和 tasks.md(实现步骤)。<capability-path> 是相对于 specs/ 的规格目录,例如 user-auth 或 identity/user-auth;已有能力需保留完整路径,新能力遵循项目既有组织方式。
使用方式:输入应包含 kebab-case 变更名或构建描述;若输入不明确,需向用户开放式询问。然后用 openspec new change "<name>"(必要时加 --schema <schema-name>)创建变更目录,运行 openspec status --change "<name>" --json 获取产物构建顺序,按依赖顺序对每个就绪产物运行 openspec instructions <artifact-id> --change "<name>" --json 获取模板、规则、上下文与 resolvedOutputPath,并据此写入文件;若指令要求由特定技能或命令生成,则应调用它而非直接写文件。所有产物完成后运行 openspec status --change "<name>" 展示最终状态。
存储选择:若用户指定 store 或工作位于其中,先运行 openspec store list --json 获取已注册 store id,并在读写规格与变更的命令(new change、status、instructions、list、show、validate、archive、doctor、context、schemas、view)上追加 --store <id>;一旦选定应保持粘性。未指定 store 时,命令作用于最近的本地 openspec/ 根。
适用场景:需要快速把构想整理为完整规划产物、进入评审后再实施的变更规划流程;包括绿地项目或非代码变更(在可用范围内检查结构并说明限制)。
限制:仅规划,禁止实现、启动 apply 或编辑项目代码;状态只反映文件是否存在,必须依据 requires 边构建必需产物集合(applyRequires 及其可达产物),不能仅看 status;声明 skip_specs 时对应产物状态为 skipped,不得创建其文件;无条件产物仅在指令明确标记可选时才可跳过。存在会实质影响范围、外部可观察行为、兼容性或验收标准的歧义时须先询问;次要细节可合理假设并记录。同名变更已存在时,需询问是继续还是新建。若源不可用,应说明限制并在实质影响计划时询问。正文未提供具体项目、平台或效果信息。