openspecx工具-使用SDD开发同类需求

2025-11-16  本文已影响0人  Wu杰语

1. 目的

本文发布了1个工具包openspecx,扩展了openspec工具元范式,将一类需求规则知识沉淀到规则中,更好的使用SDD开发同类需求,通过openspecx,可以大幅度的提升同类需求的开发效率。(开源代码库及安装方式在文末)

本文将从SDD->openspec->openspecx循序介绍SDD。

2 理解SDD

2.1 SDD 不是“颠覆式革命”,而是“演进式升级”

SDD 是软件工程的“针对性升级”,来解决 AI 时代的新痛点。软件工程的本质目标是“用系统化方法解决软件危机(如需求模糊、质量不可控、维护成本高)”。随着 AI 编程工具(如 Copilot、Claude Code)的普及,传统软件工程暴露出新的适配性问题,而 SDD 正是针对这些问题的升级方案:

SDD 是软件工程在 AI 时代的“精准升级”, 软件工程的核心框架是“过程方法工具”三要素,SDD 完全嵌套在这一框架内,同时针对 AI 辅助开发的痛点做了聚焦优化,具体对应关系如下:

维度 传统软件工程实践 SDD 的创新强化
过程(Process) 按“需求→设计→编码→测试→维护”线性/迭代推进,规范(如 PRD、设计文档)是“辅助参考”,代码是最终交付核心 重构为“规范→自动化执行→验证→同步”闭环:规范从“辅助文档”升级为“唯一事实源”,所有环节(代码生成、测试、部署)均以规范为依据,且通过 AI 工具实现规范与实现的实时同步
方法(Methods) 依赖人工编写规范、分解任务(如瀑布模型的文档驱动、敏捷的用户故事驱动),存在“规范与代码脱节”风险 引入“结构化规范+AI 自动化”方法:将自然语言需求转化为可验证、可执行的结构化规范,再通过 AI 自动拆解为技术计划、任务清单,减少人工传递误差
工具(Tools) 工具聚焦“代码生产”(如 IDE、测试框架、CI/CD 工具),规范相关工具多为静态文档工具(如 Confluence) 工具链围绕“规范生命周期”构建:新增规范生成、规范校验、规范同步等工具,让规范从“静态文档”变为“动态工程对象”

SDD没有脱离软件工程的核心框架,而是强化了“规范”在软件工程三要素(过程、方法、工具)中的核心地位;

2.2 观点和推论

观点:SDD的方法的思考对象是Agent,其过程是规范→自动化执行→验证→同步,遵循结构化规范+AI 自动化的方法,并且有工具支撑,在开发领域是openspec(spec kit等)+ AI IDE。基于此观点
推论1:如果只满足过程、方法,而没有工具支撑的,是泛SDD。泛SDD和狭义SDD最终产生的效果可能差距很大。
推论2:工具Agent隐含的要求是,底层的大模型需要具备,完整串接SDD过程的提示词链(准确生成spec规格),精准调用工具的能力。能否顺畅使用SDD成为大模型能力的评价标准。
推论3:SDD的思考核心是Agent,在软件开发的各个环节,都运用SDD的规范→自动化执行→验证→同步来思考问题。例如在代码开发这个环节,围绕SDD自动化执行去改进以及增加各种技巧。

3 openspec是什么

openspec是什么:OpenSpec 是一款专为 AI 编码助手设计的开源免费的规范驱动开发工具,本质为命令行工具,核心作用是让开发者在 AI 编写代码前,与 AI 就需求规范达成明确共识,以此减少返工、让 AI 编程更可控,同时适配多数主流开发场景与 AI 编程工具。
openspec有三层

工具和知识角度看openspec

4 openspecx是什么

openspec的问题

为了解决这样的问题,我在openspec的基础上,严格遵守openspec的风格以及使用习惯,完成了openspecx。

openspecx是什么:openspecx在openspec扩展了工具元范式,是与openspec一脉相承的工具。如图绿色部分,通过openspec自动生成范式命令和规则,从使用方式上和openspec保持完全一致。

openspecx

操作过程:openspecx是要和openspec配套使用的,其中技巧见2.2章节
步骤1(openspec原生支持):使用openspec init创建命令(.cursor/commands目录,openspec-proposal.mdopenspec-apply.mdopenspec-archive.md) + openspec目录宪法(project.md) -> 使用openspec示意提示词大模型执行补充project.md(openspec目录)规则 -> 人工评审补全
步骤2(openspecx扩展):使用openspecx init {模块目录} {规则名} 创建命令 openspec-{规则名}-proposal.md + 模块目录/{规则名}-RULE.md -> 使用openspecx示意提示词大模型执行执行分析模块代码,根据命令意图补全模块目录/{规则名}-RULE.md -> 人工评审并补全增加该功能关联模块的修改点
步骤3: 执行命令 openspec-{规则名}-proposal.mdopenspec-apply.md 实现第1个范式需求 -> 反复迭代并调整 模块目录/{规则名}-RULE.md(动作包括模块规则、关系模块的修改规则)
步骤4:执行命令 openspec-{规则名}-proposal.mdopenspec-apply.md 实现同类需求

openspecx命令

Usage: openspecx [options] [command]

OpenSpec Extensions - Module Rules Management

Options:
  -V, --version                           output the version number
  --no-color                              Disable color output
  -h, --help                              display help for command

Commands:
  init [options] <modulePath> <ruleName>  Initialize a new module rule
  validate [options] <ruleFile>           Validate a RULE.md file
  help [command]                          display help for command

5. openspecx安装说明

注意:首先参照openspec官网安装openspec,然后安装openspecx
代码库地址https://github.com/GoodMood2008/openspecx
安装:npm install -g @goodmood2008/openspecx@latest
说明:codebasex目前只支持cursor

上一篇 下一篇

猜你喜欢

热点阅读