Getting started with contributing
A lot of new contributors that want to dive in to helping fix bugs and develop new awesome things often ask "Well, where do I start?". Below are some links to comprehensive resources so that newcomers can get up to speed and get dive right in to fixing bugs.
Getting started with GitHub
All of Diaspora's code is hosted on [GitHub](http://github.com), a social coding platform that leverages [Git](http://en.wikipedia.org/git) for many different Free and Open Source projects. You can use any operating system to contribute with GitHub, all you need is an account and to follow GitHub's easy and helpful [guide](http://help.github.com/linux-set-up-git/) for setting up your account from the command line and learning to use the commands. Git is supported on all major platforms.
All About Bugs
There are some different things about bugs that you ought to know, specifically, how to [report a bug](https://github.com/diaspora/diaspora/wiki/Report-a-bug), and [how to claim and fix a bug](https://github.com/diaspora/diaspora/wiki/Work-on-a-bug). Both incorporate well into our GitHub-based workflow, and is designed to make the process of fixing bugs easier for everybody.
How to Contribute the Right Way
Diaspora's development tries its very best to stick to a set of guidelines when it comes to contributing code. When you're writing a bugfix or custom code from scratch, it's good practice to ask yourself:
- Does my code have [tests](https://github.com/diaspora/diaspora/wiki/Testing-workflow)?
- Am I sticking to the [Git Workflow](https://github.com/diaspora/diaspora/wiki/Git-Workflow) the best I can?
Other helpful resources
Below are some helpful relevant links to other parts of the wiki. We're currently restructuring everything, so the below links may be subject to change.
- [How to work with Pull Requests](https://github.com/diaspora/diaspora/wiki/Merging-Pull-Requests)
- [An Overview of Required Ruby Gems](https://github.com/diaspora/diaspora/wiki/Overview-of-required-gems)
- [How to get a dev environment set up](https://github.com/diaspora/diaspora/wiki/Installing-and-Running-Diaspora)
- [How to Report a Bug](https://github.com/diaspora/diaspora/wiki/Report-a-bug)
- [A Detailed Introduction to the Source Code](https://github.com/diaspora/diaspora/wiki/An-Introduction-to-the-Diaspora-Source)