How I Organize my GitHub Repositories

And why you should do this too

Does your GitHub Repositories’ Page look like this?

* Some entries in the page have been removed for brevity in illustrating the point. All remaining entries are as seen on the repositories page of this user. ** The user has been picked at random and my intention is not to criticize, but to offer it as an example.

See the issue?

Let’s have another look.

First project is an actively developed, clean, well structured project, written and maintained by the author himself. With over 300 stars, this is the most popular project of this user so far and possibly the one the user wants to showcase when describing his open source contributions.

Then below, we see a forked repository, which looks somewhat related to the first one. However, it is hard to gauge the user’s involvement here without drilling into it. Is he a co-author? Is a top contributor? Is the fork any different from upstream? Hard to tell.

Third, we see another original project, but this time not as popular as the eslint plugin above. That is fine, maybe one day it will receive its fair share of love, the description looks promising.

Fourth, another fork, but this time nothing has been updated for over a year. I guess the user pressed fork by mistake?

Fifth is some experiment of the user. The description says it’s “really bad”, not sure why is it still around and whether it could be of interest to me.

Finally, I am not really sure what the sixth repository contains. I looked inside and there are many C# files, but I cannot tell what they do. The description does not help much either. However it is there, together with all the other repositories.

The issue is that all of these repositories are on the same level. There is no order, no differentiation between them. They just sort of exist on the user profile.

The user is not to blame. GitHub does not provide any easy mechanism to organize your repositories. This has been bothering me since I first joined the site in 2013, but I think I found a nice solution.

Why is structure important