跳至主要內容

關於 AWS 台灣

Kiro 完整 Cheat Sheet | Book of Kiro

鍵盤快捷鍵完全掌握指南

全部開啟

只要先記住這幾個,基本上你就能用好 Kiro 的 80% 功能了:

 

 

想做的事

 

 

 

 

Mac 快捷鍵

 

 

 

 

Windows / Linux 快捷鍵 

 

 

 

 

會發生什麼?

 

 

 

 

和 AI 對話

 

 

 

 

Cmd + L

 

 

 

 

Ctrl + L 

 

 

 

 

打開聊天面板,開始和 AI 對話

 

 

 

 

即時喚起 AI

 

 

 

 

Cmd + I

 

 

 

 

Ctrl + I 

 

 

 

 

在滑鼠指標處啓動 AI,可以邊寫代碼邊提問

 

 

 

 

全局搜索(命令面板)

 

 

 

 

Cmd + Shift + P

 

 

 

 

Ctrl + Shift + P 

 

 

 

 

打開命令行介面,訪問 Kiro 所有功能

 

 

 

 

打開文件

 

 

 

 

Cmd + P

 

 

 

 

Ctrl + P 

 

 

 

 

輸入文件名的一部分就能快速打開

 

 

 

 

保存文件

 

 

 

 

Cmd + S

 

 

 

 

Ctrl + S 

 

 

 

 

老朋友了,必須記

 

 

 

 

項目內搜索

 

 

 

 

Cmd + Shift + F

 

 

 

 

Ctrl + Shift + F 

 

 

 

 

在整個項目裏搜索文本內容

 

 

 

 

跳轉到定義

 

 

 

 

F12

 

 

 

 

F12 

 

 

 

 

一鍵跳轉到函數或類的定義處

 

 

 

 

修復錯誤

 

 

 

 

懸停錯誤 → Quick fix

 

 

 

 

相同 

 

 

 

 

AI 會自動給出修復建議

 

 

 

 

打開終端

 

 

 

 

Ctrl + (反引號 ) | Ctrl + (反引號)

 

 

 

 

顯示或隱藏集成終端 

 

 

 

 

 

 

 

 

 

顯示/隱藏側邊欄

 

 

 

 

Cmd + B

 

 

 

 

Ctrl + B

 

 

 

 

顯示或隱藏側邊欄,適合想全屏操作時使用 

 

 

# 多滑鼠指標編輯(學會它效率翻 3 倍) 
 
Option + 點擊(Mac)/ Alt + 點擊(Windows) 
→ 可以在多個位置同時出現光標,同時編輯多個地方 
 
# 移動整行代碼(超級實用的小技巧) 
 
Option + ↑/↓(Mac)/ Alt + ↑/↓(Windows) 
→ 整行代碼上下移動,排版修改超方便 
 
# 複製整行(寫測試數據時超好用) 
 
Option + Shift + ↑/↓(Mac)/ Alt + Shift + ↑/↓(Windows) 
→ 直接複製當前行並插入上下位置 
 
# 快速註釋(最常用,沒有之一) 
 
Cmd + /(Mac)/ Ctrl + /(Windows) 
→ 選中代碼一鍵註釋/取消註釋,調試神技! README 寫得更完整一些"

Specs(規範驅動開發)— 這纔是 Kiro 的靈魂功能!

全部開啟

傳統開發是不是經常是這種節奏:

  • “先幫我做個登錄功能吧” —— 要求模模糊糊

  • 好吧,先寫着再說

  • “啊對了,還要加密碼重置” 

  • “郵件認證也別忘了加一下”

  • 最後代碼一團糟、文檔跟不上、需求越改越亂……

😵‍💫 完全失控。 而 Specs,就是來解決這個老問題的! 它會讓 AI 幫你整理模糊需求,變成一份結構清晰、條理清楚的規範文檔。 ——不再邊寫邊猜、不再回頭大改,你的項目,從一開始就走在正軌上。✅

1️⃣ Requirements(需求)階段 —— 明確“要做什麼”

 
# 實際示例:Kiro 自動生成的需求定義 
 
## 用戶故事 
 
As a: 用戶 
I want to: 使用郵箱地址和密碼登錄 
So that: 能使用服務的個性化功能 
 
## 接受標準(EARS 語法) 
 
When: 用戶訪問登錄頁面時 
The system shall: 顯示登錄表單 
With: 
  - 郵箱地址輸入框 
  - 密碼輸入框(以掩碼形式顯示) 
  - “登錄”按鈕 
  - “忘記密碼”鏈接 
 
