用途:openspec-propose 用于在 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 获取 artifact 构建顺序和路径上下文。随后按依赖顺序,对每个待创建 artifact 执行 openspec instructions <artifact-id> --change "<name>" --json,读取其 template、instruction、resolvedOutputPath 和依赖文件后写入产物;最后用 openspec status --change "<name>" 查看结果。若涉及已注册 store,先用 openspec store list --json 获取 id,并在支持该标志的 OpenSpec 命令中持续追加 --store "<id>"。
适用场景与限制:适合需要快速产出结构化变更提案、规格增量、设计文档和任务清单的规划阶段。限制包括:仅限规划,不得编辑项目代码或自动进入 apply;context 与 rules 只作为约束,不得写入产物;每次创建前需从磁盘重新读取依赖文件;若同名变更已存在需询问用户是继续还是新建;存在影响范围、可观察行为、兼容性或验收标准的歧义时应先澄清。关于收费、价格或平台细节,资料暂未提供。