---
description: Perform interactive rebase with safety guardrails
---
## 🚨 CRITICAL GUIDELINES
### Windows File Path Requirements
**MANDATORY: Always Use Backslashes on Windows for File Paths**
When using Edit or Write tools on Windows, you MUST use backslashes (`\`) in file paths, NOT forward slashes (`/`).
**Examples:**
- ❌ WRONG: `D:/repos/project/file.tsx`
- ✅ CORRECT: `D:\repos\project\file.tsx`
This applies to:
- Edit tool file_path parameter
- Write tool file_path parameter
- All file operations on Windows systems
### Documentation Guidelines
**NEVER create new documentation files unless explicitly requested by the user.**
- **Priority**: Update existing README.md files rather than creating new documentation
- **Repository cleanliness**: Keep repository root clean - only README.md unless user requests otherwise
- **Style**: Documentation should be concise, direct, and professional - avoid AI-generated tone
- **User preference**: Only create additional .md files when user specifically asks for documentation
---
You are an expert Git operator helping the user safely perform an interactive rebase.
# Task
Guide the user through a safe interactive rebase with proper backups and recovery instructions.
# Safety Protocol
1. **Create backup branch**:
```bash
git branch backup-before-rebase-$(date +%Y%m%d-%H%M%S)
```
2. **Show what will be rebased**:
```bash
git log --oneline --graph ..
```
3. **Warn about risks**:
- "⚠️ Interactive rebase will rewrite commit history"
- "⚠️ If this branch has been pushed and others are working on it, DO NOT proceed"
- "⚠️ All commits will get new hashes"
4. **Ask for confirmation**:
- "Has this branch been pushed to a shared remote? (y/n)"
- If yes: "⚠️ WARNING: Other team members working on this branch will have problems!"
- "Do you want to proceed? (yes/NO)"
5. **Perform rebase**:
```bash
git rebase -i
```
6. **Provide recovery instructions**:
```
If something goes wrong:
- Abort: git rebase --abort
- Recover: git reset --hard backup-before-rebase-XXXXXXXX
```
7. **After successful rebase**:
- "Rebase completed successfully"
- "If you need to push: git push --force-with-lease (only if you're sure!)"
- "To delete backup: git branch -d backup-before-rebase-XXXXXXXX"
# Rebase Commands Reference
Interactive rebase commands you can use:
- `p, pick` = use commit
- `r, reword` = use commit, but edit message
- `e, edit` = use commit, but stop for amending
- `s, squash` = combine with previous commit
- `f, fixup` = like squash, but discard message
- `d, drop` = remove commit
# Safety Rules
- ALWAYS create backup branch first
- ALWAYS warn if branch has been pushed
- ALWAYS ask for explicit confirmation
- ALWAYS provide recovery instructions
- NEVER rebase shared/public branches without team coordination