|
| 1 | +# How to Contribute |
| 2 | + |
| 3 | +lxHive is developed by its community consisting of lxHive users, enthusiasts, |
| 4 | +Brightcookie employees, customers, partners, and others. We strongly encourage you to |
| 5 | +contribute to lxHive's open source efforts by implementing new features, |
| 6 | +enhancing existing features, and fixing bugs. We also welcome your participation |
| 7 | +in writing documentation and guides. |
| 8 | + |
| 9 | +To maintain code quality, all code changes are reviewed by a core set of lxHive project |
| 10 | +maintainers, namely @sraka1 and @RoboSparrow. |
| 11 | + |
| 12 | +As you have ideas for features you want to implement, follow the contribution |
| 13 | +steps outlined in the sections, below. For more details on specific steps, and |
| 14 | +to get a deeper understanding of lxHive in general, make sure to check out our Wiki. |
| 15 | +Lastly, visit the links listed in the *Additional Resources* section, below. |
| 16 | + |
| 17 | +## Getting Started |
| 18 | + |
| 19 | +* Sign up for a [GitHub account](https://github.com/signup/free) (if you don't have one already) to be able to participate. |
| 20 | +* [Create a new issue](https://github.com/Brightcookie/lxHive/issues/new) for your issue. If a ticket |
| 21 | +already exists for the issue, participate via the existing ticket. |
| 22 | + * Describe the issue clearly. If it is a bug, include steps to reproduce it. |
| 23 | + * Select an appropriate category for the issue. |
| 24 | + * Select the earliest version (or commit) of the product affected by the issue. |
| 25 | +* Fork the lxHive repository. |
| 26 | + |
| 27 | +## Making Changes |
| 28 | + |
| 29 | +* Ensure you have a working lxHive development environment. A quick startup guide on setting up an instance |
| 30 | +is part of the README file included in this repository. |
| 31 | +* Create a branch from an existing branch (typically the *development* branch) from |
| 32 | +which you want to base your changes. |
| 33 | +Use the following nomenclature when naming your branch: |
| 34 | + * If you are working on a bugfix, prefix the branch name with bugfix-* |
| 35 | + * If you are working on a new feature/improvement, prefix the branch name with feature-* |
| 36 | + * If you are working solely on increasing ADL test compliance, prefix the branch name with compliance-* |
| 37 | + * You will also notice some branches named release-x.y.z (where x.y.z is a valid semantic versioning version), which will be opened by the core maintainers in preparation for a new release (ironing out bugs out of new features before the release is made available). |
| 38 | +* Commit logical units of work. |
| 39 | +* Follow the [PSR-0](https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-0.md), |
| 40 | +[PSR-1](https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-1-basic-coding-standard.md), |
| 41 | +[PSR-2](https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-2-coding-style-guide.md) and |
| 42 | +[Symfony](http://symfony.com/doc/current/contributing/code/standards.html) code standards. |
| 43 | +* Include a reference to the issue (e.g. #13) in your commit messages. |
| 44 | +For example: |
| 45 | + |
| 46 | + Improve code readability - #13 |
| 47 | + |
| 48 | +* *Test* your changes thoroughly! Consider the wide variety of operating |
| 49 | +systems, databases, application servers, and other related technologies. Make sure your changes in one environment don't break something in |
| 50 | +another environment. See the [xAPITests](https://github.com/sraka1/xAPITests) and [xAPI_LRS_Test](https://github.com/adlnet/xAPI_LRS_Test) |
| 51 | +repositories for details on executing automated tests against your test instance. |
| 52 | + |
| 53 | +## Submitting Changes |
| 54 | + |
| 55 | +* Push changes in your branch to your fork. |
| 56 | +* [Create a pull request](https://github.com/Brightcookie/lxHive/compare) and mention the issue it fixes [as described here](https://github.com/blog/1506-closing-issues-via-pull-requests). |
| 57 | +* You're done! Well, not quite ... be sure to respond to comments and questions |
| 58 | +to your pull request until it is closed. |
| 59 | + |
| 60 | +## Additional Resources |
| 61 | + |
| 62 | +* [lxHive Website](http://www.lxhive.com/) |
| 63 | +* [General GitHub documentation](http://help.github.com/) |
| 64 | +* [GitHub pull request |
| 65 | +documentation](http://help.github.com/send-pull-requests/) |
0 commit comments