Quickly clean up old and inactive forks on your GitHub account.
brew install caarlos0/tap/fork-cleaner
snap install fork-cleaner
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
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
Download the .apk
, .deb
or .rpm
from the latest release and install with the appropriate commands.
Download the binaries from the latest release or clone the repository and build from source.
You'll need to create a personal access token with repo
and delete_repo
permissions. You'll need to pass this token to fork-cleaner
with the --token
flag.
fork-cleaner --token "<token>"
fork-cleaner
will load your forked repositories, displaying the oldest first. This can take a little while as fork-cleaner
will iterate over the page of forks and check the upstream repository's status (e.g. checking for active PRs).
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. Setting -skip-upstream=true
will skip checking commits, issues, PRs, etc on each upstream repository, potentially alleviating this issue.
You can check your current limits by calling GitHub's API:
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