DC娱乐网

OpenSpec和Github Copilot 实践SDD开发模式-1

本文介绍在安装和初始化 OpenSpec 后的使用方法。本文将通过一个完整的实战示例,演示如何使用 OpenSpec 规

本文介绍在安装和初始化 OpenSpec 后的使用方法。

本文将通过一个完整的实战示例,演示如何使用 OpenSpec 规范驱动开发框架,配合 GitHub Copilot,从零开始创建一个基于 Spring Boot、MySQL、MyBatis、JDK 21 的后端 API 接口——用户管理模块(包含增删改查功能)。

一、工作原理

OpenSpec 帮助你和你的 AI 编程助手在编写任何代码之前就"要构建什么"达成共识。

默认快速路径 (核心配置):

/opsx:propose ──► /opsx:apply ──► /opsx:archive

扩展路径 (自定义工作流选择):

/opsx:new ──► /opsx:ff or /opsx:continue ──► /opsx:apply ──► /opsx:verify ──► /opsx:archive

默认全局配置为 core,包含 propose、explore、apply 和 archive 命令。你可以通过 openspec config profile 配置,然后 openspec update 来启用扩展工作流命令。

二、OpenSpec 创建的内容

运行 openspec init 后,你的项目将具有以下结构:

两个关键目录:

specs/ - 事实来源。这些规范描述你的系统当前如何运行。按领域组织 (例如 specs/auth/、specs/payments/)。

changes/ - 提议的修改。每次变更都有自己的文件夹,包含所有相关产物。变更完成后,其规范将合并到主 specs/ 目录中。

三、理解产物

每个变更文件夹包含指导工作进行的产物:

产物和用途

proposal.md "为什么"和"做什么" - 记录意图、范围和方案specs/ 增量规范,显示新增/修改/删除的需求design.md "如何做" - 技术方案和架构决策tasks.md 带复选框的实施清单

产物相互构建:

在实施过程中学到更多时,你随时可以返回完善早期的产物。

四、增量规范的工作原理

增量规范 (Delta Specs) 是 OpenSpec 的核心概念。它们显示相对于当前规范的变化内容。

格式

增量规范使用章节来指示变更类型:

归档时发生什么

当你归档一个变更时:

ADDED 需求追加到主规范MODIFIED 需求替换现有版本REMOVED 需求从主规范中删除

变更文件夹移动到 openspec/changes/archive/ 以供审计历史。

五、开发示例-环境准备

示例项目采用的技术栈如下所示:

通过 VS Code或者 Intellij IDEA 开发工具,使用 Spring Initializr 创建一个基础项目:

接下来将通过 OpenSpec AI Coding 工具来实现功能开发。