确保项目已初始化
开始案例之前,先确认项目已经具备 spec-kit 所需的基础目录和命令。
执行命令
cd your-project
specify init . --ai claude
确保当前项目已经拥有 .specify/、.claude/commands/ 等基础结构,否则后续斜杠命令无法正常落地到项目文件中。
章节总览
这一章不是理论说明,而是一步一步带你完成“考试报名管理”功能的规格定义、计划拆解、实现、检查与提交。
开始案例之前,先确认项目已经具备 spec-kit 所需的基础目录和命令。
cd your-project
specify init . --ai claude
确保当前项目已经拥有 .specify/、.claude/commands/ 等基础结构,否则后续斜杠命令无法正常落地到项目文件中。
第一次在项目里使用 spec-kit 时,先建立统一约束,后续所有功能都会复用。
/speckit.constitution
我们的项目是一个考试管理系统,使用 Java 17 + Spring Boot 3.x,
MySQL 8.0,MyBatis Plus。前端用 Vue 3。
请帮我建立项目宪法,包含技术栈约束、测试要求、安全规范、代码风格。
一份结构化的项目宪法文件,后续 Plan、Tasks、Implement 等阶段都会参考它,不再需要每次重复说明技术约束。
把“考试报名管理”这个功能,用自然语言转成结构化的规格文档。
/speckit.specify
我们需要一个考试报名功能:
1. 考生可以在线报名,填写个人信息和报考科目
2. 系统验证身份证号是否合法,是否重复报名
3. 报名成功后发送短信通知
4. 管理员可以查看、导出报名列表
5. 报名有截止时间,到期自动关闭
specs/001-exam-registration/spec.md。把规格里仍然模糊、未决或易引起歧义的点补充完整。
/speckit.clarify
例如 Claude 可能会追问:
你需要给出明确决策,避免后续计划与实现阶段靠猜测推进。
在实现前,先把数据模型、接口设计和复杂度评估梳理清楚。
/speckit.plan
plan.md 中的数据模型是否合理。把计划进一步拆成可执行、可跟踪、可回写进度的任务清单。
/speckit.tasks
进入真正的代码生成阶段,但依然是“受任务约束的实现”,不是自由发挥。
/speckit.implement
确认规格、计划、任务和代码四者之间没有严重脱节。
/speckit.analyze
优先修复报告中的 CRITICAL 和 HIGH 级别问题。
在“代码写完”之后,再确认“需求是否真的都满足了”。
/speckit.checklist
当前面的规格、实现和核对都完成后,再进入常规 Git 提交流程。
git add .
git commit -m "feat(exam-registration): implement exam registration feature per spec 001"
# 提 MR/PR
spec-kit 不替代正常的软件交付流程。它负责把需求到实现的中间过程结构化、可追踪, 最后仍然要回到团队既有的 Code Review、MR / PR、测试与发布流程中。