A lightweight command-line tool to manage your GitHub followers and following — intelligently.
Auto-follow users who are likely to follow back, bulk unfollow those who won't, and keep full control over your network.
- Python 3.8+
- A GitHub account
- A GitHub Personal Access Token (required for follow/unfollow actions)
# 1. Clone the repository
git clone https://github.com/Sahil002620Q/git-follow-booster.git
cd git-follow-booster
# 2. Create and activate a virtual environment
python -m venv venv
# Windows
venv\Scripts\activate
# macOS / Linux
source venv/bin/activate
# 3. Install dependencies
pip install -r requirements.txt
# 4. Run the tool
python script.pyNote: On first launch, use Option 5 → Setup Account & Token to configure your username and GitHub token. The tool will guide you through every step.
╔══════════════════════════════════════╗
║ GITHUB FOLLOWER MANAGER CLI ║
╠══════════════════════════════════════╣
║ User : your-username ║
║ Token : [OK] Token loaded ║
╠══════════════════════════════════════╣
║ 1. View Non-Followers ║
║ 2. Auto-Follow Smart Users ║
║ 3. Bulk Unfollow ║
║ 4. Manage Ignore List ║
║ 5. Setup Account & Token ║
║ 6. Exit ║
╚══════════════════════════════════════╝
Lists every GitHub account you follow that is not following you back.
What it does:
- Fetches your complete following and followers lists via the GitHub API
- Computes the difference: you follow them, they do not follow you
- Excludes anyone on your Ignore List
- Displays the results as a clean numbered list
Usage:
- Select
1from the main menu - The tool fetches your data and displays the list
- Press Enter to return to the menu
Example output:
=== USERS NOT FOLLOWING YOU BACK (12) ===
001. alice
002. bob-dev
003. some-org
...
Automatically finds and follows GitHub users who have a high probability of following you back.
How candidates are selected:
- Scans the following lists of your followers (warm leads — people your audience already follows)
- Removes anyone you already follow, anyone on your Ignore List, and yourself
- Applies two hard filters:
- Active in the last 7 days — only users with recent public activity
- Generous follow ratio —
following ≥ followers(they follow back generously)
Scoring system (only candidates scoring ≥ 3 are shown):
| Criteria | Points |
|---|---|
following ≥ followers |
+3 |
following > followers × 1.5 |
+2 bonus |
| Active within last 3 days | +2 |
| Active within last 4–7 days | +1 |
Usage:
- Select
2from the main menu - Enter how many accounts to follow in this session (default: 10)
- The tool scans and scores candidates automatically — this may take a few minutes
- Review the preview table showing each candidate's username, follower/following counts, and score
- Type
yto confirm and follow, or press Enter to cancel
Example preview:
=== AUTO-FOLLOW PREVIEW (8 candidates) ===
+---+--------------+-----------+-----------+-------+-------------------------------+
| # | Username | Followers | Following | Score | Why |
+---+--------------+-----------+-----------+-------+-------------------------------+
| 1 | dev-user-x | 42 | 130 | 7 | following ≥ followers (+3)... |
| 2 | coder-99 | 18 | 60 | 5 | following ≥ followers (+3)... |
+---+--------------+-----------+-----------+-------+-------------------------------+
Follow these 8 accounts? [y/N]:
Tip: Accounts are followed with a 0.6-second delay between each to respect GitHub's API rate limits.
Unfollow multiple accounts at once using smart category filters.
Sub-menu options:
Unfollows accounts that you follow but who are not following you back.
- Same logic as Option 1, but instead of just listing, it takes action
- You choose how many to unfollow per session (or unfollow all at once)
- Shows a numbered preview list before any action is taken
Unfollows accounts where followers >> following — a pattern typical of celebrities, large organisations, and bots that almost never follow back.
- Fetches profile data for everyone you follow
- Filters to those with
followers > following - You choose the batch size and confirm before execution
Usage:
- Select
3from the main menu - Choose a filter category (
1or2) - Enter how many accounts to unfollow — enter
0to unfollow all found - Review the preview list
- Type
yto confirm — the tool unfollows each account with a short delay
Example:
=== BULK UNFOLLOW PREVIEW (15 accounts | Non-followers) ===
001. alice
002. bob-dev
003. some-org
...
Unfollow these 15 accounts? [y/N]:
Note: Accounts on your Ignore List are always excluded from unfollow operations.
Maintain a personal list of accounts that are permanently protected from any follow or unfollow action.
What it does:
- Accounts on the Ignore List are skipped by all other options
- Useful for protecting accounts you want to keep following regardless of whether they follow back (e.g. close friends, organisations you admire)
Sub-menu options:
| Option | Action |
|---|---|
1 |
Add a username to the Ignore List |
2 |
Remove a username from the Ignore List |
3 |
Back to Main Menu |
Usage:
- Select
4from the main menu - Choose to add or remove a username
- Type the exact GitHub username and press Enter
Configure your GitHub username and Personal Access Token in one guided flow.
This is the first thing you should do on a fresh install.
- Displays your currently configured username
- Press Enter to keep it unchanged, or type a new GitHub username
The tool walks you through generating a token step by step:
Step 1. Open your browser and go to:
https://github.com/settings/tokens/new
Step 2. Sign in if prompted.
Step 3. Fill in the form:
Note : GitHub Follower Manager
Expiration: 90 days (or No expiration)
Step 4. Under 'Select scopes', tick:
[x] user > follow
Step 5. Click 'Generate token'.
Step 6. COPY the token shown (starts with ghp_...)
It will NOT be shown again!
- The tool offers to open the GitHub token page in your browser automatically
- After pasting the token, it validates the format (
ghp_orgithub_pat_) - The token is saved to a
.envfile in the project directory - The token is activated immediately in the running session — no restart required
Token status is always visible in the main menu header:
║ Token : [OK] Token loaded ║ ← token is set and active
║ Token : [!] No token (limited) ║ ← no token, read-only mode
Security: Your token is stored only in the local
.envfile and is never transmitted anywhere other than the GitHub API.
| Mode | Limit |
|---|---|
| No token (unauthenticated) | 60 requests / hour |
| With Personal Access Token | 5,000 requests / hour |
After each follow/unfollow operation, the tool displays how many API calls remain and when the limit resets.
Running Auto-Follow or Bulk Unfollow on large accounts benefits greatly from a token.
git-tool-cli/
├── main.py # CLI menu and all user-facing flows
├── api_handler.py # All GitHub API calls (follow, unfollow, fetch, score)
├── utils.py # Config helpers, scoring logic, display utilities
├── config.json # Stores username and ignore list (auto-created)
├── .env # Stores GITHUB_TOKEN (auto-created by Option 5)
└── venv/ # Python virtual environment
- Your GitHub token is stored locally only in
.env - The
.envfile should never be committed to version control - Add
.envto your.gitignore:.env - The tool only uses the
userscope — it cannot access private repositories, delete content, or modify your profile beyond follow/unfollow actions
MIT License — free to use, modify, and distribute.