ClaudeCode-Kiro-Workflow
概述
ClaudeCode-Kiro-Workflow 是专为 Claude Code 设计的 AI 驱动开发工作流系统。灵感来源于 Kiro IDE 的 SPECS(规范驱动开发)工作流,将这一成熟的开发方法论引入到 Claude Code 中。系统引导开发者完成从需求到实现的结构化流程,具备自动数据库备份、Git 分支隔离、会话无缝恢复等安全特性,确保开发过程高效且安全。
本系统使用 Claude Code 的 .claude/commands 机制,提供简化的命令系统和原生中文交互支持。
参考来源
- 核心灵感:Kiro IDE 的 SPECS 工作流系统
- 方法论:规范驱动开发(Specification-Driven Development)
- 运行环境:针对 Claude Code(Anthropic 官方 CLI)优化
- 命令系统:使用 .claude/commands机制实现
核心特性
- AI 引导工作流:自动推进 需求 → 设计 → 任务 → 执行 各阶段
- 极简命令系统:仅需记住 7 个核心命令
- 中文原生交互:与 AI 进行自然流畅的中文对话
- 数据库自动备份:开发前智能检测并主动备份数据库,防止数据丢失
- Git 分支隔离:自动创建功能分支,保护主分支不受影响
- 会话连续性:跨会话无缝保持项目上下文,支持断点恢复
- 进度实时跟踪:任务状态实时更新,自动持久化保存
命令参考
| 命令 | 描述 | 使用示例 | 
|---|---|---|
| /kiro-start [功能名] | 启动新的 SPECS 工作流(自动引导各阶段) | /kiro-start 用户登录 | 
| /kiro-next | 执行下一个未完成任务 | /kiro-next | 
| /kiro-info [信息] | 保存项目上下文到 .specs/project-info.md | /kiro-info "MySQL数据库,React 18前端" | 
| /kiro-save | 保存进度并生成会话文件 | /kiro-save | 
| /kiro-end | 完成功能(更新文档、生成总结、合并分支) | /kiro-end | 
| /kiro-git | 立即提交当前更改 | /kiro-git | 
| /kiro-change | 返回规划工作流处理需求变更 | /kiro-change | 
工作流阶段
阶段 1:需求澄清
目标:将模糊想法转化为结构化需求文档
- 用户故事格式:"作为[角色],我想要[功能],以便[好处]"
- EARS(易用需求语法)格式的验收标准
- 混合方式:快速生成初稿 + 针对性澄清关键问题
- 关键约束:限制初始问题到关键信息(最多2-3个),创建requirements.md后必须获得用户批准
阶段 2:设计与研究
目标:基于需求开发综合设计方案
- 分析现有代码库模式和架构
- 创建包含决策理由的技术设计方案
- 研究集成点和依赖关系
- 支持 Mermaid 图表的设计文档
- 关键约束:包含总览、架构、组件接口、数据模型、错误处理、测试策略等章节
阶段 3:任务规划
目标:基于需求和设计创建可执行的实施计划
- 分解为可独立执行的编码任务
- 测试驱动开发(TDD)方法
- 使用小数点标记法(1.1、1.2、2.1)表示任务层次
- 每个任务包含实施细节的子项目
- 关键约束:只关注编写、修改或测试代码的任务,避免非编码任务
阶段 4:任务执行
目标:按照SPECS文档执行实施任务
- 严格的单任务执行原则
- 执行前必须读取所有SPECS文档
- 实时更新 tasks.md 中的进度
- 自动任务状态同步
- 关键约束:与规划阶段明确分离,一次只执行一个任务,完成后等待用户指令
使用示例
安全功能演示
用户: /kiro-info "mysql -uroot -ppass123 -hlocalhost dbname=shop"
AI: 项目信息已保存到 .specs/project-info.md
用户: /kiro-start 支付功能
AI: 正在启动支付功能开发...
    检测到数据库配置:mysql dbname=shop
    是否需要备份数据库?这将确保您的数据安全 (建议:是)
用户: 是
AI: 正在执行数据库备份...
    备份成功:.specs/backups/db/支付功能_backup_20250126_143022.sql
    
    检查 Git 状态...
    工作区干净,正在创建功能分支...
    已创建并切换到分支:feature/支付功能
    
    当前分支:feature/支付功能
    主分支已受保护,所有开发将在功能分支进行
    
    现在开始需求收集阶段...
开始新功能开发
用户: /kiro-info "MySQL数据库,React前端,Node.js后端,使用JWT认证"
AI: 项目信息已保存到 .specs/project-info.md
用户: /kiro-start 用户认证系统
AI: 正在启动用户认证系统开发...
    
    检测到数据库配置
    是否需要备份数据库?(建议:是)
用户: 是
AI: 执行数据库备份...
    已创建功能分支:feature/用户认证系统
    
    开始需求收集,请回答以下问题:
    1. 需要支持哪些登录方式?
    2. 是否需要记住登录状态?
执行开发任务
用户: /kiro-next
AI: 读取 SPECS 文档...
    当前任务:1.1 创建用户模型
    
    开始执行任务...
    - 创建 src/models/User.js
    - 添加字段验证
    - 创建单元测试
    
    任务 1.1 已完成!是否继续下一个任务?
