diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 00000000..60b3c3b5 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,60 @@ +# How to contribute + +Third-party patches are much appreciated. This is a rather large project +and a single person can not work on it 24/7 to address all issues and +feature requests. If you feel comfortable with PHP and Smarty you should +consider following this contribution guide! + +## Getting Started + +* Make sure you have a [GitHub account][4]. +* Submit an [Issue][1] for your issue, assuming one does not already exist. + * Clearly describe the issue including steps to reproduce when it is a bug. + * Make sure you fill in the earliest version that you know has the issue. +* Fork the repository into your GitHub account + +## Making Changes + +* Create a topic branch from where you want to base your work. + * This is usually the `next` branch. + * Only target release branches if you are certain your fix must be on that + branch. + * To quickly create a topic branch based on `next`; `git branch + fix/next/my_contribution next` then checkout the new branch with `git + checkout fix/next/my_contribution`. Please avoid working directly on the + `next` branch. +* Make commits of logical units. +* Check for unnecessary whitespace with `git diff --check` before committing. +* Make sure your commit messages are in the proper format. + +```` + (#99999) Make the example in CONTRIBUTING imperative and concrete + + Without this patch applied the example commit message in the CONTRIBUTING + document is not a concrete example. This is a problem because the + contributor is left to imagine what the commit message should look like + based on a description rather than an example. This patch fixes the + problem by making the example concrete and imperative. + + The first line is a real life imperative statement with an issue number + from our issue tracker. The body describes the behavior without the patch, + why this is a problem, and how the patch fixes the problem when applied. +```` + +## Submitting Changes + +* Push your changes to a topic branch in your fork of the repository. +* Submit a pull request to the origin repository. +* Update your issue that you have submitted code and are ready for it to be reviewed. + * Include a link to the pull request in the ticket + +# Additional Resources + +* [Issue Tracker][1] +* [General GitHub documentation][2] +* [GitHub pull request documentation][3] + +[1]: https://github.com/~/issues "Issue" +[2]: http://help.github.com/ "GitHub documentation" +[3]: http://help.github.com/send-pull-requests/ "GitHub pull request documentation" +[4]: https://github.com/signup/free "GitHub account"