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