I actually want to learn enough code to contribute, but there’s this gap between “how to code” and “how to participate in a modern software project”.
Like, I’ve created plenty of little things. Discord bots, automation scripts, plenty of sysadmin stuff for work, etc. But like, I clone a git repo cause there’s a home assistant bug I’d like to fix for example, and I’m immediately lost on where to start.
I dont know how to code but i have made contribs on repos. For documentation and stuff.
Some repos are very complex and some are simple. It is typically roughly corrolated to size: larger projects = more complex. And then it depends on the language/platform/toolchain being used. Some of them can be very ellaborate. If you dont typically work on that kind of project the set up can be very difficult as you are starting from scratch with dependencies, might need dev versions, can be a whole thing.
Also there are some things which are organizational choices made by the maintainers. A couple of times i was unable to contribute to docs because they werent seperated from the rest of the project and just to edit markdown files you had to install a whole dev toolchain and who knows what. I gave up before getting anywhere. Whereas others have different components segregated nicely.
Then there is quality control stuff having to do with testing, formating and such. You might only find out about that once you’ve got through everything else and time comes to make a PR.
Start out by using git and github or alternative for yourself to learn the basics. Then pick a smaller, explicitly beginer friendly project to make some minor contributions. Something with a few maintainers and regular contributions from others is generally a good balance. Look for an updated CONTRIBUTING file or equivilant section in the documentation.
I think making a few markdown contribs first is probably advisable even for programers because most of the time it is more simple.