用途:以 OpenSpec 的实验性工件驱动方式开启一个新变更,适用于用户想用结构化流程创建新功能、修复或修改的场景。
主要能力与用法:若未提供明确输入,先询问用户想构建或修复什么,并据此推导 kebab-case 名称(如 add user authentication → add-user-auth);未弄清需求前不继续。默认使用默认 schema,仅在用户明确要求其他工作流时才加 --schema <name>,或用 openspec schemas --json 让用户选择。创建变更目录执行 openspec new change "<name>",随后用 openspec status --change "<name>" --json 查看工件状态,从返回的 planningHome、changeRoot、artifactPaths、nextSteps 获取路径,再用 openspec instructions <first-artifact-id> --change "<name>" 获取首个 ready 工件的模板与上下文。
存储选择:若用户指定 store 或工作位于某个 store,先运行 openspec store list --json 发现已注册 store id,再对读写规格和变更的命令附加 --store <id>(如 openspec status --change "<name>" --json --store "<id>"),该选择在整个工作流中保持粘性;不带 store 时命令作用于最近的本地 openspec/ 根目录,其他命令不接受该标志。
限制:完成步骤后仅总结变更名称与位置、所用 schema 及其工件序列、当前状态(0/N)、首个工件模板,并提示用户是否继续;不得创建任何工件,不得越过首个工件模板阶段。名称非 kebab-case 时要求提供有效名称;同名变更已存在时建议继续该变更。