When: 用戶輸入正確的認證信息並點擊登錄按鈕時 
The system shall: 將用戶重定向到儀錶板頁面 
And: 生成 JWT 令牌並啓動會話 
 
When: 用戶輸入了錯誤的認證信息時 
The system shall: 顯示錯誤信息 
But: 出於安全考慮,不顯示具體錯誤原因

是不是很驚人?僅僅一句“寫個登錄功能”,它就能把需求細化到如此詳細的程度,真是超神奇!

2️⃣ Design(設計)階段 —— 規劃「怎麼實現」

 
// Kiro 自動生成的技術設計文檔示例 
 
## 架構設計 
 
### 前端結構 
 
```ts 
介面 LoginSystem { 
  // UI 組件 
  components: { 
    LoginForm: { 
      path: "components/auth/LoginForm.tsx"; 
      props: { 
        onSubmit: (credentials: LoginCredentials) => Promise<void>; 
        onForgotPassword: () => void; 
      }; 
    }; 
 
    PasswordResetModal: { 
      path: "components/auth/PasswordResetModal.tsx"; 
      props: { 
        isOpen: boolean; 
        onClose: () => void; 
      }; 
    }; 
  }; 
 
  // 狀態管理 
  stores: { 
    AuthStore: { 
      state: { 
        user: User | null; 
        isAuthenticated: boolean; 
        isLoading: boolean; 
      }; 
      actions: { 
        login: (credentials: LoginCredentials) => Promise<void>; 
        logout: () => void; 
        resetPassword: (email: string) => Promise<void>; 
      }; 
    }; 
  }; 
 
  // API 通信 
  services: { 
    AuthService: { 
      endpoints: { 
        login: "POST /API/auth/login"; 
        logout: "POST /API/auth/logout"; 
        resetPassword: "POST /API/auth/reset-password"; 
      }; 
    }; 
  }; 
}

  • 使用 Node.js + Express

  • JWT 認證

  • 使用 bcrypt 進行密碼哈希

  • 通過 PostgreSQL 管理用戶信息 

 
它連技術設計都能自動幫你生成,而且還能根據你項目的技術棧量身定製!是不是超貼心? 
 
3️⃣ **Implementation(實現)階段** —— 拆解成具體開發任務

實現任務清單

全部開啟

創建 LoginForm 組件

  • 實現表單校驗

  • 錯誤處理

  • 管理加載狀態 

實現 AuthStore

  • 登錄操作

  • 令牌管理

  • 自動登出功能 

實現路由守衛

  • 未認證用戶的重定向處理

  • 已認證用戶的訪問控制

實現認證接口

  • /api/auth/login

  • /api/auth/logout

  • /api/auth/refresh 

編寫中間件

  • JWT 驗證中間件

  • 請求速率限制

數據庫設計 

  • users 表

  • sessions 表

  • 單元測試

  • 集成測試

  • 端到端(E2E)測試

只要點一下任務,AI 就會自動開始實現對應功能,就像你在給得力的部下分派工作一樣,輕鬆又高效!

Specs 的實際用法是怎樣的?

方法一:從 Kiro 面板操作

  1. 點擊左側邊欄的 Kiro 圖標
  2. 在 Specs 區域點擊「+」按鈕
  3. 用自然語言輸入你的需求

方法二:通過聊天窗口生成

  1. 使用 Cmd/Ctrl + L 打開聊天面板
  2. 點擊「Spec」按鈕
  3. 輸入你的需求內容

實際輸入示例

“我想實現一個電商網站的購物車功能, 需要包含以下幾點:

  • 添加/刪除商品

  • 修改商品數量

  • 檢查庫存

  • 自動計算總金額

  • 支持優惠券

  • 運費計算”

Kiro 自動生成的內容結構如下

.kiro/specs/shopping-cart/ ├── requirements.md # 詳細的需求定義

├── design.md # 技術設計文檔

└── tasks.md # 實現任務清單

🤖 什麼是 Agent Hooks?什麼時候該用它?  
寫代碼的時候,你有沒有過這樣的心聲:

  • “每次保存文件都要手動跑 ESLint,好麻煩……”
  • “新建組件還得自己加測試文件,太懶得動手了……”
  • “ import 一堆,每次都要手動整理,真心累……” 
      沒錯,這些重複又枯燥的操作,**Agent Hooks 全都能幫你自動搞定!** 

 

🔧 實際 Hook 設置示例(可直接複製使用!) 
1️⃣ 持代碼整潔的「保存時自動格式化 Hook」 
每次保存文件時,自動幫你格式化代碼,讓項目一直保持高質量 ✨

名稱:auto-format-on-save

說明:在保存文件時自動格式化代碼並整理 import 語句

Trigger: File Save Target: “**/*.{js,ts,jsx,tsx}” Instructions: | 每當保存文件時,依次執行以下操作:

1.使用 ESLint 檢查問題

  • 能自動修復的部分直接修復

  • 無法自動修復的問題列出清單

2.使用 Prettier 格式化代碼

  • 優先使用項目中的 .prettierrc 配置

  • 如果沒有則使用默認配置

3.整理 import 語句

  • 刪除未使用的 import

  • 調整 import 順序(外部 → 內部 → 相對路徑)

  • 合併重複的 import

4.檢查 console.log

  • 如果在正式代碼中檢測到 console.log,發出警告

  • 如果是調試用途,建議加上 /* debug */ 註釋說明

 只要設好這個 Hook,每次保存文件時,代碼就會自動整潔如新 ✨ 
在團隊開發中,它能幫大家統一代碼風格,簡直不要太好用!💯👨‍💻👩‍💻 
 
2️⃣ React 開發者的神助手「組件創建時自動 Hook」

名稱:react-component-scaffold

說明:在創建新的 React 組件時,自動生成所需的相關文件

Trigger: File Create Target: “src/components/**/*.tsx” Instructions: | 當你新建一個 React 組件時,將自動執行以下操作:

1.生成組件的基礎結構代碼

 

匯入 React from 'React' 
匯入 styles from './ComponentName.module.css' 
 
介面 ComponentNameProps { 
  // TODO: 定義組件的 props 

 
匯出 const ComponentName: React.FC<ComponentNameProps> = (props) => { 
  return ( 
    <div className={styles.container}> 
      {/* TODO: 組件實現 */} 
    </div> 
  ) 
}

 

2.創建對應的測試文件

  • 在同一目錄下生成 ComponentName.test.tsx

  • 包含基礎的渲染測試用例

3.創建 Storybook 的 story 文件

  • 生成 ComponentName.stories.tsx

  • 包含基礎的組件展示 story

4.創建 CSS 模塊樣式文件

  • 生成 ComponentName.module.css

  • 包含基礎樣式定義

5.自動向 index.ts 添加導出語句

每次新建組件,是不是都在手動一個個建這些文件? 
現在完全不用了!Kiro 自動一次幫你搞定,真正實現**開箱即用的開發體驗**⚡🧩 
 
3️⃣ 守護項目安全的「敏感信息檢測 Hook」

名稱:security-scanner

說明:檢查代碼中是否包含 API 密鑰或其他敏感信息

Trigger: File Save Target: “**/*” Instructions: | 掃描文件內容,檢測以下類型的敏感信息:

1.硬編碼的認證信息

  • API 密鑰(如 AWS、Google、OpenAI 等)

  • 密碼

  • 私鑰

  • 數據庫連接字符串

2.如果發現敏感信息,執行以下處理:

  • 高亮顯示包含問題的代碼行

  • 建議將敏感信息移至環境變量

  • 給出添加到 .env 文件的示例

  • 檢查 .gitignore 中是否已包含 .env 文件

3.私有 URL 檢查

  • 內部 API 端點

  • 開發環境用的 URL

  • 同樣建議將其環境變量化

4.提交前最終檢查

  • 通過 git diff 檢查是否有敏感信息將被提交

  • 如有問題,發出警告並建議中止提交操作

這個真的超級重要!🙌 
有沒有人不小心把敏感信息推到 GitHub 上過?舉個手吧~(別害羞,大家都幹過…😅) 
有了這個 Hook,幫你**提前踩剎車、保住安全底線**,不再心跳加速地強制刪 提交!🔥🛡️ 
 
4️⃣ 面向全球的項目福音:「多語言翻譯同步 Hook」

名稱:i18n-sync

說明:保持各語言翻譯文件的內容同步

Trigger: File Save Target: “src/locales/ja/*.json” Instructions: | 當日語語言文件被更新時,執行以下操作:

1.檢測變更內容

  • 新增的 key

  • 被修改的 key

  • 被刪除的 key

2.檢查其他語言文件

  • src/locales/en/*.json(英文)

  • src/locales/zh/*.json(中文)

  • 其他支持語言

3.執行同步操作

  • 對新增的 key,添加內容爲 “TODO: 需要翻譯”

  • 對修改的 key,添加前綴 “REVIEW: 需要全文翻譯內容”

  • 被刪除的 key,從其他語言文件中一併刪除

4.生成翻譯狀態報告

  • 列出所有待翻譯項

  • 顯示各語言的翻譯完成度

  • 輸出到 translation-status.md 文件中

在做多語言項目時,語言文件的同步是不是總是讓人頭大? 
這些瑣碎的小事,現在通通交給 Hook 自動化搞定!再也不用手動對照、一個個更新了~ 🌍⚙️🎉 
 
5️⃣ 試驅動開發者的福音:「自動生成測試的 Hook」

名稱:test-generator

說明:在實現文件修改時自動更新或生成對應的測試文件

Trigger: File Save Target: “src/**/*.{ts,tsx}” Exclude: “**/.test.” Instructions: | 當保存實現文件時,自動執行以下操作:

1.分析變更內容

  • 新增的函數

  • 修改後的函數簽名

  • 新增的類

2.檢查對應的測試文件

  • 如果不存在,則自動創建

  • 命名格式爲:文件名.test.ts(x)

3.生成或更新測試用例

  • 正常流程(happy path)測試

  • 異常處理測試

  • 邊界條件(edge case)測試

  • 如需 mock,會自動合理配置

4.檢查測試覆蓋率

  • 確保新代碼已被測試覆蓋

  • 避免整體覆蓋率下降

  • 目標保持在 80% 以上

5.執行測試

  • 驗證自動生成的測試是否通過

  • 如有失敗,提供修復建議

想實踐 TDD(測試驅動開發),卻總覺得寫測試太麻煩? 
這個 Hook 簡直就是爲你量身打造的!💡 
自動補上測試,讓你專注寫邏輯,測試覆蓋率穩穩在線 🧪✅ 
 
🛠️ Hook 設置的實用技巧

#如何創建 Hook

  1. 打開 Kiro 面板 → Agent Hooks → 點擊「+」按鈕

  2. 用自然語言輸入你想要實現的功能描述

  3. Kiro 會自動生成配置 → 你確認後保存即可 🎉

#設計高效 Hook 的小技巧

  • 一個 Hook 只做一件事(遵循單一職責原則)

  • 文件匹配規則要儘量具體(避免使用 “*/” 這種全局匹配)

  • 注意執行頻率(每次保存觸發可能會帶來性能壓力)

  • 在指令中加入錯誤處理邏輯,增強穩定性

#啓用 / 禁用 Hook 的方法

  • 點擊 👁️ 圖標即可切換 ON / OFF 狀態

  • 想臨時停用某個 Hook 的時候非常方便

Steering —— 把項目知識“教”給 AI 的祕密武器!

全部開啟

你有沒有在加入新項目時遇到過這些狀況:

  • “這個項目的代碼規範是怎樣的?”

  • “用的庫都是什麼版本?”

  • “目錄結構有什麼約定?” 

  • “命名規則用 camelCase 還是 snake\_case?”

通常這些信息都需要每次親自講解、手動說明…… 
但只要用了 **Steering**,AI 就能一開始就**瞭解整個項目的背景和規則

Kiro 會自動生成的 3 個 Steering 文件

Kiro 非常聰明,它會自動分析你的項目,幫你生成最基本的 Steering 文件,讓 AI 從一開始就理解項目的全貌: 

1️⃣ product.md — 項目/產品的概覽說明

#此文件會生成在 .kiro/steering/product.md

#產品概覽

##產品名稱

MyAwesomeEC 購物平臺

##使命

爲中小型在線商家提供一個簡單易用、功能強大的電商建站平臺 

##目標用戶

  • 個體經營者

  • 中小企業的電商負責人

  • 有意通過副業經營網店的個人用戶

##核心功能

  1. 商品管理

  • 庫存管理

  • 商品分類 

  • 支持上傳多張商品圖片

  1. 訂單管理

  • 訂單狀態跟蹤

  • 配送進度查詢

  • 退換貨流程支持

  1. 客戶管理

  • 用戶註冊與登錄

  • 購買歷史記錄查看 

  • 商品收藏與願望清單功能

  1. 支付功能

  • 支持信用卡支付(集成 Stripe)

  • 便利店付款

  • 貨到付款

#業務目標

  • 月交易額突破 1 億元

  • 實現 1,000 家以上活躍商戶上線運營 

  • 將平均訂單金額穩定在 5,000 元左右

 
有了這個文件,AI 就能真正理解“這個項目的目標是什麼”,從而做出更加貼合實際、符合方向的智能建議。🎯🤖 
 
2️⃣ tech.md —— 項目的技術棧說明文件

#此文件將生成在 .kiro/steering/tech.md

#技術棧說明

##前端

  • 框架:Next.js 14.2.5(使用 App Router)

  • 語言:TypeScript 5.5.4

  • 樣式處理:

  • Tailwind CSS 3.4.1 

  • CSS Modules(組件級樣式)

  • 狀態管理:Zustand 4.5.4

  • 表單處理:React Hook Form 7.52.1

  • 數據驗證:Zod 3.23.8

##後端

  • 運行時環境:Node.js 20.x

  • 框架:Express 4.19.2

  • ORM 工具:Prisma 5.17.0 

  • 認證機制:NextAuth.js 4.24.7

##數據庫

  • 生產環境:PostgreSQL 15(託管於 AWS RDS)

  • 開發環境:PostgreSQL 15(通過 Docker 本地運行)

  • 緩存服務:Redis 7.2

##基礎設施 & 部署

  • 前端託管:Vercel

  • API 部署:AWS Lambda + API Gateway 

  • 圖片分發:Cloudinary

  • 監控系統:Datadog

##開發工具

  • 包管理器:pnpm 8.15.6

  • 代碼規範檢查:ESLint 8.57.0

  • 代碼格式化工具:Prettier 3.3.3

  • 測試框架:

  • Jest 29.7.0 

  • React Testing Library

  • Playwright(端到端測試)

##注意事項

  • Node.js 版本通過 .nvmrc 進行管理

  • 必須使用 pnpm(禁止使用 npm 或 yarn)

  • 已通過 Husky 設置 pre-commit 鉤子

 
有了這份文件,AI 就能**完全掌握你項目的技術細節**, 
不再問你“用的是什麼框架”,建議也會更貼合實際,直接對上點子上! 

3️⃣ structure.md —— 項目結構說明文件

#此文件將生成在 .kiro/steering/structure.md

#項目結構說明

##目錄結構

project-root/ ├── .kiro/ # Kiro 配置目錄

│ ├── steering/ # 項目信息(AI 使用的上下文)

│ └── settings/ # Kiro 的運行設置

├── src/ │ ├── app/ # Next.js 的 App Router 頁面目錄 

│ │ ├── (auth)/ # 需要身份驗證的頁面

│ │ ├── (public)/ # 公共訪問頁面

│ │ ├── api/ # API 路由

│ │ └── layout.tsx # 根級佈局組件

│ ├── components/ # UI 組件目錄

│ │ ├── common/ # 通用組件(例如按鈕、卡片等)

│ │ ├── features/ # 按功能模塊分類的組件

│ │ └── ui/ # 基礎 UI 元件(輸入框、標籤等) 

│ ├── hooks/ # 自定義 React Hooks

│ ├── lib/ # 工具方法與模塊集合

│ │ ├── api/ # 封裝的 API 客戶端

│ │ ├── utils/ # 通用工具函數

│ │ └── constants/ # 常量定義

│ ├── stores/ # Zustand 狀態管理邏輯

│ └── types/ # TypeScript 類型定義

├── prisma/ │ ├── schema.prisma # 數據庫結構定義(Prisma Schema) 

│ └── migrations/ # 數據庫遷移記錄

├── public/ # 靜態資源文件(圖片、圖標等)

├── tests/ # 測試文件目錄(單元測試、集成測試)

└── docs/ # 項目文檔與說明文件

###命名規範

####文件命名:

  • 組件(Component):使用 PascalCase 命名,文件擴展名爲 .tsx 示例:ProductCard.tsx

  • 自定義 Hook:使用 camelCase 命名,擴展名爲 .ts 示例:useAuth.ts 

  • 工具函數(Utility):使用 camelCase 命名,擴展名爲 .ts 示例:formatPrice.ts

  • 類型定義:統一命名爲 types.ts 或 models.ts

  • 常量定義:文件命名爲 constants.ts,文件內常量使用全大寫 SNAKE_CASE 命名 示例:MAX_ITEM_COUNT, DEFAULT_CURRENCY

####代碼中的命名規則:

  • 變量 / 函數:使用 camelCase 命名 示例:userName, getProductList

  • 常量:使用全大寫 SNAKE_CASE 命名(UPPER_SNAKE_CASE) 示例:DEFAULT_TIMEOUT, MAX_RETRY_COUNT

  • 類型 / 接口(Type & Interface):使用 PascalCase 命名 示例:UserProfile, OrderItem

  • 枚舉(Enum):枚舉名使用 PascalCase,枚舉值使用全大寫 SNAKE_CASE 

###導入順序(Import 順序)建議如下:

  1. React 相關模塊(例如 react, react-dom, next 等)

  1. 外部庫(如 lodash, axios, zustand 等)

  1. 內部路徑別名(如 @/components, @/lib 等)

  1. 相對路徑(例如 ../utils, ./Button)

  1. 樣式文件(如 .css, .scss, .module.css) 例:

‘’’ JavaScript

// 1. React 相關 
import React, { useState } from 'React' 
 
// 2. 外部庫 
import { useRouter } from 'next/navigation' 
import axios from 'axios' 
 
// 3. 內部路徑別名 
import { Button } from '@/components/ui' 
import { formatPrice } from '@/lib/utils' 
 
// 4. 相對路徑 
import { ProductType } from './types' 
 
// 5. 樣式文件 
import styles from './Product.module.css'

...

 
這些文件會在你打開項目時被 AI 自動讀取,AI 會始終基於項目上下文理解並給出回答,超靠譜! 
 
自定義 Steering 文件的創建 
默認的三個 Steering 文件不夠用? 
想更詳細地告訴 AI 你的項目規則? 
那就來創建自定義的 Steering 文件吧! 
 
定義 API 設計規範的示例

#.kiro/steering/api-standards.md

---

inclusion: fileMatch 

fileMatchPattern: “app/api/*/”

---

#API 設計標準

##接口設計

###URL 設計原則 

  • 採用 RESTful 設計

  • 資源名稱使用複數形式(例如 /users, /products)

  • 路徑層級最多爲三層

  • 使用 kebab-case(例如 /user-profiles)

###HTTP 方法使用規範

  • GET:獲取資源(冪等)

  • POST:創建資源

  • PUT:整體更新資源 

  • PATCH:部分更新資源

  • DELETE:刪除資源

##響應格式

###成功響應示例


  "success": true, 
  "data": { 
    // 實際數據內容 
  }, 
  "meta": { 
    "timestamp": "2025-01-20T10:00:00Z", 
    "版本": "1.0", 
    "requestId": "uuid-here" 
  } 
}

###錯誤響應(Error Responses)

‘’’JSON


  "success": false, 
  "錯誤": { 
    "code": "VALIDATION_ERROR", 
    "message": "輸入值不合法", 
    "details": [ 
      { 
        "欄位": "email", 
        "message": "請輸入有效的郵箱地址" 
      } 
    ] 
  }, 
  "meta": { 
    "timestamp": "2025-01-20T10:00:00Z", 
    "requestId": "uuid-here" 
  } 
}

...

###錯誤代碼體系(Error Code System)

 

 

錯誤代碼

 

 

 

 

HTTP 狀態碼

 

 

 

 

說明

 

 

 

 

VALIDATION_ERROR

 

 

 

 

400 

 

 

 

 

輸入值驗證錯誤

 

 

 

 

UNAUTHORIZED

 

 

 

 

401

 

 

 

 

認證錯誤

 

 

 

 

FORBIDDEN

 

 

 

 

403

 

 

 

 

權限錯誤

 

 

 

 

NOT_FOUND 

 

 

 

 

404

 

 

 

 

找不到資源

 

 

 

 

CONFLICT

 

 

 

 

409

 

 

 

 

資源衝突

 

 

 

 

RATE_LIMIT

 

 

 

 

429

 

 

 

 

速率限制 

 

 

 

 

INTERNAL_ERROR

 

 

 

 

500

 

 

 

 

服務器內部錯誤

 

 

###認證與授權(Authentication & Authorization)

####認證請求頭(Authentication Headers)

... 
Authroization: Bearer <jwt-token>

...

####JWT 載荷(Payload)


  "sub": "user-id", 
  "email": "user@example.com", 
  "roles": ["user", "admin"], 
  "iat": 1234567890, 
  "exp": 1234567890 
}

...

###分頁(Pagination)

####請求(Request)

... 
GET /API/products?page=1&limit=20&排序=createdAt:desc

...

 

####響應(Response)

‘’’ JSON


  "data": [...], 
  "pagination": { 
    "page": 1, 
    "limit": 20, 
    "total": 100, 
    "totalPages": 5, 
    "hasNext": true, 
    "hasPrev": false 
  } 
}

...

 

####校驗(Validation)

必須使用 Zod 對請求體進行校驗:

‘’’ js

const createProductSchema = z.object({ 
  name: z.string().min(1).max(100), 
  price: z.number().positive(), 
  description: z.string().optional(), 
  categoryId: z.string().uuid(), 
});

...

 
有了這份 Steering 文件,AI 在生成 API 端點時會自動遵循這些規則,幫你寫出合規的代碼。 
 
定義測試策略示例

#.kiro/steering/testing-strategy.md

---

inclusion: fileMatch 

fileMatchPattern: “*/.test.{ts,tsx}”

---

#測試策略

##測試類型與目標 

###單元測試

  • 覆蓋率目標:80%以上

  • 對象:純函數、自定義 Hook、工具函數

  • 工具:Jest

###集成測試

  • 對象:API 端點、數據庫操作

  • 工具:Jest + Supertest

  • 數據庫:測試用 Docker 容器 

###端到端測試

  • 對象:主要用戶流程

  • 工具:Playwright

  • 執行環境:CI/CD 流水線

##測試寫法

###測試文件放置

src/ 

├── components/ │  

├── Button.tsx 

│ └── Button.test.tsx # 與組件放在同目錄

###測試結構(AAA 原則)

‘'’typescript

describe("功能名", () => { 
  it("期望行爲", () => { 
    // Arrange(準備) 
    const input = "測試"; 
 
    // Act(執行) 
    const result = functionToTest(input); 
 
    // Assert(斷言) 
    expect(result).toBe("expected"); 
  }); 
});

 
Steering 文件的高效使用方法

#包含模式的使用區分

#1. always(始終包含)

#影響整個項目的配置

  • 編碼規範

  • 安全策略

  • 基本設計原則

#2. fileMatch(條件匹配) 

#僅對特定文件類型生效

  • API 端點規則 → “app/api/*/”

  • React 組件規範 → “*/.tsx”

  • 測試寫法 → “*/.test.*”

#3. manual(手動模式)

#偶爾才用的信息

  • 故障排查指南

  • 性能優化方法 

  • 複雜部署流程

 
何設置全局 Steering 文檔

Kiro v0.5.0 支持了全局 Steering 文檔,只需要在 Steering 面板中點擊加號,創建全局 Steering 文檔即可。 
 
全局 Steering 文檔會被保存在 ~/.kiro/steering/ 目錄下 
 
AGENTS.md 
從 v0.5.0 開始,Kiro 默認會把 AGENTS.md 加入 Steering 中 

項目初期設置的完美流程

#1. 在項目目錄打開 Kiro 

cd my-awesome-project 

kiro . 

#2. 自動生成基礎 Steering 文件

打開 Kiro 面板 → 選擇 “Generate Steering Docs” 

#會自動生成 product.md、tech.md、structure.md

#3. 添加項目特有的配置 

cat > .kiro/steering/conventions.md << ‘EOF’

#開發規範 

##提交信息規範

  • feat: 新功能 

  • fix: Bug 修復

  • docs: 文檔變更 

  • style: 代碼格式調整

  • refactor: 重構 

  • test: 測試相關

  • chore: 其他雜項 

##分支策略

  • main: 生產環境 

  • develop: 開發環境

  • feature/*: 新功能開發 

  • hotfix/*: 緊急修復

##代碼審查標準 

  • 測試通過

  • 覆蓋率 80% 以上 

  • 無 ESLint 錯誤

  • 文檔已更新  

EOF

#4. 設置必備 Hooks 

#保存時自動格式化

Hooks → + → 選擇 “保存文件時自動執行 ESLint 和 Prettier” 

#提交前安全掃描

Hooks → + → 選擇 “git commit 前掃描敏感信息” 

#5. 配置 MCP 服務器

cat > .kiro/settings/mcp.json << ‘EOF’  

“mcpServers”: {  

“web-search”: { 

“command”: “npx”,  

“args”: [“-y”, “@modelcontextprotocol/server-bravesearch”], 

“env”: {  

“BRAVE_API_KEY”: “$BRAVE_API_KEY” 

}  

}  

} EOF

#6. 設置團隊共享的 .gitignore 

cat >> .gitignore << ‘EOF’

#Kiro 配置文件 

.kiro/settings.json 

.kiro/cache/  

.kiro/logs/

#但以下內容需要共享 

!.kiro/steering/ 

!.kiro/hooks/  

!.kiro/specs/ 

EOF 

 
從零開始構建全棧應用

#1. 從創建項目開始 

‘’’ sh

mkdir my-saas-app && cd my-saas-app 
Kiro .

‘’’ 

#2. 將需求轉化爲 Spec

按 Cmd/Ctrl+L 打開聊天,輸入: 

"SaaS 應用開發需求。 
 
功能: 
 
- 用戶認證(郵箱/密碼、Google OAuth) 
- 訂閱管理(Stripe) 
- 儀表盤 
- API(REST + GraphQL) 
 
技術棧: 
 
- Next.js 14(App Router) 
- TypeScript 
- Prisma + PostgreSQL 
- TailwindCSS"

#3. 執行 Spec 

從上到下執行生成的任務 點擊每個任務,AI 會幫你實現

#4. 啓動開發服務器 

‘’’bash

npm install 
npm run dev

‘’’ 

#5. 通過 Spec 添加新功能

“我要添加郵件通知功能。 

  • 用戶註冊時發送歡迎郵件

  • 密碼重置郵件 

  • 賬單發送 使用 SendGrid 服務”

 

傳統代碼現代化

#將 jQuery 時代的代碼遷移到 React 的示例 

 

#1. 現狀分析

“請分析 @src/legacy/ 目錄下的代碼, 制定遷移到 React 的計劃” 

#2. 制定分階段遷移的 Spec

“傳統代碼分階段遷移計劃:  

Phase 1: 遷移共通組件 

Phase 2: 按頁面單元遷移  

Phase 3: 狀態管理整合 

Phase 4: 路由遷移” 

#3. 自動轉換 Hook 設置

‘’’yml 

Trigger: Manual 
Name: "jQuery to React Converter" 
Instructions: | 
  分析選中的 jQuery 代碼: 
  1. 生成等效的 React 組件 
  2. 將事件處理器轉換爲 React 事件 
  3. 將 DOM 操作轉換爲 state/props 
  4. 將動畫轉換爲 CSS 或 Framer Motion

‘’’ 

#4. 添加測試

“@src/components/  

爲所有組件添加測試。 

使用 React Testing Library,  

測試用戶交互”

 
構建 CI/CD 流水線

#與 AI 一起創建 GitHub Actions 配置 

#1. 創建基礎工作流

創建 ‘.github/workflows/ci.yml’,在推送時執行: 

  • 代碼檢查(ESLint、TypeScript)

  • 運行測試 

  • 驗證構建

  • 生成覆蓋率報告 

#2. 部署工作流

創建 ‘.github/workflows/deploy.yml’,在合併到 main 分支時執行: 

  • 構建項目

  • 部署到 Vercel 

  • 發送 Slack 通知

#3. 監控工作流的 Hook 

‘’’yml

Trigger: File Save 
Target: ".GitHub/workflows/*.yml" 
Instructions: | 
  審查 GitHub Actions 配置: 
  1. 語法錯誤檢查 
  2. 檢查 Secret 的正確使用 
  3. 優化並行執行建議 
  4. 提議緩存使用

‘’’ 

 
性能優化

#1. 現狀分析 

“請分析 @src/ 目錄下項目的性能瓶頸”

#2. 優化 Spec 制定 

“性能優化任務:

  • 使用 React.memo 防止重複渲染 

  • 圖片優化與懶加載

  • 減少打包體積 

  • 優化數據庫查詢”

#3. 自動優化 Hook 

‘’’yml

Trigger: File Save 
Target: "src/components/**/*.tsx" 
Instructions: | 
  進行性能分析: 
  1. 檢測不必要的重複渲染 
  2. 提議使用 useCallback 和 useMemo 
  3. 檢測高開銷計算並提出優化方案 
  4. 建議使用動態 匯入

‘’’ 

#4. 監控設置

“在 Datadog 中配置性能監控,  

追蹤 Core Web Vitals 指標”

 
🎊 總結 - Kiro 改變開發方式

 
用 Kiro 開始後帶來的變化 
1. 編碼速度提升 3 倍

  • 通過 Spec 整理需求 → AI 自動實現 

  • 複雜工作由 Hooks 自動完成

  • 利用 MCP 減少查資料時間 

2. 質量顯著提升

  • 統一編碼風格 

  • 自動生成測試

  • 自動安全檢查 

3. 學習曲線更平緩

  • AI 支持不熟悉的技術 

  • 自然掌握最佳實踐

  • 現場學習錯誤解決方案 

3 個簡單步驟立刻開始體驗

#第一步:安裝(5分鐘) 

從 https://kiro.dev 下載並安裝

#第二步:打開第一個項目(10分鐘) 

打開現有項目,生成 Steering 文件

#第三步:與 AI 對話(無限可能) 

“幫我提出改進這個項目的建議”