Nim itself. I'm not kidding. You don't need to contribute code or anything, just recall if any of the modules you use contained all the details you would've liked to have available when you read them.
If they didn't, well you can pretty easily add to them. There's an "Edit" button under every piece of text that allows you to quickly add some doc comments or runnableExamples. If a proc, iterator or variable could use some more explanations, write a doc comment on them. If the module as a whole could elaborate more on something or could use a new section, write a doc comment at the top root level. Other than that, I don't know about "beginner" because that spans a _wide_ area. Things I can point to since they're my own projects: * contribute a new hashing algorithm to [nimword](https://github.com/PhilippMDoerner/nimword/issues) , which is my password hashing library. By that I don't mean implement password hashing, just wrap other peoples C code for a specific algorithm (or find a lib that already has that wrapped) and squeeze it into a unified interface over all the different algorithms. * Contribute to [lowdb](https://github.com/PhilippMDoerner/lowdb/issues) to get the postgres side of things equal functionality to sqlite. It's similar to db_connector, but doesn't represent "NULL" as empty string. Various procs that are supported for sqlite are not for postgres. This could develop into eventually adding proper async support (for postgres) to norm itself if you wish to keep going afterwards.
