A merged pull request does not mean the local branch on your laptop is empty.

I kept learning that the hard way. GitHub showed the PR as merged. The remote branch was already gone. git branch --merged looked clean enough. Then I found two commits that had never left my machine; written after I clicked merge, or left behind by a squash.

git branch -D feature/foo deletes that branch. That is all it does. It does not tell you whether the work is gone, and it does not find the other twelve leftovers sitting next to it. You can pass more names, but you still have to choose them.

So I built GitDeclutter: a small Go CLI that finds stale local branches, tells you which ones are safe, and can delete that SAFE set in one pass.

Know what's safe to delete before you delete it.