用户: 是
AI: 执行任务 1.2:实现登录接口...
会话恢复机制
用户: /kiro-save
AI: 正在保存进度...
    会话文件已生成:.specs/用户登录/session_2.1.md
    进度已提交到 git
    
    === 下次会话提示 ===
    我正在使用 Kiro SPECS 开发用户登录功能
    请读取 .specs/用户登录/session_2.1.md 继续开发
    
    请继续:/kiro-next
    =====================
--- 新会话 ---
用户: 我正在使用 Kiro SPECS 开发用户登录功能
      请读取 .specs/用户登录/session_2.1.md 继续开发
AI: 已加载项目进度。您正在开发用户登录功能,
    已完成任务 2.1,下一个任务是 2.2。
用户: /kiro-next
AI: 继续执行任务 2.2:实现密码验证...
处理需求变更
用户: /kiro-change
AI: 请描述需要变更的内容:
用户: 客户要求增加手机号登录方式
AI: 了解了,需要增加手机号登录。分析影响:
    - 需求文档:添加手机号登录需求
    - 设计文档:更新登录接口设计
    - 任务列表:新增3个相关任务
    
    是否按此方案更新?
用户: 是
AI: 正在更新文档...
    已更新 requirements.md
    已更新 design.md
    已更新 tasks.md(保留已完成任务状态)
    
    请使用 /kiro-next 继续开发
文件结构
.specs/
├── {功能名称}/
│   ├── requirements.md     # 需求规格文档
│   ├── design.md          # 技术设计方案
│   ├── tasks.md           # 实施任务列表及进度跟踪
│   ├── session_*.md       # 会话恢复文件(如 session_2.1.md)
│   └── summary.md         # 完成时生成的总结
├── project-info.md        # 基本项目信息
└── backups/db/           # 数据库备份
    └── {功能名}_backup_{时间戳}.sql
安全保障机制
数据库自动备份
- 智能检测:启动开发时自动检测数据库配置
- 主动提醒:发现数据库配置后主动询问是否备份
- 自动执行:确认后自动执行完整数据库备份
- 备份路径:.specs/backups/db/{feature}_backup_{timestamp}.sql
- 零数据丢失:确保开发过程中的数据安全
Git 分支隔离保护
- 自动创建功能分支:每个功能独立分支 feature/[name]
- 主分支保护:开发过程中不直接操作主分支
- 状态检查:确保 Git 工作区干净后才创建分支
- 智能合并:功能完成后才合并到主分支
- 冲突预防:隔离开发避免代码冲突
文档完整性保护
- 原子操作:文档更新要么全部成功,要么全部回滚
- 状态一致性:确保 requirements、design、tasks 文档同步
- 进度持久化:自动保存任务进度,防止丢失
- 版本追踪:所有文档变更自动纳入 Git 管理
错误恢复机制
- 优雅降级:单个操作失败不影响整体流程
- 智能重试:网络或临时错误自动重试
- 状态恢复:异常中断后可从断点继续
- 详细日志:保留完整错误信息便于排查
会话连续性保护
- 自动保存进度:/kiro-save生成完整会话恢复文件
- 上下文保持:新会话可无缝继续之前的工作
- 任务状态持久化:已完成任务永不丢失
- 跨会话协作:支持团队成员接续开发
命令特性
- /kiro-save:保存进度并生成会话恢复文件,解决 AI 会话上下文限制问题
- /kiro-end:完成功能开发,生成总结文档并合并到主分支
- /kiro-git:快速提交代码更改,不更新进度文档
- /kiro-change:智能处理需求变更,自动更新相关文档并保留已完成状态
最佳实践
工作流遵循
- 相信 AI 工作流:让 AI 引导您完成最优开发流程
- 提供清晰需求:输入越清晰,AI 生成的文档越准确
- 遵循审批关卡:每个阶段完成后需明确批准才能继续
- 专注单一任务:一次只执行一个任务,完成后等待确认
会话管理
- 定期保存进度:会话结束前使用 /kiro-save保存
- 使用会话提示:新会话开始时使用生成的提示词
- 项目信息配置:首次使用前配置 /kiro-info项目信息
错误处理
- 理解失败原因:遇到错误时查看具体错误信息
- 使用恢复建议:按照AI提供的恢复建议处理问题
- 需求变更管理:需求变化时使用 /kiro-change而非直接修改
安全实践
- 数据库备份:开发前确保数据库已备份
- 分支隔离:确保在正确的功能分支上工作
- 渐进提交:使用 /kiro-git定期提交代码更改
安装配置
方式一:快速安装(推荐)
# 将整个 .claude 文件夹复制到您的项目
cp -r .claude your-project/
方式二:自定义安装
如果您已有 .claude 配置:
- 从 docs/commands/*.md复制命令文件
- 放入您的 .claude/commands/目录
- 确保文件名匹配:kiro-start.md、kiro-save.md等
开始使用
/kiro-start [功能名]
参与贡献
欢迎提交 Issue 和 Pull Request!我们期待您的贡献:
- 报告问题或建议
- 改进文档
- 分享使用经验
- 贡献代码优化
开源协议
MIT License
致谢
- 感谢 Kiro IDE 团队提供的 SPECS 工作流灵感
- 感谢 Anthropic 团队开发的 Claude Code 平台
- 感谢所有使用和贡献此工作流系统的开发者
相关链接
项目维护者: heihuzicity-tech
GitHub: https://github.com/heihuzicity-tech/ClaudeCode-Kiro-Workflow
网站: https://www.heihuzicity.com
最后更新: 2025-01-26
版本号: 1.0.2