githate
v1.3.4
Published
A CLI tool to track who unfollowed you on GitHub.
Maintainers
Readme
Install
npm install -g githateor if you prefer pnpm:
pnpm add -g githateThen just run:
githateThat's it. You get an interactive REPL shell. Type /help to see all commands.
What It Does
GitHate fetches your current GitHub followers, compares them against your last saved list, and reveals:
- Who unfollowed you (the haters)
- Who started following you (the fans)
It stores everything locally on your machine. No server, no database, no third-party services.
Getting Started
1. Login
Run githate and type /login. It uses GitHub OAuth Device Flow — open the link in your browser, enter the code, done. No tokens to copy-paste.
2. Scan
Type /scan to check for changes. On the first run it saves your current followers as a baseline. On every run after that, it diffs and shows you who left and who joined.
3. View Hater History
Type /haters to see every person who has ever unfollowed you, with dates. Repeat offenders are flagged.
Commands
GitHate works in two modes:
REPL mode (run githate with no arguments):
| Command | Description |
| ------------ | ----------------------------------------------- |
| /scan | Check for new unfollowers and followers |
| /haters | View the hall of shame (historical unfollowers) |
| /followers | List your current followers |
| /following | List who you are following |
| /login | Authenticate with GitHub |
| /logout | Remove stored credentials |
| /start | Start background auto-tracking service |
| /stop | Stop background service |
| /status | Check if background service is running |
| /why | The origin story |
| /help | Show all commands |
| /quit | Exit |
Direct CLI mode (single commands):
githate scan
githate login
githate haters
githate followers
githate following
githate follow <username>
githate unfollow <username>
githate start --interval 60
githate stop
githate status
githate clearcache
githate logoutBackground Tracking
Start a background service that polls GitHub on an interval and sends you a desktop notification when someone unfollows you.
githate startDefault interval is 720 minutes (12 hours). Change it with:
githate start --interval 60Check status or stop it:
githate status
githate stopHow It Works
- On first
/scan, GitHate fetches all your followers from the GitHub API and saves them locally. - On subsequent scans, it fetches again and diffs against the saved list.
- New followers and unfollowers are displayed. Unfollowers are saved to a persistent "hater history."
- The background service (
/start) does the same thing in a detached process and sends OS notifications.
Data is stored in your OS config directory:
- macOS:
~/Library/Preferences/githate-cli-nodejs/config.json - Linux:
~/.config/githate-cli-nodejs/config.json - Windows:
%APPDATA%/githate-cli-nodejs/config.json
Guest Mode
You can use GitHate without logging in. Just run /scan and enter any public GitHub username. Guest mode is limited to 60 API requests per hour. Login to get 5,000 requests per hour.
License
ISC
