Skip to content

caarlos0/fork-cleaner

Repository files navigation

fork-cleaner

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

Quickly clean up old and inactive forks on your GitHub account.

Installation

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 latest release and install with the appropriate commands.

Manually

Download the binaries from the latest release or clone the repository and build from source.

Usage

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).

Troubleshooting

Taking forever to load?

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.

I've hit the rate limit.

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

Stargazers

Stargazers over time