Project
Roulette

Git Branch Janitor

Finds the forty dead branches you forgot about and clears them safely.

BeginnerCommand lineDev tool5–12hAI-buildable 5/5no setupworth shipping

What you're making

Every repo collects branches nobody will ever touch again. This lists them with how old they are and whether their work is already merged, then offers to delete the safe ones. It refuses to touch anything with unmerged commits unless you really insist, so you can't lose work by accident.

A branch cleanup tool that classifies branches by merge status and age, then deletes only what is provably safe. The whole design problem is refusing to destroy unmerged work.

UI
Logic
Useful

Hosting · Free forever

Deploys free on npm, PyPI or GitHub Releases.

Nothing to host. Publishing to a package registry is free and permanent, and anyone can run it with a single command.

Publish to npm — one command and anyone can run it.

Core features · 7

  • Lists local and remote branches with their age
  • Marks which branches are fully merged
  • Refuses to delete branches holding unmerged commits by default
  • Deletes in bulk after one clear confirmation
  • Never touches the default branch or the one you're on
  • Shows exactly what will go before it goes
  • Prints the command to restore a branch you regret deleting

The interesting part

  • Squash-merged branches look unmerged to git, and deleting them wrongly loses history
  • Distinguishing a stale branch from a long-running one
  • Making the confirmation informative rather than reflexive

Once it works

  • Add an interactive checklist
  • Detect branches merged via squash, which look unmerged
  • Add a report mode for a whole organisation

Suggested stack

typescriptnodecommander

Track it