Files
wiki/.claude/skills/gitrules.md

38 lines
1.7 KiB
Markdown

## Critical Git Safety Protocol
**🚨 NEVER USE `git checkout` TO REVERT CHANGES 🚨**
**MANDATORY GIT SAFETY RULES:**
- **NEVER run `git checkout -- <file>`** without first examining what you're about to destroy
- **ALWAYS use `git diff <file>`** 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.