(FYI I don’t mind if you make this the official Git-hub thread.)I am completely new to Git-hub and I don’t know where to begin. Also I bet many other people are having trouble with Git-hub.
Thanks for your interest in contributing.
There are several ways you can contribute.
Found a bug in the game? Something is not working as expected or could be improved? You can report an issue in the CodeCombat repository! Note that if you are unsure whether your issue is actually a bug or in case it is too subjective, you can first post it in these forums to get quicker feedback.
Now that you are all set to create an issue, make sure to create a GitHub account if you haven’t already, then head over to the CodeCombat repository and click in the “Issues” tab, then click in the shiny “New issue” button (or you can just go directly to this link). Once you get there, it is very similar to posting a new thread in this forum: you have to fill in a title and descriptive text. You can mention users by typing the
@ character followed by an username (note that people may use different usernames in the forums and GitHub), reference other issues by typing the
# character followed by issue number, and use much of the same markdown formatting.
When reporting a game bug, make sure to describe exactly what you’ve done, what happened and what you would expect to have happened instead. Post all necessary steps to reproduce the issue. Once you are done, try to put yourself in a future reader’s shoes: pretend to be a completely random person that just came across your bug report, can you comprehend what was the intent of the author and the reasoning that they have expressed? Is everything clear and concise? Can you make sense of what the author is requesting? If you answer “no” to any of these questions, try to improve your bug report further and redo the process. My rule of thumb is “put twice as much effort writing the report as you’d like to receive from the person that will triage it”.
So you are up to put your hands where the magic happens? I’ll be honest with you, this usually is not as easy as it seems.
Make sure you know what you are doing, or that you have enough determination and time to learn it. You will need to know some CoffeeScript, Backbone, Node.js and/or Sass (depending on what exactly you want to contribute), as well as basic Git skills and Git Flow—Code School’s “Try Git” course is a good introduction to these. Make sure to devour the Wiki’s Archmage Home in order to setup your development environment and get started hacking CodeCombat’s source code.
If you are relatively new to this open source world or to the CodeCombat codebase, it is a good idea to start by hunting down the “Good for newbies” issues in order to familiarize yourself.
You don’t need to know Git to perform these roles.
CoffeeScript programming will come in handy when creating levels, but it is not a requirement—you can always post in the forums in case you need help adding some specific custom behavior to your levels.
Aiding people in despair and helping the community in general are very meaningful ways to contribute as well. You can keep an eye in the forums if it is your thing.
Indepedent of your type of contribution, it is a good idea to read the Contributing document as well as the site’s Contributing section and the CodeCombat Wiki. These places accumulate far more useful information than I could ever dream of writing here, and they are frequently updated!