# Contributing We welcome bug fixes and patches from 3rd party contributors. Please follow these guidelines if you want to contribute to ArangoDB: ## Getting started * Please make sure you have a GitHub account * Please look into the ArangoDB issue tracker on GitHub for similar/identical issues * For bugs: if the bug you found is not yet described in an existing issue, please file a new one. The new issue should include a clear description of the bug and how to reproduce it (including your environment) * For feature requests: please clearly describe the proposed feature, additional configuration options, and side effects * Please let us know if you plan to work an a ticket. This way we can make sure we avoid redundant work * Create a fork our repository. You can use GitHub to do this * Clone the fork to your development box and pull the latest changes from the ArangoDB repository. Please make sure to use the appropriate branch: * the "devel" branch is normally used for new features * bug fixes should be done in the "devel" first, before being applied to master or other branches * If missing, install the required prerequisites. They are listed [here](https://github.com/triAGENS/ArangoDB/wiki/Compiling). * Make sure the unmodified clone works locally before making any code changes. You can do so by running the included test suite (i.e. make unittests) * If you intend to do documentation changes, you also must install Doxygen in any recent version. ## Making Changes * Create a new branch in your fork * Develop and test your modifications there * Commit as you like, but preferrably in logical chunks. Use meaningful commit messages and make sure you do not commit unneccesary files (e.g. object files). It is normally a good idea to reference the issue number from the commit message so the issues will get updated automatically with comments * If the modifications change any documented behavior or add new features, document the changes. The documentation can be found in arangod/Documentation directory. To recreate the documentation locally, run make doxygen. This will re-create all documentation files in the Doxygen directory in your repository. You can inspect the documentation in this folder using a text editor or a browser * When done, run the complete test suite and make sure all tests pass * When finished, push the changes to your GitHub repository and send a pull request from your fork to the ArangoDB repository. Please make sure to select the appropriate branches there ## Additional Resources * [ArangoDB website](http://www.arangodb.org/) * [ArangoDB on Twitter](http://twitter.com/arangodb) * [General GitHub documentation](http://help.github.com/) * [GitHub pull request documentation](http://help.github.com/send-pull-requests/)