YC科技资讯网

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

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

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

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

一、关键配置说明

1. MyBatis 驼峰命名映射

在 application.yml 中配置 map-underscore-to-camel-case: true 后,数据库字段 user_name 会自动映射到 Java 属性 userName。

2. 数据源配置

datasource 默认选择的 h2 内存数据库。MODE=MySQL 关键配置,启用 MySQL 兼容模式。开启 MODE=MySQL 后,H2 会尽可能模拟 MySQL 行为,避免 SQL 方言不兼容。

H2 内存数据库特点:

✅ 极快(无磁盘 I/O)

✅ 应用重启后数据自动清空,保证测试环境干净

❌ 数据不持久化,关闭连接即丢失

可以根据需要,调整为本地的MySQL 数据库。

3. GitHub Copilot 命令位置

OpenSpec 初始化后,会为 GitHub Copilot 生成两套配置:Prompts(斜杠命令)和 Skills(技能包)。它们协同工作,让 Copilot 能够遵循规范驱动开发流程。

可以这样理解:Prompts 是菜单上的快捷命令,Skills 是厨房里厨师遵循的完整菜谱。用户在 Chat 中输入命令后,AI 会读取对应的 Skill 来执行。

以 opsx-apply.prompt.md 为例,这是一个用于实施 OpenSpec 变更任务的实验性功能,核心是将规范文档转化为实际代码。

执行流程如下所示:

二、总结

通过本次实战,我们演示了 OpenSpec + GitHub Copilot 的完整开发流程:

命令说明:

/opsx:propose:一步到位,创建变更并生成所有规划文档(proposal、specs、design、tasks)

/opsx:new:仅创建变更目录,不生成文档

/opsx:ff(fast-forward):为已有变更生成所有规划文档

/opsx:continue:逐个生成工件,适合逐步推进

根据 VS Code 扩展文档,OpenSpec v1.0+ 会在 .github/prompts/ 目录下生成以下 10 个命令文件:

OpenSpec 从 v0.x 升级到 v1.0 是一次破坏性更新,主要变化包括:

OpenSpec v1.2.0 引入了 Profiles 功能,可以控制安装哪些命令文件。

openspec config profile

如果提示:Global config is not applied to this project. Run `openspec update` to sync.

意思是:全局配置未应用于此项目。请运行“openspec update”命令以进行同步。

此时,可以执行:openspec update

OpenSpec 的核心价值在于:

规范先行:在写代码前先对齐需求上下文持久:规范文件受 Git 管理,AI 不会“失忆”存量项目友好:通过 /openspec-proposal 增量修改已有代码