Like many developers, my GitHub account had accumulated repositories over the years - 67 to be exact. A mix of active projects, learning experiments, abandoned ideas, and forked repos. It was time for a comprehensive audit.
The Challenge
Managing dozens of repositories becomes chaotic without a system:
- Which projects are actually active?
- What needs archiving or deletion?
- Where are my local clones?
- What’s the status of each project?
My Categorization System
I organized all 67 repositories into clear categories:
📊 The Breakdown
| Category | Count | Notes |
|---|---|---|
| Active Personal Projects | 6 | Current development work |
| Game Development | 2 | Godot engine projects |
| Need Decision | 11 | Unclear purpose or outdated |
| Forked Learning Repos | 19 | Reference material |
| Archived/Old Public | 22 | Historical projects (>5 years) |
| Work Projects | 6 | Professional repositories |
| Profile/Meta | 2 | GitHub profile and documentation |
Active Personal Projects
These are my current focus areas:
py-scrips - Python utility scripts collection
- Drone tracking system with WebSocket client
- Data processing utilities
- Actively maintained
Game Projects (2 repos)
- Using Godot engine
- RPG-style management game
- Steppe simulation prototype
MindGlue - Personal Obsidian vault
- Knowledge management system
- Daily notes and task tracking
- This very blog is documented there!
The Cleanup Strategy
1. Forked Repositories (19 repos)
Most were one-time references. My approach:
- Keep only actively used forks
- Delete the rest (can always re-fork if needed)
- Saved: ~95% storage space
2. Old Public Projects (22 repos)
Projects from 2015-2018 that haven’t been touched:
- Archive anything >5 years old
- Keep only projects with historical significance
- Document lessons learned before archiving
3. “Need Decision” Repos (11 repos)
The hardest category - repositories without clear purpose:
Decision Matrix:
| Project | Purpose Clear? | Still Useful? | Decision |
|---|---|---|---|
| Unknown utility | ❌ | ❓ | Investigate then decide |
| Learning project | ✅ | ❌ | Archive with notes |
| Half-finished tool | ✅ | ✅ | Either finish or document |
| Work experiment | ✅ | ❌ | Archive if not proprietary |
Key Insights
What I Learned
-
The 80/20 Rule Applies
- 20% of repos get 80% of my attention
- Most forks are never referenced again
- Old projects rarely get resurrected
-
Documentation Matters
- Repositories without READMEs are forgotten
- Even a one-line description helps future-you
- Note WHY you created something, not just WHAT it does
-
Local Clones Are Important
- Track which repos you have locally
- Sync your mental model with reality
- Use consistent directory structures
-
Regular Audits Help
- Schedule quarterly reviews
- Archive as you go, not all at once
- Make decisions when context is fresh
My Organization System
Repository Naming Convention
<category>-<project>-<technology>
examples:
- py-scrips (personal Python scripts)
- game-company-sim (game development)
- learn-rust-basics (learning project)README Template
Every repo should answer:
- What is this project?
- Why did I create it?
- Status: Active / Maintained / Archived
- Next actions (if active)
Tracking Document
I maintain a markdown file (like the one this post is based on) with:
- Full repository list with URLs
- Last updated dates
- Current status
- Next actions
- Decision tracking for unclear repos
Results
After the audit:
- Deleted: 15 forked repositories
- Archived: 18 old public projects
- Documented: All active projects now have clear READMEs
- Decided: 8 out of 11 “unclear” repos now categorized
- Peace of Mind: Know exactly what I have and where
Tools That Helped
- GitHub CLI (
gh) - List all repos programmatically - Obsidian - Track decisions and status
- Scripts - Automated repo listing and status checks
Recommendations
If your GitHub account looks like chaos:
-
Start with a full inventory
- Use
gh repo list --limit 1000to get all repos - Export to markdown/CSV for review
- Use
-
Create categories that make sense for YOU
- Not everyone needs the same buckets
- Group by activity level, technology, or purpose
-
Make decisions systematically
- Review 5-10 repos at a time
- Don’t get overwhelmed
- Document your reasoning
-
Set up maintenance habits
- Monthly check on active projects
- Quarterly audit of the rest
- Archive promptly when projects are done
-
Accept that abandonment is okay
- Not every project needs to finish
- Archiving isn’t failure
- Learning projects have served their purpose
Conclusion
Managing 67 repositories felt overwhelming until I systematized it. Now I have clear categories, documented decisions, and peace of mind knowing exactly what’s active and what’s historical.
Your GitHub profile is your development history - make it easy to navigate for both yourself and others.
Next audit scheduled: April 2026
Have your own system for managing multiple repositories? I’d love to hear about it!