SDD实战(cursor+openspec+openspecx)

1. 目的

背景:已经实现了1个比较完备的远程命令行MCP,支持SSE和HTTPStream。实现文件系统MCP。
目的:展示怎样通过openspec构造宪法,通过openspecx构造规则以及范式命令(大概需要10分钟),0手工编码完成文件操作MCPserver(大概需要30分钟),生成完即可上线服务。

示例代码:https://github.com/GoodMood2008/sdd-example
上一篇文章:openspecx工具-使用SDD开发同类需求

2. 环境准备

npm工具

安装 @fission-ai/openspec:

npm install -g @fission-ai/openspec@latest

安装 @goodmood2008/openspecx:

npm install -g @goodmood2008/openspecx@latest

PYTHON环境

安装方式:按照项目根目录下的 INSTALL.md 文件说明进行环境配置与安装。

3. 生成宪法(国家法律)

操作1:初始化项目

命令行执行:

openspec init

注意事项:执行过程中需选择 cursor 选项。

初始化文件列表

  • .cursor/commands/openspec-proposal.md
  • .cursor/commands/openspec-apply.md
  • .cursor/commands/openspec-archieve.md
  • openspec/AGENT.md
  • openspec/project.md
  • AGENT.md

操作2:填充宪法

在对话窗口中,拷贝“1. Populate your project context:”下的内容粘贴进去;
建议模型:选择 claude 模型执行;
权限确认:执行过程中需确认 validate 等相关执行权限;
输出结果:完成宪法文件(project.md)的补全。

操作3:评审与优化宪法

评审生成的 project.md 文件;
将需要修改的要点反馈给大模型,由大模型完成对应修改。

4. 提取MCP_SERVER规则(地市法律)

操作1:初始化模块与规则

命令行执行:

openspecx init mcp_server/ add_new_mcpserver

参数说明:
mcp_server/:目标模块目录
add_new_mcpserver:自定义规则名称

输出文件:

  • .cursor/commands/openspecx-add_new_mcpserver-proposal.md
  • .cursor/rule/add_new_mcpserver-RULE.md

操作2:填充规则

拷贝“1. Populate your module RULE:”下的内容,粘贴到对话窗口执行;
建议模型:选择claude模型;
权限确认:执行过程中需确认validate等相关执行权限;
输出结果:补全规则文件.cursor/rule/add_new_mcpserver-RULE.md。

操作3:补充波及模块规则

对话窗口指令:

.cursor/rule/add_new_mcpserver-RULE.md 帮我补全关联规则xxxx,格式要符合openspec/RULE.md

说明:人工评审后,若存在其他模块的关联波及规则,补充至此处。

操作4:补充对抗规则

对话窗口指令:

.cursor/rule/add_new_mcpserver-RULE.md ,帮我在###Phase 3: 测试和验证 中补充运行环境为 source ~/mcp_venv/bin/activate

说明:人工评审后,将单元测试、编译对抗的规则补充完整。

5. 生产文件操作MCPServer

操作1:生成文件操作mcpServer的设计与任务spec

对话窗口指令:

/openspecx-add_new_mcpserver-proposal  构建文件操作的mcpServer,具备创建目录、写文件、读文件、展示目录下的列表、拷贝文件到另外目录这五个操作,mcp端口使用10002

模式建议:使用Auto模式,避免浪费cursor限额;
注意事项:执行过程中需不断点击权限授权;

输出文件:

  • openspec/change/{change_id}/design.md
  • openspec/change/{change_id}/task.md
  • openspec/change/{change_id}/proposal.md

操作2:人工评审与spec补全

对生成的design.md、task.md、proposal.md进行人工评审,重点检查task.md是否遗漏.cursor/rule/add_new_mcpserver-RULE.md中的内容;

若存在遗漏,在对话窗口执行指令:

/openspecx-add_new_mcpserver-proposal 帮我检查规则,看是否在task.md中有遗漏

说明:可反复执行直至文档完善。

操作3:执行任务

对话窗口指令:

/openspec-apply

说明:执行后可查看模块代码生成、波及代码生成、编译对抗的过程;若发现task.md任务未完整完成,反复执行指令:

/openspec-apply 帮我完成没有完成的任务

操作4:执行归档

对话窗口指令:

/openspec-apply

说明:该步骤不要遗漏,否则会对下个需求生产带来干扰

现在你可以按照5章节的操作过程,实现1个git的mcp server,体验一下生成过程。

6. 小结

成果验收:file_mcp_server 已完整生成,可直接运行上线,该方法适用于同类需求的范式化代码生成。
需求生成策略

  • 首个需求生成时,也可以使用本方法,可将设计直接体现在规则中;
  • 存量需求则要求对应模块架构良好、代码内聚,便于大模型直接分析模块代码生成规则

核心动作:以 Agent 为核心思考问题,将遗漏点通过与大模型交互持续补充到规则中。
环境与质量保障:构造良好的本地环境,将编译、单元测试规则及环境配置补充到规则中,执行/openspec-apply后可获得可编译、可上线的高质量代码。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容