videoSummary/.cursor/commands/openspec-proposal.md
2025-12-02 18:54:14 +08:00

2.2 KiB

name id category description
/openspec-proposal openspec-proposal OpenSpec Scaffold a new OpenSpec change and validate strictly.

约束条件

  • 优先采用简单、最小化的实现,只有在明确要求或明显需要时才添加复杂性。
  • 保持更改紧密围绕请求的结果。
  • 如需更多 OpenSpec 约定或说明,请参考 openspec/AGENTS.md(位于 openspec/ 目录中——如果看不到,请运行 ls openspecopenspec update)。
  • 识别任何模糊或含糊的细节,在编辑文件之前提出必要的后续问题。

步骤

  1. 查看 openspec/project.md,运行 openspec listopenspec list --specs,并检查相关代码或文档(例如通过 rg/ls)以了解当前行为;注意任何需要澄清的空白。
  2. 选择一个唯一的动词引导的 change-id,并在 openspec/changes/<id>/ 下搭建 proposal.mdtasks.mddesign.md(需要时)。
  3. 将变更映射到具体的能力或需求,将多范围的工作分解为具有明确关系和顺序的不同规范增量。
  4. 当解决方案跨越多个系统、引入新模式或需要在提交规范之前进行权衡讨论时,在 design.md 中捕获架构推理。
  5. changes/<id>/specs/<capability>/spec.md 中起草规范增量(每个能力一个文件夹),使用 ## ADDED|MODIFIED|REMOVED Requirements,每个需求至少包含一个 #### Scenario:,并在相关时交叉引用相关能力。
  6. tasks.md 起草为有序的小型、可验证工作项列表,这些工作项提供用户可见的进度,包括验证(测试、工具),并突出依赖关系或可并行化的工作。
  7. 使用 openspec validate <id> --strict 进行验证,并在分享提案之前解决所有问题。

参考

  • 当验证失败时,使用 openspec show <id> --json --deltas-onlyopenspec show <spec> --type spec 检查详细信息。
  • 在编写新需求之前,使用 rg -n "Requirement:|Scenario:" openspec/specs 搜索现有需求。
  • 使用 rg <keyword>ls 或直接文件读取来探索代码库,以便提案与当前实现现实保持一致。