Cursor 中 Kiro 工作流程模板实现指南
通过规范驱动的 AI 辅助开发,在 Cursor IDE 中复刻 AWS Kiro 的结构化工作模式
规范驱动开发AI 辅助编程结构化工作流
核心文档
requirements.md
design.md
tasks.md
介绍
此 .mdc 文件旨在为 Cursor IDE 配置一个仿照 AWS Kiro "Spec-Driven Development" (规范驱动开发) 模式的工作流程。它通过定义一系列严格的阶段和规则,引导 AI 代理 (Agent) 系统化地进行软件开发,从需求分析到代码实现和验证。
核心目标
- 引入 Kiro 的核心概念,如通过requirements.md,design.md, 和tasks.md文件来管理项目规格
- 将这些概念映射到 Cursor 现有的 RIPER-5 (Research, Innovate, Plan, Execute, Review) 工作模式中
- 在 Cursor 环境中体验类似 Kiro 的结构化开发流程,强调编码前的充分规划和设计
- 考虑 Kiro 的 "Hooks" (钩子) 概念,在特定事件发生时触发自动化任务
这种映射方式使用户可以在 Cursor 环境中体验到类似 Kiro 的结构化开发流程,从而提高代码质量、减少返工,并确保最终交付物符合预期。[40]
核心概念
Kiro 工作流程与 Cursor RIPER-5 模式映射
为了在 Cursor IDE 中复刻 Kiro 的规范驱动开发模式,可以将 Kiro 的核心阶段与 Cursor 现有的 RIPER-5 工作模式进行映射:
Kiro 核心规范文件说明
Kiro 的规范驱动开发流程围绕三个核心的 Markdown 文件展开,它们共同构成了项目的"单一事实来源"[25]:
requirements.md
捕获需要构建的内容,使用用户故事和验收标准进行描述
o 功能概述
o 用户故事
o EARS 格式验收标准
o 非功能性需求
design.md
概述技术架构,包括组件、数据模型、接口等
o 架构设计
o 接口定义
o 数据模型
o 错误处理策略
tasks.md
将工作分解为待办事项清单,列出具体编码任务
o 任务列表
o 需求引用
o 依赖关系
o 测试任务
详细工作流程与规则
阶段定义 (phases)
需求与规格 (Research)
RESEARCH & INNOVATE 模式
此阶段对应于 Kiro 工作流程中的需求澄清和 requirements.md 文件的创建与确认。在 Cursor 中,这主要通过 RESEARCH (研究) 和 INNOVATE (创新) 模式来实现。
RESEARCH 模式行为:
- o 提问澄清需求细节
- o 信息提取与背景收集
- o 初步结构化需求
INNOVATE 模式行为:
- o 生成用户故事
- o 编写 EARS 格式验收标准
- o 创建 requirements.md
设计与规划 (Plan)
PLAN 模式
基于已确认的 requirements.md 文件,AI 代理在此阶段的核心任务是制定详细的技术实现方案,并将该方案分解为一系列具体的、可执行的开发任务。
关键活动:
技术设计 (design.md)
- o 系统架构设计
- o 接口定义
- o 数据模型规划
- o 错误处理策略
任务分解 (tasks.md)
- o 原子化任务列表
- o 需求引用
- o 依赖关系管理
- o 测试任务规划
编码实现 (Execute)
EXECUTE 模式
严格按照已批准的 tasks.md 文件中定义的任务列表,逐项进行代码的编写、文件的创建或修改。
执行原则:
- o 顺序执行,一次只处理一个任务
- o 严格遵循 design.md 技术规范
- o 每个任务完成后等待用户审查确认
- o 禁止超出当前任务范围的修改
测试与验证 (Review)
REVIEW 模式
对已完成编码的整个功能模块进行全面的测试和验证,确保其完全符合 requirements.md 中定义的需求和 design.md 中制定的技术规范。
验证活动:
- o 测试用例生成与执行
- o 代码审查与质量检查
- o 需求追溯验证
- o 设计符合性检查
- o 文档最终化
规则集 (rules)
为了在 Cursor 中精确地模拟 Kiro 工作流程,需要为不同类型的文件定义具体的处理规则:
需求文件 (requirements.md) 处理规则
匹配模式:
**/requirements.md
.kiro/specs/**/requirements.md
AI 行为:
- o 自动进入 RESEARCH/INNOVATE 模式
- o 引导使用 EARS 格式
- o 协助识别角色、功能、收益
- o 检查逻辑一致性和可测试性
设计文件 (design.md) 处理规则
匹配模式:
**/design.md
.kiro/specs/**/design.md
AI 行为:
- o 自动进入 PLAN 模式
- o 基于 requirements.md 进行技术设计
- o 协助定义架构、接口、数据模型
- o 记录设计决策及其理由
任务文件 (tasks.md) 处理规则
匹配模式:
**/tasks.md
.kiro/specs/**/tasks.md
AI 行为:
- o 自动进入 PLAN 模式
- o 将技术方案分解为具体任务
- o 确保任务明确引用相关需求
- o 管理任务依赖关系和执行顺序
代码实现文件 (*.ts, *.js, *.py 等) 处理规则
匹配模式:
**/*.ts, **/*.js, **/*.py
AI 行为:
- o 自动进入 EXECUTE 模式
- o 严格按照 tasks.md 执行
- o 一次只专注于一个任务
- o 遵循 design.md 技术规范
示例与最佳实践
项目初始化与 Agent 配置
要在 Cursor IDE 中成功运用此 Kiro 工作流程模板,首先需要进行正确的项目初始化和自定义 Agent 配置:
项目初始化
建议在项目根目录下创建 Kiro 规范文件:
# 简化配置 - 直接根目录创建
touch requirements.md design.md tasks.md
# 或遵循 Kiro 目录结构
mkdir -p .kiro/specs
touch .kiro/specs/requirements.md .kiro/specs/design.md .kiro/specs/tasks.md
自定义 Agent 配置
- 创建新的自定义 Agent:打开 Cursor 设置,创建新的 Agent
- 命名 Agent:例如 kiro_workflow
- 设置系统提示:配置类似"您是 Kiro,一个 AI 开发助手,当前项目采用规范驱动开发模式..."的提示词
- 关联项目规则:将 .mdc 文件放置在 .cursor/rules 目录下
逐步开发流程示例
以下是一个在 Cursor 中,利用配置好的 Kiro Agent 逐步开发一个"用户登录功能"的示例流程:
1
启动 Kiro Agent 并描述需求
@kiro_workflow 我需要实现一个用户登录功能,包括用户名密码验证和 Token 返回。
AI Agent 接收到此指令后,会进入 Kiro 工作流程的初始阶段,即需求收集。
2
需求规范阶段 (RESEARCH Mode)
提问澄清示例:
- o "用户登录成功后的跳转页面是哪里?"
- o "密码错误时是否需要区分用户名不存在和密码错误的具体提示?"
- o "Token 的有效期需要多长?"
# requirements.md 初稿
## 用户故事:
- **US1:用户登录**
> 当用户提供了正确的用户名和密码时,系统将验证其身份并授权访问...
## 验收标准:
- **AC1.1:身份验证成功**
> 当用户输入正确的用户名和密码并点击登录按钮时...
3
设计规范阶段 (INNOVATE & PLAN Mode)
# design.md 初稿
## 技术选型:
- **前端**:React, Axios
- **后端**:Node.js, Express.js, jsonwebtoken, bcrypt
- **数据库**:MySQL
## API 接口:
- **登录接口**:`POST /api/auth/login`
- **请求体**:{"username": "string", "password": "string"}
- **成功响应**:{"access_token": "eyJhbGciOiJIUzI1NiIs...", ...}
4
任务规划阶段 (PLAN Mode)
# tasks.md 初稿
- [ ] **1. 后端:设置基础项目结构**
- [ ] 1.1 初始化 Node.js 项目
- [ ] 1.2 安装 Express.js 框架
- [ ] **2. 数据库准备**
- [ ] 2.1 创建 MySQL 数据库和 users 表
- [ ] **3. 实现用户登录 API 端点**
- [ ] 3.1 创建路由处理函数
- [ ] 3.2 验证请求体格式...
5
代码实现 (EXECUTE Mode)
用户指示:"请开始实现任务 3:实现用户登录 API 端点 /api/auth/login。"
// server.js
const express = require('express');
const jwt = require('jsonwebtoken');
const bcrypt = require('bcrypt');
const app = express();
app.post('/api/auth/login', async (req, res) => {
// 实现登录逻辑
});
6
代码审查与测试 (REVIEW Mode)
对已实现的代码进行审查,检查是否符合规范,运行测试用例,确保功能正确性。
注意事项与声明
重要声明
- 本模板仅在 Cursor IDE 环境中模拟 Kiro 工作流程,并非 AWS Kiro 官方工具,与 AWS 公司没有直接关联
- 成功复刻高度依赖于 AI 模型能力以及规则定义的清晰度和完整性
- 规范驱动开发会引入前期规划成本,需要根据项目实际情况权衡利弊
- AI 是辅助工具而非完全替代人工决策,开发者仍需进行严格审查和测试