I was about to say nimib. Many open issues in GitHub describe simple features that could be implemented. It is a nice tool for the whole Nim community. I was blocked on my PR yesterday and got a thorough explanation of the codebase by Hugo in a few hours even though he said he was busy.
For a nice step into the codebase, I would recommend reading src/nimib/renders.nim. The different Nimib presentations at Nim conferences help to grasp the inner workings of the library which use nice template techniques. It seems to me that my understanding of how the different Nim features piece together improves each time I read the codebase. However, it requires a bit of (basic) HTML knowledge and it is web-oriented. I would recommend a beginner to scrap over the list of Nim libraries using the GitHub search tool or the awesome-nim list, find a tool/library he likes and read the source code. If a list of «open to contributions» projects is made, one should not rank them by source code difficulty. My very first contribution happened to be a dumb substitution of procedures by functions in [bigints](https://github.com/nim-lang/bigints). It is not the easiest source code to get into but the most suited to my tastes since I like mathematics and computer algebra. Always check the date of the last contributions to the project. Many repositories on Github if not most are not maintained anymore or have been forked.
