**「在编写代码之前赋予结构」** - 完全遵循 Kiro 的规格驱动开发
Generates comprehensive specifications for features through interactive, phased discussions covering requirements, design, and implementation.
/plugin marketplace add wasabeef/claude-code-cookbook/plugin install cook-zh-cn@claude-code-cookbook「在编写代码之前赋予结构」 - 完全遵循 Kiro 的规格驱动开发
与传统代码生成工具不同,实现 Kiro 的规格驱动开发,重点是为开发的混沌赋予结构。从最少的需求输入,逐步展开到产品经理级别的详细规格和可实施的设计,从原型到生产环境保证一致的质量。
# 请求 Claude 的 Spec Mode(最少需求输入)
「创建[功能描述]的 spec」
# Kiro 式分阶段展开:
# 1. 简单需求 → 自动生成详细用户故事
# 2. 使用 EARS 记法的结构化需求描述
# 3. 通过分阶段对话精细化规格
# 4. 生成 3 个独立文件:
# - requirements.md: EARS 记法的需求定义
# - design.md: 包含 Mermaid 图、TypeScript 接口的设计
# - tasks.md: 自动应用最佳实践的实施计划
2 天完成安全文件共享应用
「创建文件共享系统 (支持加密) 的 spec」
→ 2 天完成生产级别的加密文件共享应用
→ 自动应用安全最佳实践
→ 无需额外提示
新手一晚开发游戏
「创建 2D 益智游戏的 spec」
→ 游戏开发新手的开源开发者
→ 一晚完成游戏创建
→ 实现逻辑由 Kiro 处理,开发者专注创造性
周末从原型到生产
「创建电商网站商品管理系统的 spec」
→ 一个周末从概念到可运行的原型
→ 从原型到生产环境的一致质量
→ 通过 spec-driven development 的结构化方法
# 新功能的 spec 创建 (最少输入)
「商品评论系统
- 星级评分功能
- 评论发布
- 图片上传」
# 系统功能的 spec 创建
「用户认证
- OAuth 支持
- 多因素认证」
# API 功能的 spec 创建
「支付系统 API
- Stripe 集成
- 重视安全性」
# 复杂功能 spec
「创建聊天功能的 spec。包括 WebSocket、实时通知、历史管理」
# 数据库关联功能 spec
「创建电商网站库存管理功能的 spec。包括商品添加、库存更新、警报功能」
# 前端功能 spec
「创建 React 仪表板的 spec。包括图表显示、筛选器、导出功能」
# 后端功能 spec
「创建 RESTful API 的 spec。包括认证、验证、日志记录」
分阶段对话工作流
3 阶段的交互式展开
requirements.mddesign.mdtasks.md动态规格制定
# 复杂系统功能
「创建在线支付系统的 spec。包括 Stripe 集成、安全性、错误处理」
# 前端功能
「创建 React 组件的 spec。包括状态管理、属性设计、测试」
# 后端功能
「创建 GraphQL API 的 spec。包括 Schema 设计、解析器、认证」
# DevOps 功能
「创建 CI/CD 管道的 spec。包括测试自动化、部署、监控」
1. 从最少输入自动扩展 (Kiro 式)
用户:「用户管理系统
- 登录功能
- 个人资料编辑
- 管理员权限」
Claude:「从需求生成详细用户故事。
这个理解正确吗?
自动生成的用户故事:
- 用户注册和认证功能 (支持 OAuth)
- 个人资料管理功能 (头像、设置)
- 权限管理功能 (RBAC)
- 密码重置功能
- 安全审计日志
已补充未明确的细节。还需要其他功能吗?」
2. 使用 EARS 记法的结构化需求描述
Claude:「使用 Kiro 的 EARS 记法结构化需求:
EARS 记法需求定义:
WHEN 用户尝试登录时
GIVEN 输入正确的邮箱和密码
THEN 系统确认认证
AND 成功时重定向到仪表板
WHILE 用户在个人资料编辑页面时
THE SYSTEM SHALL 实时执行验证
AND 预览显示更改内容
WHERE 需要管理员权限的功能
IS 尝试访问时
THE SYSTEM SHALL 确认权限级别
AND 不足时拒绝访问」
3. 边缘情况和安全需求的自动补充
Claude:「基于 Kiro 的最佳实践,还考虑了以下情况:
安全需求 (自动补充):
- 暴力攻击对策
- 会话管理和超时
- CSRF 保护和 XSS 对策
- 密码强度要求
边缘情况 (自动检测):
- 同时登录限制
- 账户锁定功能
- 数据迁移时的一致性保证
- 大量请求时的负载均衡
这些需求合适吗?」
5. Phase 1 完成和批准
Claude:「Requirements Phase 已完成。
可以生成 requirements.md 吗?」
→ 「继续」→ 生成 requirements.md
1. 代码库分析 + 自动设计建议 (Kiro 式)
Claude:「分析现有代码库,提出最佳架构:
代码库分析结果:
- 认证:JWT + Express.js(v4.18.x)
- 数据库:PostgreSQL(v14+)
- 前端:React + TypeScript(v18+)
- 现有模式:Repository 模式、Service 层分离
Kiro 推荐架构:
- 符合 Clean Architecture
- Domain-Driven Design 元素
- 部分应用 CQRS 模式
- 自动化的安全最佳实践
使用这个设计吗?」
2. 使用 Mermaid 图的可视化设计
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 接口自动生成
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 完成和批准
Claude:「Design Phase 已完成。
可以生成 design.md 吗?」
→ 「继续」→ 生成 design.md
1. 最佳实践自动应用 (Kiro 式)
Claude:「生成了自动应用 Kiro 最佳实践的实施计划:
自动生成的实施策略:
1. 安全第一开发
- 自动集成 OWASP Top 10 对策
- 自动实现加密和哈希
- 自动生成安全测试
2. 强制清洁架构
- 自动实现层分离
- 自动应用依赖倒置
- 强制可测试设计
3. 性能优化
- 自动实现缓存策略
- 数据库优化
- 利用异步处理
使用这个方法吗?」
2. 质量检查点自动设置
Claude:「自动设置各实施阶段的质量检查点:
自动质量保证流程:
Phase 3a: 后端实施
- [ ] 安全扫描 (SAST/DAST)
- [ ] API 规范测试 (OpenAPI 合规)
- [ ] 性能测试 (负载和响应)
- [ ] 漏洞扫描 (依赖关系和 CVE)
Phase 3b: 前端实施
- [ ] 无障碍测试 (WCAG 2.1 AA)
- [ ] 浏览器兼容性测试
- [ ] 响应式设计验证
- [ ] 安全头确认
Phase 3c: 集成和部署
- [ ] E2E 测试套件
- [ ] CI/CD 管道配置
- [ ] 监控和日志设置
- [ ] 生产环境安全审计
全部自动执行。有额外的质量标准吗?」
3. 依赖关系和风险缓解的自动分析
Claude:「自动分析实施顺序和风险缓解策略:
优化的实施顺序:
Week 1: 基础设施和安全基础
- 数据库设计和模式创建
- 认证基础 (JWT + 会话管理)
- 安全中间件实施
- 基本 API 端点
Week 2: 核心功能实施
- 用户管理功能
- 个人资料管理功能
- 权限管理系统
- 验证和错误处理
Week 3: 高级功能和优化
- 多因素认证实施
- 审计日志功能
- 性能优化
- 前端集成
自动检测的风险缓解策略:
- 多因素认证:分阶段引入 (SMS→应用认证)
- 会话管理:Redis 集群配置
- 大量访问:速率限制 + CDN 利用
- 数据一致性:加强事务管理
这个计划没有问题吗?」
4. Phase 3 完成和批准
Claude:「Implementation Planning Phase 已完成。
可以生成 tasks.md 吗?」
→ 「继续」→ 生成 tasks.md
EARS 记法 (Easy Approach to Requirements Syntax)
# Kiro 标准的 EARS 记法模式
WHEN [情况・触发器]
GIVEN [前提条件]
THEN [系统行为]
AND [额外行为]
WHILE [状态・流程]
THE SYSTEM SHALL [必须行为]
AND [相关行为]
WHERE [功能・组件]
IS [条件・状态]
THE SYSTEM SHALL [对应行为]
自动生成功能
hooks 联动
原型→生产质量保证
适用范围
质量保证
执行注意事项
开始触发器
阶段进度控制
文件生成时机
Phase 1 完成 → 「继续」 → 生成 requirements.md
Phase 2 完成 → 「继续」 → 生成 design.md
Phase 3 完成 → 「继续」 → 生成 tasks.md
# 使用示例
用户:「创建用户管理系统的 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 | /spec |
|---|---|---|
| 对象 | 一般实施计划 | 功能规格驱动开发 |
| 输出格式 | 单一计划文档 | 3 个独立文件 (requirements.md、design.md、tasks.md) |
| 需求定义 | 基本需求整理 | 使用 EARS 记法的详细验收标准 |
| 设计 | 以技术选型为中心 | 基于代码库分析 |
| 实施 | 一般任务分解 | 考虑依赖关系的序列 |
| 质量保证 | 基本测试策略 | 全面质量要求 (测试、无障碍、性能) |
| 同步 | 静态计划 | 动态 spec 更新 |
推荐使用 spec
推荐使用 plan