Kiro 学习指南

Kiro 学习指南

  • [Kiro 学习指南](#Kiro 学习指南)
  • [1. 快速开始](#1. 快速开始)
  • [2. 两大开发模式](#2. 两大开发模式)
    • [2.1 Vibe 模式(自由对话式)](#2.1 Vibe 模式(自由对话式))
    • [2.2 Spec 模式(结构化规划式)](#2.2 Spec 模式(结构化规划式))
    • [2.3 模式对比与选择](#2.3 模式对比与选择)
  • [3. Steering 功能](#3. Steering 功能)
  • [4. Spec 文档详解](#4. Spec 文档详解)
  • [5. 可直接使用的提示词](#5. 可直接使用的提示词)
  • [6. 其他功能](#6. 其他功能)
    • [6.1 Hooks(自动化钩子)](#6.1 Hooks(自动化钩子))
    • [6.2 MCP(Model Context Protocol)](#6.2 MCP(Model Context Protocol))
    • [6.3 上下文引用](#6.3 上下文引用)
  • [7. 最佳实践](#7. 最佳实践)

Kiro 学习指南

本文档介绍 Kiro 的核心功能和使用方法,帮助你更好地利用 AI 辅助开发。

1. 快速开始

Kiro 是一个 AI 辅助开发的 IDE,核心理念:让 AI 理解你的项目,而不是每次都从零开始解释

30 秒上手

场景 做法
改个 bug、加小功能 直接在聊天框输入需求(Vibe 模式)
开发完整功能模块 输入"帮我创建一个 Spec,开发 xxx"(Spec 模式)
让 AI 记住项目背景 .kiro/steering/ 下创建 md 文件

2. 两大开发模式

2.1 Vibe 模式(自由对话式)

像和同事聊天一样,直接告诉 AI 你想做什么,AI 立即执行。

适用场景:快速修 bug、小功能调整、代码重构、探索性开发

使用示例

复制代码
帮我给这个按钮加个 loading 状态
把这个函数改成 async/await 写法
这个接口报错了,帮我看看什么问题

2.2 Spec 模式(结构化规划式)

先规划再执行,将开发过程分为三个阶段,每阶段生成文档并等待确认。

适用场景:复杂功能开发、新项目搭建、团队协作、需要文档留存的项目

核心流程

复制代码
需求(What)──────► 设计(How)──────► 任务(Do)
     │                   │                  │
requirements.md      design.md          tasks.md
     │                   │                  │
  用户确认 ✓          用户确认 ✓         开始执行
阶段 核心工作 输出
需求阶段 把用户描述转化为用户故事 + EARS 验收标准 requirements.md
设计阶段 生成技术架构、数据模型、API 设计 design.md
任务阶段 拆解为可执行任务,带依赖关系和检查点 tasks.md

触发方式

复制代码
帮我创建一个 Spec,开发[功能名称]

文件位置

复制代码
.kiro/specs/[功能名称]/
├── requirements.md
├── design.md
└── tasks.md

2.3 模式对比与选择

方面 Vibe 模式 Spec 模式
开发风格 自由、即兴 规划、结构化
文档产出 需求/设计/任务文档
可追溯性
质量保障 依赖人工检查 有验收标准和检查点

选择建议:改 bug、加小功能 → Vibe;开发完整模块、搭建新项目 → Spec


3. Steering 功能

Steering = 项目说明书,让 AI "记住"你的项目背景。

注意:Steering 不是开发模式,而是辅助功能,在 Vibe 和 Spec 模式下都会生效。

文件位置与作用

复制代码
.kiro/steering/
├── product.md       # 产品概述(让 AI 理解业务)
├── tech.md          # 技术栈(让 AI 生成符合规范的代码)
├── structure.md     # 项目结构(让 AI 知道代码放哪里)
└── chinese-language.md  # 语言规则(让 AI 用中文回答)

包含模式

模式 说明 配置方式
始终包含 每次对话都读取(默认) 无需配置
条件包含 读取特定文件时才包含 front-matter: inclusion: fileMatch
手动包含 用户通过 # 引用时才包含 front-matter: inclusion: manual

示例:product.md

markdown 复制代码
# 产品概述

## 项目名称
小区超市 - 微信小程序

## 产品描述
社区超市微信小程序,为小区居民提供在线购物服务。

## 核心功能
- 首页:轮播图、商品分类、推荐商品展示
- 购物车:商品添加、数量修改、选择结算
- 个人中心:用户信息、订单管理、收货地址管理

## 目标用户
小区居民

4. Spec 文档详解

4.1 requirements.md

markdown 复制代码
# 需求文档

## 简介
[项目概述:是什么系统 + 基于什么技术 + 给谁用 + 做什么]

## 术语表
- **术语1**: 定义说明

## 需求

### 需求 1:[需求标题]

**用户故事:** 作为[角色],我希望[功能],以便[价值]。

#### 验收标准
1. WHEN [条件] THEN [系统] SHALL [行为]
2. THE [系统] SHALL [行为]

EARS 验收标准格式

模式 格式 使用场景
事件驱动 WHEN 事件 THEN 系统 SHALL 行为 用户操作触发
条件驱动 IF 条件 THEN 系统 SHALL 行为 条件判断
通用 THE 系统 SHALL 行为 始终成立

4.2 design.md

markdown 复制代码
# 设计文档

## 概述
[技术方案概述]

## 技术栈
- **框架**: Vue 3.4+
- **语言**: TypeScript 5.x

## 架构
[目录结构树 + 说明]

## 数据模型
[TypeScript 接口 或 SQL 建表语句]

## 组件与接口
[核心模块设计 + API 接口列表]

## 正确性属性
### Property 1: [属性名称]
*对于任意* [条件],[断言]。
**验证: 需求 X.Y**

## 错误处理 / 测试策略
[错误类型 + 处理策略 + 测试方案]

正确性属性:系统必须满足的不变量,常见类型:

  • 数据一致性:对于任意订单创建,库存应减少相应数量
  • 状态流转:对于任意订单,状态只能按 pending→paid→shipping 流转
  • 权限验证:对于任意地址操作,只有所属用户才能执行

4.3 tasks.md

markdown 复制代码
# 实现计划:[模块名称]

## 概述
[实现方案概述]

## 任务

- [ ] 1. [任务组名称]
  - [ ] 1.1 [子任务]
    - [具体内容]
    - _需求: X.Y_

- [ ] N. 检查点 - [阶段名称]
  - 确保 xxx
  - 如有问题请提出

## 备注
[注意事项]

任务组织特点 :按功能模块分组、大任务下有子任务、通过 _需求: X.Y_ 关联需求、设置阶段性检查点


5. 可直接使用的提示词

以下提示词可以在任何 AI 工具(ChatGPT、Claude 等)中使用,生成与 Kiro Spec 格式一致的文档。

5.1 生成 requirements.md

复制代码
你是一个专业的需求分析师。请根据我提供的项目描述,生成一份结构化的需求文档。

## 输出格式

严格按照以下 Markdown 格式输出,不要添加任何额外章节:

# 需求文档

## 简介

[用一段话描述:这是什么系统 + 基于什么技术 + 给谁用 + 用来做什么]

## 术语表

- **术语1**: 定义说明
- **术语2**: 定义说明

## 需求

### 需求 1:[需求标题]

**用户故事:** 作为[角色],我希望[功能],以便[价值]。

#### 验收标准

1. WHEN [触发条件] THEN [系统名] SHALL [具体行为]
2. WHEN [触发条件] THEN [系统名] SHALL [具体行为]

### 需求 2:[需求标题]
...

## 验收标准编写规则

使用 EARS 模式,只允许以下格式:
- 事件驱动:WHEN [事件/条件] THEN [系统名] SHALL [行为]
- 通用行为:THE [系统名] SHALL [行为]

## 质量要求

1. 每个需求有且仅有一个用户故事
2. 验收标准必须具体、可测试
3. 每条验收标准只描述一个行为
4. 覆盖正常流程和异常流程
5. 术语表中的术语在全文保持一致

---

我的项目描述:

[在这里写你的项目描述]

5.2 生成 design.md

复制代码
你是一个专业的软件架构师。请根据我提供的需求文档,生成一份技术设计文档。

## 输出格式

严格按照以下 Markdown 格式输出:

# 设计文档

## 概述

[一段话描述技术方案]

## 技术栈

- **框架**: 
- **语言**: 
- **构建工具**: 
- **UI 组件库**: 
- **状态管理**: 
- **路由**: 
- **HTTP 客户端**: 

## 架构

[目录结构树,每个目录后加注释]

## 数据模型

[TypeScript 接口定义或 SQL 建表语句]

## 组件与接口

[核心模块设计 + API 接口列表]

## 正确性属性

*正确性属性是指在系统所有有效执行中都应保持为真的特性或行为。*

### Property 1: [属性名称]

*对于任意* [条件],[断言]。

**验证: 需求 X.Y**

## 错误处理

### 错误类型
1. **类型1**: 处理方式
2. **类型2**: 处理方式

## 测试策略

### 单元测试
- 工具:
- 范围:

### 集成测试
- 工具:
- 范围:

---

需求文档内容:

[在这里粘贴 requirements.md 的内容]

5.3 生成 tasks.md

复制代码
你是一个专业的项目经理。请根据我提供的需求文档和设计文档,生成一份可执行的任务清单。

## 输出格式

严格按照以下 Markdown 格式输出:

# 实现计划:[模块名称]

## 概述

[一段话描述实现方案]

## 任务

- [ ] 1. [任务组名称]
  - [ ] 1.1 [子任务]
    - [具体内容]
    - _需求: X.Y_
  - [ ] 1.2 [子任务]
    - [具体内容]
    - _需求: X.Y_

- [ ] 2. [任务组名称]
  - [ ] 2.1 [子任务]
  - [ ] 2.2 [子任务]

- [ ] N. 检查点 - [阶段名称]
  - 确保 xxx
  - 确保 xxx
  - 如有问题请提出

## 备注

- [注意事项]

## 任务组织规则

1. 按功能模块分组
2. 每个子任务 0.5-2 小时工作量
3. 按依赖顺序排列
4. 关键节点设置检查点
5. 每个任务关联需求编号

---

需求文档:

[粘贴 requirements.md 内容]

设计文档:

[粘贴 design.md 内容]

6. 其他功能

6.1 Hooks(自动化钩子)

在特定事件发生时自动触发 AI 执行。

触发时机:发送消息、AI 执行完成、新会话创建、保存代码文件、手动点击按钮

使用场景:保存代码时自动运行测试、更新翻译文件时同步其他语言

配置方式:命令面板搜索 "Open Kiro Hook UI"


6.2 MCP(Model Context Protocol)

连接外部工具和服务的协议。

配置位置

  • 工作区级别:.kiro/settings/mcp.json
  • 用户级别:~/.kiro/settings/mcp.json

配置示例

json 复制代码
{
  "mcpServers": {
    "aws-docs": {
      "command": "uvx",
      "args": ["awslabs.aws-documentation-mcp-server@latest"],
      "disabled": false
    }
  }
}

6.3 上下文引用

在聊天中使用 # 引用特定内容:

引用 说明
#File 引用特定文件
#Folder 引用特定文件夹
#Problems 当前文件的问题
#Terminal 终端输出
#Git Diff Git 变更
#Codebase 扫描整个代码库

7. 最佳实践

Steering 使用建议

  • 项目初期就创建,越早让 AI 理解项目越好
  • 保持更新,技术栈或结构变化时同步更新
  • 简洁明了,关键信息即可

Spec 使用建议

  • 按功能模块创建,每个功能一个 Spec 目录
  • 分阶段确认,每个文档生成后仔细审查
  • 关联需求编号,保持文档间的追溯性

提示词使用建议

  • 项目描述要详细:技术栈、功能列表、用户角色都要写清楚
  • 分步骤执行:先生成 requirements,确认后再生成 design
  • 迭代优化:如果生成结果不满意,可以追问修改

配合使用

复制代码
Steering(背景)+ Spec(任务)= 高质量的 AI 辅助开发

Spec 规划大功能 → Vibe 处理小调整

相关推荐
方也_arkling3 小时前
【Java-Day08】static / final / 枚举
java·开发语言
橙淮3 小时前
Spring Bean作用域与生命周期全解析
java·spring
风吹夏回4 小时前
Python 全局异常处理:从“满屏 try-except”到优雅兜底
开发语言·python
Chengbei114 小时前
一站式源码安全检测工具、云安全 / APP / 小程序源码敏感信息递归多层目录扫描AK、JWT、手机号、身份证等敏感信息
java·开发语言·安全·web安全·网络安全·系统安全·安全架构
llz_1124 小时前
web-第一次课后作业
java·开发语言·idea
小熊Coding4 小时前
Python爬取当当网二手图书项目实战!
开发语言·爬虫·python·beautifulsoup·requests·二手图书
秋94 小时前
Java项目运行5天左右自动宕机:系统性定位与解决方案
java·开发语言·python
小江的记录本4 小时前
【JVM虚拟机】垃圾回收GC:垃圾收集器:CMS:核心原理、回收流程、优缺点、废弃原因(附《思维导图》+《面试高频考点清单》)
java·jvm·后端·python·spring·面试·maven
xiaoshuaishuai84 小时前
C# 内存管理与资源泄漏
开发语言·c#
DIY源码阁5 小时前
JavaSwing学生成绩管理系统 - MySQL版
java·数据库·mysql·eclipse