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.

Reply via email to