🚀 Cursor结合Spec-Kit的使用指南

🚀 Cursor结合Spec-Kit的使用指南

本指南将帮助您掌握使用Cursor结合Spec-Kit进行项目开发的完整流程,从初始化到最终实现的全过程。

(已有项目的新功能迭代,也可以使用本指南实现)
Spec Kit官方仓库github.com/github/spec... - 💫 Toolkit to help you get started with Spec-Driven Development

📋 使用前准备

🔧 本地安装Spec-Kit

在使用本指南之前,请确保您已经安装了Spec-Kit:

bash 复制代码
# 安装Spec-Kit
npm install -g @specify/spec-kit

# 验证安装
specify --version

注意 :确保您的Node.js版本 >= 16.0.0
参考 :详细安装说明请查看 官方文档

📝 环境要求

  • ✅ Node.js >= 16.0.0
  • ✅ npm 或 yarn 包管理器
  • ✅ Git 版本控制
  • ✅ Cursor IDE

🎯 工作流程概览


📋 初始化

shell 复制代码
# 已有项目初始化
# 打开项目
specify init
# 新项目初始化
specify init [项目名]

📜 1. 项目章程

重要:项目章程定义了开发过程中必须严格遵守的规则和边界,是整个项目的基础约束。

shell 复制代码
# 你需要检查生成的章程文件
/speckit.constitution 当前项目必须要严格遵守的内容、边界(如:密码等敏感信息需要加密存储,变量命名是驼峰还是下划线、SQL语句严格遵守MySQL语法还是PostgreSQL等,可以不断完善补充。)

# 也可以像这样填写,这是官方视频的示例
/speckit.constitution Fill the constitution with the bare minimum requirements for a static web app based on the template.

# 翻译后
/speckit.constitution 基于最低限度的静态网页应用程序的模板,来填写章程文件

💡 章程内容建议

  • 🔐 安全规范:密码等敏感信息加密存储
  • 📝 编码规范:变量命名规则(驼峰/下划线)
  • 🗄️ 数据库规范:SQL语法标准(MySQL/PostgreSQL)
  • 🏗️ 架构约束:技术栈选择限制

📝 2. 详细说明(需求描述)

目标:明确项目需求,生成规范的需求文档,为后续开发提供清晰指导。

shell 复制代码
# 会自动新建一个分支,并在分支上生成一些md文件,记录需求内容。需要关注的是生成的spec.md文件的内容
/speckit.specify 新的需求内容是什么?为什么?(不涉及如何实现,使用什么技术栈)

# 当生成的需求文档中,存在需要修改的内容时:
#(选中spec.md文件)
@spec.md 描述你需要修改的内容

✅ 需求描述示例

🎯 好例子(用户导向)

关注用户体验和业务价值

  • ✅ "用户可以在3分钟内完成结账"
  • ✅ "系统支持10000个并发用户"
  • ✅ "95%的搜索在1秒内返回结果"
  • ✅ "任务完成率提高40%"
❌ 坏例子(技术导向)

避免过于技术化的描述

  • ❌ "API响应时间小于200ms"(过于技术性,请使用"用户立即看到结果")
  • ❌ "数据库可以处理1000 TPS"(实施细节,使用面向用户的指标)
  • ❌ "React组件高效渲染"(特定于框架)
  • ❌ "Redis缓存命中率超过80%"(技术特定)

❓ 3. 阐明问题

目的:通过AI提问来消除需求中的歧义,确保项目目标清晰明确。

shell 复制代码
# AI会返回一些它觉得不确定或必要的问题,你需要回答,来明确需求中的歧义或缺失的决策点,并记录问题和结果到需求文档spec.md文件中。
/speckit.clarify 可选,可以输入一些你重点关注的内容,比如性能瓶颈风险

# 示例
/speckit.clarify 你现在是项目产品/架构顾问,请给出一组澄清问题(不超过 12 个),用于与产品负责人对接,且每个问题后面说明为什么需要这个问题(1--2 行)。问题要基于现有表结构与业务目标。示例要命中要害(检测频率、阈值、删除策略、保留敏感信息等)。

🎯 重点关注领域

  • 🚀 性能要求:响应时间、并发量等
  • 🔒 安全考虑:数据保护、权限控制
  • 📱 用户体验:界面友好性、操作流程
  • 🏗️ 技术约束:兼容性、扩展性

📋 4. 实现计划

目标:制定详细的技术实现方案,为开发团队提供清晰的实施路径。

