## Critical Git Safety Protocol **🚨 NEVER USE `git checkout` TO REVERT CHANGES 🚨** **MANDATORY GIT SAFETY RULES:** - **NEVER run `git checkout -- `** without first examining what you're about to destroy - **ALWAYS use `git diff `** to see exactly what changes will be lost - **MANUALLY undo changes** by editing files to revert specific problematic sections - **Preserve valuable work** — if user says changes are bad, ask which specific parts to revert - **`git checkout` destroys ALL changes** — this can eliminate hours of valuable progress - **When user asks to "undo" changes**: Read the current file, identify problematic sections, and manually edit to fix them **Why this matters**: Using `git checkout` blindly can destroy sophisticated implementations, complex prompts, provider-specific logic, and other valuable work that took significant time to develop. ## Git Safety Rules - CRITICAL **NEVER run these commands without explicit user approval:** - `git reset --hard` - Destroys uncommitted changes permanently - `git checkout -- .` - Discards all working directory changes - `git clean -fd` - Deletes untracked files permanently - `git stash drop` - Deletes stashed changes **ALWAYS before any git operation:** 1. Run `git status` first to check for uncommitted changes 2. If there are uncommitted changes, STOP and ASK the user before proceeding 3. Suggest `git stash` to preserve changes if needed **If user asks to "revert" something:** 1. First clarify: revert committed changes or uncommitted changes? 2. Show what will be affected before doing anything 3. Get explicit confirmation for destructive operations This rule exists because careless git operations destroyed 2 days of work.