What problem does it solve? Over time Git repositories accumulate dozens of merged or abandoned branches, making branch lists noisy and hard to navigate. Manually checking which branches are safe to delete is tedious and error-prone, and a wrong deletion can destroy unmerged work. ## Core Features & Use Cases - Read-only preview by default: Runs in dry-run mode first, listing branches merged into a base branch (e.g. main or release/v2.1) and branches stale beyond a configurable day threshold, then waits for explicit user confirmation before deleting anything. - Protected branch safeguards: Reads a configurable protection list from git config branch.cleanup.protected (with wildcard support like release/*), never deletes unmerged branches unless --force is explicitly confirmed per branch, and requires separate confirmation for remote branch deletion. - Use Case: After a release cycle, ask to clean up all feature branches already merged into release/v2.1 plus any local branches untouched for 90 days; review the two-section report, confirm, and have local and remote branches deleted one by one with per-branch results. ## Quick Start Ask the assistant to clean up Git branches that are already merged into main and have not been touched in 90 days, starting with a dry-run preview before any deletion.