规格驱动开发MCP初探

规格驱动开发

规范驱动开发,简而言之,是一种软件开发过程,在整个开发工作流程中,清晰、详细的规范作为核心驱动力。这些规范涵盖了软件系统的各个层面,包括功能需求、性能指标、接口定义和数据格式,如同建筑中的蓝图,明确地勾勒出最终软件应该呈现的样子,供开发者参考。

规范驱动开发的核心是通过标准化的规范文档,将模糊的需求转化为可执行、可追溯、可验证的开发过程。实质上,它将传统软件工程的严谨性融入到AI编程中,将开发从"感觉编码"(依赖直觉)转变为可控的工程过程。

规范驱动开发的关键在于"Spec文件夹"------每个功能模块对应一个Spec文件夹,其中包含3个核心文件,将需求、设计和任务"具体化":

  1. requirements.md(需求文档)------使用EARS语法(Easy Approach to Requirements Syntax)编写用户故事和验收标准,避免模糊表述。
  2. design.md(技术方案)------包括架构设计、流程逻辑、技术选型和潜在风险等细节。
  3. tasks.md(任务清单)------将技术方案分解为可执行的具体任务(待办事项列表)。

spec-coding-mcp 项目介绍

将功能想法系统地转化为生产就绪的代码,通过规范驱动的开发方法。

项目地址:https://github.com/feiyun0112/spec-coding-mcp

把项目拉下来之后,如果没有.NET10也可以换成.NET8,在成功运行之后,就可以到MCP客户端中配置。

这里我选择的是Roo Code,是直接通过exe的方式配置的。

json 复制代码
{
  "mcpServers": {
     "SpecCodingMcpServer": {
      "disabled": false,
      "timeout": 60,
      "type": "stdio",
      "command": "...\\bin\\Debug\\net8.0\\SpecCodingMcpServer.exe",
      "args": []
    }
  }
}

配置成功如下所示:

输入 Start Spec Coding即可开始进行规格驱动开发。

理解需求:

编写需求文档:

就大概截这些图,会生成一个文件夹,文件夹下面有下面几个内容。

需求文档:

任务列表:

测试文档:

还有设计文档,但是这个我的变没了,补上另一次使用的:

最后还会生成一个README:

整体体验下来的感觉就是如果一个功能要实现成什么样子你本身并不是很清楚,并且在使用AI很多次了还没成功实现,不妨试试规格驱动开发,还是有一定帮助的。当然现在的AI已经很强了,一般的需求好像直接也能做,不需要都要使用规格驱动开发。

下次来探索一下规格驱动开发MCP的提示词,这应该是这个项目的核心内容了。