# Bug 修复工作流

适用于：发现 Bug → 定位根因 → 修复 → 验证

---

## 概述

当用户报告问题或发现异常行为时，使用此工作流快速定位并修复 Bug。

## 适用场景

- 用户报告了具体问题
- 测试发现回归 Bug
- 生产环境出现异常
- 代码审查发现严重问题

---

## 工作流步骤

### 步骤 1: 复现问题 🐛

**目标**：确认 Bug 可稳定复现

**操作**：
1. 收集环境信息（操作系统、Python 版本、依赖版本）
2. 获取最小复现步骤
3. 记录错误日志/堆栈信息

**输出**：
- 复现脚本（如果可以）
- 错误堆栈截图
- 环境信息清单

---

### 步骤 2: 定位根因 🔍

**目标**：找到 Bug 的根本原因

**操作**：
1. 使用 `omc agents explore` 分析代码结构
2. 使用 `omc trace` 跟踪执行流程
3. 定位到具体文件和代码行

**分析维度**：
- 逻辑错误（条件判断、循环边界）
- 数据问题（类型、边界值、空值）
- 并发问题（竞态条件、锁）
- 配置问题（环境变量、参数）

**输出**：
- 根因分析报告
- 相关代码片段

---

### 步骤 3: 制定修复方案 💡

**目标**：设计最小侵入的修复方案

**原则**：
1. 最小改动原则 — 只改必要的代码
2. 向前兼容 — 不破坏现有功能
3. 测试覆盖 — 修复有对应的测试用例

**输出**：
- 修复方案描述
- 涉及的代码变更

---

### 步骤 4: 实现修复 🔧

**目标**：按照方案修复 Bug

**操作**：
```bash
# 创建修复分支
omc git branch fix/<bug-name>

# 实现修复
# ... 编辑代码 ...

# 运行测试
omc test

# 提交
omc git commit -m "fix: 修复 xxx 问题"
```

**输出**：
- 代码变更
- 新增/修改的测试用例

---

### 步骤 5: 验证与合并 ✅

**目标**：确保修复正确且不引入新问题

**验证清单**：
- [ ] 本地测试全部通过
- [ ] 原始问题可复现 → 已修复
- [ ] 相关功能未受影响
- [ ] Code Review 通过

**操作**：
```bash
# 运行完整测试
omc test --all

# 推送并创建 PR
omc git push origin fix/<bug-name>
```

---

## 使用示例

```bash
# 查看此模板
omc template show bug-fix

# 启动 Bug 修复工作流
omc template use bug-fix --task "用户无法上传超过 10MB 的文件"
```

---

*来源：oh-my-coder 社区工作流模板*