当前位置:首页 > 技术文章 > 正文内容

Cursor 中 Kiro 工作流程模板实现指南

zonemu1周前 (07-25)技术文章11

通过规范驱动的 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 配置

  1. 创建新的自定义 Agent:打开 Cursor 设置,创建新的 Agent
  2. 命名 Agent:例如 kiro_workflow
  3. 设置系统提示:配置类似"您是 Kiro,一个 AI 开发助手,当前项目采用规范驱动开发模式..."的提示词
  4. 关联项目规则:将 .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 是辅助工具而非完全替代人工决策,开发者仍需进行严格审查和测试

相关文章

2024年10 大 Linux 桌面发行版推荐

年已过半,现在是探究 2024 年最流行的 Linux 发行版的最佳时机。Linux 是一个开源操作系统,构建在 Linux 内核上,并集成了 GNU shell 实用程序、桌面环境、应用程序、包管理...

2023 年 10 个最佳 Linux 桌面发行版

Linux 操作系统在桌面领域的发展已经不再被忽视,越来越多的用户正在考虑切换到 Linux 上。在 2023 年,我们可以期待更多的 Linux 桌面发行版的推出和发展。这里列举了 10 个最佳的...

据说是可以替代 Windows 的 5个 Linux 发行版

现如今有数以千计的 Linux 发行版可供您使用,然而人们却无法选择一个完美的操作系统来替代 Windows。 使用 Windows 时,傻瓜都能操作自如,同样的方法却不适用于 Linux。在这里,您...

Vue3 如何实现父子组件传值?(vue父子组件传值props)

在Vue 3中,要实现父子组件传值效果主要通过props和emit两种机制来实现,下面我们就来详细介绍一下这两种机制。父组件向子组件传值propsprops是Vue组件的一种机制,主要的作用就是实现从...

用IDEA开发如何用Git快速拉取指定分支代码?

1,准备空的文件夹,git init2,关联远程仓库,git remote add origin gitlab地址3,拉取远程分支代码,git pull origin 远程分支名再用IDEA打开项目即...

解决GitLab报错:not allowed to force push code to a protected branch

当 force push 代码的时候,可能会遇到如下错误:You are not allowed to force push code to a protected branch on this pr...