Kindly suggest some open-source Nim projects that beginners can contribute to. I have about 2 years knowledge as a JavaScript programmer and an avid reader. I got into Nim a couple of months back. I wrote a tiny library called printo with Nim.
I am looking for open-source projects in Nim that beginners can contribute to.
Nexus is a full-stack Nim web framework: https://github.com/jfilby/nexus
However I mostly use the ORM when I use it in projects. I have ideas on how to improve the project, but not enough time these days.
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:
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. 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.
Thank you all!
Yeah, I think I'll start with something small like contributing to the docs first. I think that'll also help me learn Nim better.