There’s a relatively new artifact on GitHub repositories. It’s not code but a special plaintext document: the awesome list.
The idea is simple: to build a list of awesome resources about any topic and treat it like an open source code. That could mean tasks like:
- maintaining this idea constantly reviewed and improved (e.g. using the issues or even the repo wiki).
- keeping an inclusion and ordering criteria (what’s awesome for the list author).
- determine a reviewing process.
- let people to fix typos like a bug.
- add a license, a contributing template, etc.
- give it a presentation format (using some SSG like MkDocs).
- deploying to GitHub Pages.
- automating some tasks with CI (e.g. to check links with awesome_bot).
As you can see, it can be a good exercise to practice a FLOSS workflow.
Giving some examples
The most famous awesome list is sindresorhus’ github repo, an awesome list of awesome lists. Some guidelines to be considered are also there, maybe this is the main goal: “it’s a curation, not a collection.” There are lots of awesome lists. Every single tech community on github has one. Some examples are:
Why not wikis?
Of course, wikis are much more easier to edit. But why it is that some people prefer the added complexity of a git repository?
Well, first of all, almost all of the awesome lists are geared to geeks. Wikis are verbose whereas awesome lists tend to be much more terse. Many users view awesome lists as a highly-powered best-of-breed resources about their favourite topic, like a preferred way to bookmark them and share.
Easy for first time contributors
It is then an easy way to introduce you on github collaboration (it’s a very low barrier). It is plain text (Markdown). You don’t break any code: no worries. So you can propose another valuable resource to the list or even fix any typo or linkrot.
Now take a look to your preferred tech topics just googling ‘awesome list <topic>’ or doing an Awesome Search and start making you own contributions! It’s a great way to learn your first simple GitHub workflow!