caarlos0 / fork-cleaner

Quickly clean up unused forks on your github account.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

fork-cleaner

Release Software License Build Status Go Report Card Godoc Powered By: GoReleaser

Cleans up old and inactive forks on your GitHub account.

You'll need to create a personal access token with repo and delete_repo permissions.

Then, download the latest release and execute the binary as in:

./fork-cleaner --token "my github token" -u "my github username"

Fork-Cleaner will load your forked repositories ordered by the oldest first. This can take a little while as Fork-Cleaner will iterate over the page of forks and check the upstream repository status / any prs etc.

Fork-Cleaner will show you all your forks, you can then check which you want to delete or not on a TUI:

Screen Recording

Setting -skip-upstream=true will skip checking each repositories upstream (useful if you have a lot of forks to avoid hitting the rate-limit). This won't compare upstream commits, fetch upstream issues/prs, etc.

Install

homebrew:

brew install caarlos0/tap/fork-cleaner

snap:

snap install fork-cleaner

apt:

echo 'deb [trusted=yes] https://repo.caarlos0.dev/apt/ /' | sudo tee /etc/apt/sources.list.d/caarlos0.list
sudo apt update
sudo apt install fork-cleaner

yum:

echo '[caarlos0]
name=caarlos0
baseurl=https://repo.caarlos0.dev/yum/
enabled=1
gpgcheck=0' | sudo tee /etc/yum.repos.d/caarlos0.repo
sudo yum install fork-cleaner

deb/rpm/apk:

Download the .apk, .deb or .rpm from the releases page and install with the appropriate commands.

manually:

Download the pre-compiled binaries from the releases page or clone the repo build from source.

Troubleshooting

  • The loading takes a while - The app hits various endpoints in order to collect information on the upstream repository, this can take a while if you have a lot of forks.
  • I've hit the rate limit - You can check your current limits by calling the api like so:
curl -L \
  -H "Accept: application/vnd.github+json" \
  -H "Authorization: Bearer <YOUR-TOKEN>" \
  -H "X-GitHub-Api-Version: 2022-11-28" \
  https://api.github.com/rate_limit

Stargazers over time

Stargazers over time

About

Quickly clean up unused forks on your github account.

License:MIT License


Languages

Language:Go 100.0%