How can I contribute?

So,

I’d like to contribute a small change to the Cataclysm code which allows cancelling a crafting action when selecting a specific component (the one you had expected isn’t there and you don’t want to waste any others). But I assume I can’t just push my stuff to the repo (not that I’ve tried). I expect there to be some kind of code review process, so some idiot can’t just come in and troll the repo by pushing dumb things.

So how does it work? Is making a small, one-time contribution even allowed? At the same time, coming from java/C# and having not that much experience with c++ (other than ANSI C and building a ray-tracer), maybe my code isn’t even up to par (there’s so many different syntaxes for object instantiation, maybe I’m creating a memory leak), how do I know?

It’d be great if someone could explain this process, or point me to the right place. (I tried the irc channel but it seems awfully quite. I also searched ‘The Lab’ but found nothing substantial).

Absolutely, small one time contributions are allowed. The code review happens after you make a pull request on Github. Basically, you make a fork and suggest your changes by submitting that fork for a pull request.

Then an admin (or two I think) comes along, looks at, and plays the game with your changes. Anyone can leave comments on what they think of your pull request.

The instructions are here.