fork-cleaner caarlos0
winget install --id=caarlos0.fork-cleaner -e
Cleans up old and inactive forks on your github account.
Fork Cleaner
Fork Cleaner is a tool designed to clean up old and inactive forks on your GitHub account. It helps you identify and manage unused repositories efficiently.
-
Key Features:
- Automatically identifies unused forks based on activity levels.
- Provides options to delete or archive these forks, streamlining your repository management.
- Checks upstream repository status before deletion to ensure no critical information is lost.
- Supports command-line usage with personal access tokens for secure operations.
- Can be installed via winget for easy setup.
-
Audience & Benefit: Ideal for developers and teams managing multiple GitHub forks, Fork Cleaner helps maintain a clean and organized account. By removing inactive or redundant repositories, it reduces clutter and improves efficiency, allowing users to focus on active projects.
Fork Cleaner is a straightforward solution for anyone looking to declutter their GitHub profile with minimal effort.
README
fork-cleaner
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 ""
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 " \
-H "X-GitHub-Api-Version: 2022-11-28" \
https://api.github.com/rate_limit