# Contributing to Pilosa ## Reporting a bug If you have discovered a bug and don't see it in the [github issue tracker][5], [open a new issue][1] ## Submitting a feature request Feature requests are managed in Github issues. New features typically go through a [Proposal Process][4] which starts by [opening a new issue][1] that describes the new feature proposal. ## Submitting code changes Before you start working on new features, you should [open a new issue][1] to let others know what you're doing before you start working, otherwise you run the risk of duplicating effort. This also gives others an opportunity to provide input for your feature. - Fork the [Pilosa repository][2] and then clone your fork: ```shell git clone git@github.com:/pilosa.git ``` - Create a local feature branch: ```shell git checkout -b something-amazing ``` - Commit your changes locally using `git add` and `git commit`. - Make sure that you've written tests for your new feature, and then run the tests: ```shell make test ``` - Verify that your pull request is applied to the latest version of code on github: ```shell git remote add upstream git@github.com:pilosa/pilosa.git git fetch upstream git rebase -i upstream/master ``` - Push to your fork: ```shell git push -u something-amazing ``` - Submit a [pull request][3] [1]: https://github.com/pilosa/pilosa/issues/new [2]: https://github.com/pilosa/pilosa [3]: https://github.com/pilosa/pilosa/compare/ [4]: https://github.com/pilosa/general/blob/master/proposal.md [5]: https://github.com/pilosa/pilosa/issues