Initial commit

This commit is contained in:
Zhongwei Li
2025-11-30 09:05:49 +08:00
commit 6bdf233c6b
51 changed files with 11774 additions and 0 deletions

559
commands/spec.md Normal file
View File

@@ -0,0 +1,559 @@
## Spec
**「在編寫代碼之前赋予結構」** - 完全遵循 Kiro 的規格驅動開發
與傳統代碼生成工具不同,實現 Kiro 的規格驅動開發,重點是為開發的混沌赋予結構。從最少的需求輸入,逐步展開到產品經理級別的詳细規格和可實施的設計,**從原型到生產環境**保證一致的質量。
### 使用方法
```bash
# 請求 Claude 的 Spec Mode(最少需求輸入)
「創建[功能描述]的 spec」
# Kiro 式分阶段展開:
# 1. 簡單需求 → 自動生成詳细用戶故事
# 2. 使用 EARS 記法的結構化需求描述
# 3. 通過分阶段對話精细化規格
# 4. 生成 3 個独立文件:
# - requirements.md: EARS 記法的需求定義
# - design.md: 包含 Mermaid 圖、TypeScript 接口的設計
# - tasks.md: 自動應用最佳實践的實施計劃
```
### 實證效果 (Kiro 實績)
**2 天完成安全文件共享應用**
```bash
「創建文件共享系統 (支持加密) 的 spec」
2 天完成生產級別的加密文件共享應用
→ 自動應用安全最佳實践
→ 無需额外提示
```
**新手一晚開發遊戲**
```bash
「創建 2D 益智遊戲的 spec」
→ 遊戲開發新手的開源開發者
→ 一晚完成遊戲創建
→ 實現邏輯由 Kiro 處理,開發者專注創造性
```
**週末從原型到生產**
```bash
「創建電商網站商品管理系統的 spec」
→ 一個週末從概念到可運行的原型
→ 從原型到生產環境的一致質量
→ 通過 spec-driven development 的結構化方法
```
### 基本示例
```bash
# 新功能的 spec 創建 (最少輸入)
「商品評論系統
- 星級評分功能
- 評論發布
- 圖片上傳」
# 系統功能的 spec 創建
「用戶認證
- OAuth 支持
- 多因素認證」
# API 功能的 spec 創建
「支付系統 API
- Stripe 集成
- 重視安全性」
```
### 與 Claude 配合
```bash
# 復杂功能 spec
「創建聊天功能的 spec。包括 WebSocket、實時通知、歷史管理」
# 數據庫關聯功能 spec
「創建電商網站庫存管理功能的 spec。包括商品添加、庫存更新、警報功能」
# 前端功能 spec
「創建 React 儀表板的 spec。包括圖表顯示、筛選器、導出功能」
# 後端功能 spec
「創建 RESTful API 的 spec。包括認證、驗證、日誌記錄」
```
### Spec Mode 的特點
**分阶段對話工作流**
- 完全再現 Kiro 的核心價值——分阶段讨論
- 在各阶段與用戶合作精细化規格
- 經過疑問解決、選項讨論、批準流程後生成文件
**3 阶段的交互式展開**
- **Phase 1**: Requirements Discovery → 讨論 → 批準 → 生成 `requirements.md`
- **Phase 2**: Design Exploration → 讨論 → 批準 → 生成 `design.md`
- **Phase 3**: Implementation Planning → 讨論 → 批準 → 生成 `tasks.md`
**動態規格制定**
- 通過對話解決需求的模糊性
- 提示和讨論技術選項
- 說明權衡並確認判斷
### 詳细示例
```bash
# 復杂系統功能
「創建在線支付系統的 spec。包括 Stripe 集成、安全性、錯誤處理」
# 前端功能
「創建 React 組件的 spec。包括狀態管理、属性設計、測試」
# 後端功能
「創建 GraphQL API 的 spec。包括 Schema 設計、解析器、認證」
# DevOps 功能
「創建 CI/CD 管道的 spec。包括測試自動化、部署、監控」
```
### 分阶段對話工作流 (Phase by Phase)
#### Phase 1: Requirements Discovery & Discussion
**1. 從最少輸入自動擴展 (Kiro 式)**
```text
用戶:「用戶管理系統
- 登錄功能
- 個人資料編輯
- 管理员權限」
Claude「從需求生成詳细用戶故事。
這個理解正確吗?
自動生成的用戶故事:
- 用戶注冊和認證功能 (支持 OAuth)
- 個人資料管理功能 (头像、設置)
- 權限管理功能 (RBAC)
- 密碼重置功能
- 安全審計日誌
已補充未明確的细节。還需要其他功能吗?」
```
**2. 使用 EARS 記法的結構化需求描述**
```text
Claude「使用 Kiro 的 EARS 記法結構化需求:
EARS 記法需求定義:
WHEN 用戶尝試登錄時
GIVEN 輸入正確的郵箱和密碼
THEN 系統確認認證
AND 成功時重定向到儀表板
WHILE 用戶在個人資料編輯页面時
THE SYSTEM SHALL 實時執行驗證
AND 預覽顯示更改內容
WHERE 需要管理员權限的功能
IS 尝試訪問時
THE SYSTEM SHALL 確認權限級別
AND 不足時拒绝訪問」
```
**3. 邊緣情况和安全需求的自動補充**
```text
Claude「基于 Kiro 的最佳實践,還考虑了以下情况:
安全需求 (自動補充)
- 暴力攻擊對策
- 會話管理和超時
- CSRF 保護和 XSS 對策
- 密碼強度要求
邊緣情况 (自動檢測)
- 同時登錄限制
- 账戶鎖定功能
- 數據遷移時的一致性保證
- 大量請求時的負載均衡
這些需求合適吗?」
```
**5. Phase 1 完成和批準**
```text
Claude「Requirements Phase 已完成。
可以生成 requirements.md 吗?」
→ 「繼續」→ 生成 requirements.md
```
#### Phase 2: Design Exploration & Discussion
**1. 代碼庫分析 + 自動設計建議 (Kiro 式)**
```text
Claude「分析現有代碼庫提出最佳架構
代碼庫分析結果:
- 認證JWT + Express.js(v4.18.x)
- 數據庫PostgreSQL(v14+)
- 前端React + TypeScript(v18+)
- 現有模式Repository 模式、Service 層分離
Kiro 推薦架構:
- 符合 Clean Architecture
- Domain-Driven Design 元素
- 部分應用 CQRS 模式
- 自動化的安全最佳實践
使用這個設計吗?」
```
**2. 使用 Mermaid 圖的可視化設計**
```text
Claude「自動生成系統設計的 Mermaid 圖:
自動生成的架構圖:
graph TB
Client[React Client] --> API[Express API Gateway]
API --> Auth[Auth Service]
API --> User[User Service]
API --> Profile[Profile Service]
Auth --> AuthDB[(Auth Database)]
User --> UserDB[(User Database)]
Profile --> ProfileDB[(Profile Database)]
Auth --> JWT[JWT Service]
Auth --> OAuth[OAuth Provider]
還需要生成數據流圖吗?」
```
**3. TypeScript 接口自動生成**
```text
Claude「基于設計自動生成 TypeScript 接口:
自動生成的 TypeScript 接口:
// Domain entities
interface User {
readonly id: UserId;
readonly email: Email;
readonly profile: UserProfile;
readonly auth: AuthSettings;
readonly permissions: Permission[];
readonly createdAt: Date;
readonly updatedAt: Date;
}
interface UserProfile {
readonly displayName: string;
readonly avatar: AvatarUrl;
readonly preferences: UserPreferences;
}
interface AuthSettings {
readonly passwordHash: PasswordHash;
readonly mfaEnabled: boolean;
readonly lastLoginAt: Date;
readonly failedAttempts: number;
}
// Use cases
interface UserRepository {
findById(id: UserId): Promise<User | null>;
findByEmail(email: Email): Promise<User | null>;
save(user: User): Promise<void>;
}
interface AuthenticationService {
authenticate(credentials: LoginCredentials): Promise<AuthResult>;
refreshToken(token: RefreshToken): Promise<AccessToken>;
}
使用這個接口設計吗?」
```
**4. Phase 2 完成和批準**
```text
Claude「Design Phase 已完成。
可以生成 design.md 吗?」
→ 「繼續」→ 生成 design.md
```
#### Phase 3: Implementation Planning & Discussion
**1. 最佳實践自動應用 (Kiro 式)**
```text
Claude「生成了自動應用 Kiro 最佳實践的實施計劃:
自動生成的實施策略:
1. 安全第一開發
- 自動集成 OWASP Top 10 對策
- 自動實現加密和哈希
- 自動生成安全測試
2. 強制清洁架構
- 自動實現層分離
- 自動應用依賴倒置
- 強制可測試設計
3. 性能優化
- 自動實現緩存策略
- 數據庫優化
- 利用異步處理
使用這個方法吗?」
```
**2. 質量檢查點自動設置**
```text
Claude「自動設置各實施阶段的質量檢查點
自動質量保證流程:
Phase 3a: 後端實施
- [ ] 安全掃描 (SAST/DAST)
- [ ] API 規範測試 (OpenAPI 合規)
- [ ] 性能測試 (負載和響應)
- [ ] 漏洞掃描 (依賴關系和 CVE)
Phase 3b: 前端實施
- [ ] 無障礙測試 (WCAG 2.1 AA)
- [ ] 瀏覽器兼容性測試
- [ ] 響應式設計驗證
- [ ] 安全头確認
Phase 3c: 集成和部署
- [ ] E2E 測試套件
- [ ] CI/CD 管道配置
- [ ] 監控和日誌設置
- [ ] 生產環境安全審計
全部自動執行。有额外的質量標準吗?」
```
**3. 依賴關系和風險緩解的自動分析**
```text
Claude「自動分析實施顺序和風險緩解策略
優化的實施顺序:
Week 1: 基礎設施和安全基礎
- 數據庫設計和模式創建
- 認證基礎 (JWT + 會話管理)
- 安全中間件實施
- 基本 API 端點
Week 2: 核心功能實施
- 用戶管理功能
- 個人資料管理功能
- 權限管理系統
- 驗證和錯誤處理
Week 3: 高級功能和優化
- 多因素認證實施
- 審計日誌功能
- 性能優化
- 前端集成
自動檢測的風險緩解策略:
- 多因素認證:分阶段引入 (SMS→應用認證)
- 會話管理Redis 集群配置
- 大量訪問:速率限制 + CDN 利用
- 數據一致性:加強事務管理
這個計劃没有問題吗?」
```
**4. Phase 3 完成和批準**
```text
Claude「Implementation Planning Phase 已完成。
可以生成 tasks.md 吗?」
→ 「繼續」→ 生成 tasks.md
```
### Kiro 特有的功能
**EARS 記法 (Easy Approach to Requirements Syntax)**
```text
# Kiro 標準的 EARS 記法模式
WHEN [情况・觸發器]
GIVEN [前提條件]
THEN [系統行為]
AND [额外行為]
WHILE [狀態・流程]
THE SYSTEM SHALL [必须行為]
AND [相關行為]
WHERE [功能・組件]
IS [條件・狀態]
THE SYSTEM SHALL [對應行為]
```
**自動生成功能**
- **Mermaid 圖**: 自動生成架構和數據流圖
- **TypeScript 接口**: 基于設計自動創建類型定義
- **最佳實践**: 自動集成安全和性能對策
- **質量檢查點**: 自動設置分阶段質量標準
**hooks 聯動**
- 文件保存時的自動質量檢查
- 自動應用代碼標準
- 自動執行安全掃描
- 自動驗證 OWASP Top 10 對策
**原型→生產質量保證**
- 通過結構化方法的一致設計
- 強制安全第一開發
- 自動應用可擴展架構
- 集成持續質量管理
### 注意事項
**適用範圍**
- Spec Mode 最適合功能實施
- 簡單修復或小規模更改使用常規實施形式
- 推薦用于新功能開發或復杂功能改造
**質量保證**
- 明確各阶段的完成標準
- 實施前的設計審查
- 包括測試和無障礙的全面質量標準
**執行注意事項**
- 解決需求的模糊性後再進入設計阶段
- 設計完成後生成實施任務
- 重視各阶段的批準流程
### 觸發短語和控制
#### 分阶段工作流控制
**開始觸發器**
- 「創建[功能名]的 spec」
- 「想用 spec 驅動開發[功能名]」
- 「從規格書設計[功能名]」
**阶段進度控制**
- **「繼續」**: 完成當前阶段並生成文件,進入下一阶段
- **「修改」**: 在當前阶段內調整和改進內容
- **「重做」**: 從头開始當前阶段
- **「詳细說明」**: 提供更詳细的說明或選項
- **「跳過」**: 跳過當前阶段進入下一個 (不推薦)
**文件生成時機**
```text
Phase 1 完成 → 「繼續」 → 生成 requirements.md
Phase 2 完成 → 「繼續」 → 生成 design.md
Phase 3 完成 → 「繼續」 → 生成 tasks.md
```
### 執行示例 (分阶段流程)
```bash
# 使用示例
用戶:「創建用戶管理系統的 spec」
# Phase 1: Requirements Discovery
Claude: [開始需求確認和讨論]
用戶: [響應・讨論・修改]
Claude: 「Requirements Phase 已完成。可以繼續吗?」
用戶: 「繼續」
→ 生成 requirements.md
# Phase 2: Design Exploration
Claude: [開始設計提案和讨論]
用戶: [技術選擇・架構讨論]
Claude: 「Design Phase 已完成。可以繼續吗?」
用戶: 「繼續」
→ 生成 design.md
# Phase 3: Implementation Planning
Claude: [開始實施計劃讨論]
用戶: [優先級・風險・工時讨論]
Claude: 「Implementation Phase 已完成。可以繼續吗?」
用戶: 「繼續」
→ 生成 tasks.md
# 完成
Claude: 「spec 驅動開發的準備已完成。可以開始實施。」
```
### 與 /plan 的區別
| 特徵 | /plan | /spec |
| -------- | ---------------- | --------------------------------------------------- |
| 對象 | 一般實施計劃 | 功能規格驅動開發 |
| 輸出格式 | 單一計劃文檔 | 3 個独立文件 (requirements.md、design.md、tasks.md) |
| 需求定義 | 基本需求整理 | 使用 EARS 記法的詳细驗收標準 |
| 設計 | 以技術選型為中心 | 基于代碼庫分析 |
| 實施 | 一般任務分解 | 考虑依賴關系的序列 |
| 質量保證 | 基本測試策略 | 全面質量要求 (測試、無障礙、性能) |
| 同步 | 靜態計劃 | 動態 spec 更新 |
### 推薦用例
**推薦使用 spec**
- 新功能開發
- 復杂功能改造
- API 設計
- 數據庫設計
- UI/UX 實施
**推薦使用 plan**
- 系統整體設計
- 基礎設施構建
- 重構
- 技術選型
- 架構變更