A personal GitHub social management desktop application built in C# WinForms (.NET 10) using the official Octokit.net library. Built for power users who want full control over their GitHub social presence without touching the browser.
- Live follower and following counts
- API rate limit monitoring
- One-click token swap without restarting the app
- Side-by-side view of who doesn't follow you back vs who you haven't followed back yet
- Sortable Following Since column β click to sort by days, see who's been ignoring you longest
- Bulk follow and unfollow with throttled, rate-limit-safe execution
- Keep List β permanently protect accounts from ever appearing in your unfollow list
- Never Follow List β blacklist accounts the crawler will always skip; auto-unfollows on add; import from
.txtfile - Deduplication β no duplicate entries across paginated API results
- Full operation log with cancel support
- Pull candidate followers from any target GitHub user
- Choose between their followers or who they follow as your candidate source
- Target Validation β preview any account before pulling:
- Profile photo, follower/following counts, public repo count
- Follow ratio, account age
- Color-coded quality assessment (Excellent / Good / Decent / Poor)
- Quality Filter β skip accounts with too few repos or bot-like follow ratios
- Live streaming candidate queue β candidates appear as pages load
- Randomized interval timer with countdown to next follow action
- Configurable daily cap
- Never Follow list checked before queuing β prevents re-following blacklisted accounts
- Export candidate queue and follow log to file
- Polls your followers on a configurable interval
- Automatically follows back anyone who followed you that you haven't followed yet
- Run Once Now for immediate execution
- Full timestamped action log
- Scans your followers' public repositories
- Deduplicates against your existing starred repos
- Configurable minimum star threshold and follower scan count
- Capped at top 100 repos per user β prevents slowdowns on large accounts
- Cancel mid-scan β partial results still populate
- Select All + bulk star in one click
- Scans all your public repositories and checks for:
- β README present
- β Description set
- β Topics tagged
- β Homepage URL
- β Recent activity (flags repos stale for 6+ months)
- Color-coded health rating per repo (Good / Okay / Poor)
- Quick Fix Topics β set topics on any repo directly from the app
- Open any repo in browser with one click
Checks progress against all current GitHub achievements via the API:
| Achievement | Tiers | How Checked |
|---|---|---|
| π Starstruck | 16 / 128 / 512 / 4096 stars | Scans your repos |
| π¦ Pull Shark | 2 / 16 / 128 / 1024 merged PRs | Search API |
| β‘ Quickdraw | Close issue within 5 min | Events API |
| π₯ Pair Extraordinaire | 1 / 10 / 24 / 48 co-authored commits | Code search |
| π€ YOLO | Merge PR without review | Manual check |
| π§ Galaxy Brain | Accepted discussion answers | Manual check |
| π Public Sponsor | Sponsor a user | Manual check |
| π§ Arctic Code Vault | 2020 code snapshot | Account age check |
- Color-coded status (Unlocked / In Progress / Locked)
- How To Unlock popup with tier breakdown per achievement
- Direct links to relevant GitHub pages
- Embedded browser showing your live GitHub profile
- Auto-refresh timer configurable down to 1 second
- Live countdown to next refresh + total refresh counter
- Open in default browser button
- Windows 10 or later
- .NET 10 Runtime
- Visual Studio 2022+ (for building from source)
- GitHub Personal Access Token (PAT)
Requires a Classic Personal Access Token with:
| Scope | Required For |
|---|---|
user:follow |
Follow / Unfollow operations |
public_repo |
Starring repositories |
read:user |
Profile and achievement data |
- Go to github.com/settings/tokens
- Generate new token (classic)
- Check:
user:follow,public_repo,read:user - Copy the token β shown once only
β οΈ Fine-grained tokens handle starring differently. Classic tokens recommended for full compatibility.
git clone https://github.com/RaccoonFacts/GithubManager.git
cd GithubManager- Open
GithubManager.slnin Visual Studio 2022 - Manage NuGet Packages β install:
OctokitSystem.Security.Cryptography.ProtectedData
- Build β Run (
F5) - Enter your PAT on first launch β check Remember Token to encrypt and persist it
- Token encrypted via Windows DPAPI (
ProtectedData.Protect), tied to your Windows user account - Stored at
%AppData%\GithubManager\token.encβ never plain text - All persistent data stays local, only outbound connection is the official GitHub API
GithubManager/
βββ Form1.cs β Main form (all tab handlers)
βββ Form1.Designer.cs β UI layout (8 tabs)
βββ GitHubSocialManager.cs β Core GitHub API service layer
βββ FollowCrawler.cs β Randomized follow automation with timer
βββ AutoFollowBackService.cs β Polling service for auto follow-back
βββ AchievementChecker.cs β Achievement progress checker
βββ FollowTracker.cs β Persistent follow date log (JSON)
βββ KeepList.cs β Persistent keep list (JSON)
βββ NeverFollowList.cs β Persistent blacklist (JSON)
βββ ListViewDaySorter.cs β Sortable follow-age column
βββ TokenStorage.cs β DPAPI encrypted token storage
βββ Program.cs β Entry point
All stored in %AppData%\GithubManager\:
| File | Contents |
|---|---|
token.enc |
DPAPI encrypted GitHub PAT |
follow_log_{username}.json |
Follow dates per user |
keep_list_{username}.json |
Protected accounts |
never_follow_{username}.json |
Crawler blacklist |
- C# / .NET 10 + Windows Forms
- Octokit.net β Official GitHub API client
- System.Security.Cryptography.ProtectedData β DPAPI encryption
- System.Text.Json β Local persistence
Uses the official GitHub API with your own credentials against your own account. Built-in rate limiting, daily caps, and randomized delays keep usage within acceptable bounds.
MIT β do whatever you want with it.