shell 复制代码
# 将会生成一个plan.md文件,记录了完整的实现方案。你需要检查方案内容是否符合预期,是否有需要修改内容
/speckit.plan 如何实现?或对实现有什么要求?如:要使用什么技术栈、要复用代码中某部分已实现的功能、是否要生成测试代码之类的,如果有表结构之类的SQL语句,也可以输入在这里

# 当生成的方案文档中,存在需要修改的内容时
#(选中plan.md文件)
@plan.md 描述你需要修改的内容

📝 计划内容包含

  • 🛠️ 技术栈选择:框架、库、工具链
  • 🏗️ 架构设计:系统结构、模块划分
  • 🗄️ 数据库设计:表结构、索引策略
  • 🧪 测试策略:单元测试、集成测试

📋 5. 拆分任务

目标:将复杂的实现计划分解为可管理的小任务,便于团队协作和进度跟踪。

shell 复制代码
# 将会生成一个tasks.md文件,记录了拆分后的任务步骤。你需要检查每项任务步骤是否正确,是否有多余步骤,是否缺少步骤,步骤内容是否需要修改
/speckit.tasks 基于 @plan.md,请把实现分解为 20--30 条可执行任务(tasks),每个任务包含:
- 标题
- 描述(1--2 行)
- 估时(小时)
- 前置条件
- 验收标准(单元/集成测试或 DB 变化)
- 建议实现路径(文件名)

请优先标注 P0/P1/P2。任务示例:
P0-1 实现登录功能 估时 2h 前置无 验收:用户名密码正确可以登录,密码错误不可访问系统,并提示对应错误信息

# 当需要修改任务步骤时
#(选中tasks.md文件)
@tasks.md 描述你需要修改的内容

✅ 任务检查清单

  • 任务步骤是否完整
  • 是否有重复或多余步骤
  • 任务依赖关系是否清晰
  • 任务描述是否具体可执行
  • 预估工作量是否合理

🔍 6. 分析

目的:全面检查项目文档的一致性,识别潜在风险和冲突点。

shell 复制代码
# 命令会读取spec.md, plan.md, tasks.md, constitution.md文档,检查文档中前后矛盾或冲突的部分、潜在风险内容
/speckit.analyze

# 如果有冲突,直接在对话中描述需要修改的内容
描述你需要修改的内容

🚨 检查重点

  • ⚠️ 文档一致性:需求与计划是否匹配
  • 🔄 逻辑冲突:任务间是否存在矛盾
  • 🎯 目标对齐:实现方案是否符合需求
  • 时间规划:任务安排是否合理

🚀 7. 实现(开发)

核心阶段:基于前期规划,开始实际的代码开发和功能实现。

shell 复制代码
# 开发实现
/speckit.implement

# 当最终实现经常没有满足要求时
直接在对话中描述需要修改的内容,直到功能实现,并符合期望

📝 更新需求文档

当最终实现符合预期后,更新需求文档:

shell 复制代码
# 总结对话历史,更新需求文档
Based on the conversation, encode the learnings and the experience pieces (NOT THE TECHNICAL DETAILS) into @spec.md for the current feature.

📚 8. 总结并记录经验

持续改进:将开发过程中的经验教训转化为可复用的功能需求。

shell 复制代码
# 总结经验
Let's transform the learnings into relevant functional requirements in the spec.

🎉 恭喜!您已经掌握了Cursor结合Spec-Kit的完整开发流程

持续实践,让AI成为您最得力的开发伙伴!

相关推荐
华仔啊6 小时前
35岁程序员失业了,除了送外卖,还能做什么?
前端·后端·程序员
SimonKing6 小时前
【开发者必备】Spring Boot 2.7.x:WebMvcConfigurer配置手册来了(二)!
java·后端·程序员
程序员飞哥6 小时前
别再说“对接接口没技术含量了”,这才是高手的打开方式!
后端·程序员
云起SAAS7 小时前
王者重名生成查询抖音快手微信小程序看广告流量主开源
ai编程·看广告变现轻·王者重名生成
xiezhr7 小时前
上班是为了更好的生活,不要本末倒置了~
程序员
熙客8 小时前
Cursor介绍与安装配置
人工智能·ai·ai编程
舒一笑16 小时前
大模型时代的程序员成长悖论:如何在AI辅助下不失去竞争力
后端·程序员·掘金技术征文
Java中文社群1 天前
阿里出手了:全免费!号称国内版ClaudeCode?
后端·ai编程
大模型教程1 天前
一套完整的 RAG 脚手架,附完整代码,基于LangChain
程序员·langchain·llm