As Arx is an open source library, any contributions from the community are greatly appreciated. This document details the guidelines for making contributions to Arx.
Prior to reporting an issue, please ensure:
- You have used the search utility provided on GitHub issues to look for similar issues.
- You have checked the documentation (for the version of Arx you are using).
- You are using the latest version of Arx (if possible).
Issues may be one of four different types listed below. Please use the respective issue template when creating an issue:
- Error or warning (template)
For reporting an error or warning generated by Arx. - Unexpected or incorrect functionality (template)
For reporting something that doesn't seem to be working correctly or is unexpected. - Improvement to an existing feature (template)
For suggesting an improvement to a feature already offered by Arx. - Suggesting a new feature (template)
For proposing a new feature to Arx that would be beneficial.
-
Add specs: Your pull request won't be accepted if it doesn't have any specs.
-
Document any change in behaviour: Make sure the README, YARD documentation and all other relevant documentation is kept up-to-date.
-
Create topic branches: Will not pull from your master branch!
-
One pull request per feature: If you wish to add more than one new feature, please make multiple pull requests.
-
Meaningful commit messages: Make sure each individual commit in your pull request has a meaningful message.
-
De-clutter commit history: If you had to make multiple intermediate commits while developing, please squash them before making your pull request.
Branch names must be of the form type/short-phrase-or-description
, where type
is either a:
patch
: Making a change (including removal) of an existing feature.feature
: Adding a new feature.
Branches should typically feature only one main change. If making multiple unrelated changes, please create separate branches and open separate pull requests.
Ensure you use the pull request template.
Pull request titles must be of the form [type:specifier] Pull request title
, where type
is the same as the branch type (read above).
The specifier
should be one of:
lib
: Changes to any code in thelib
directory.gem
: Changes to any gem related files, such asarx.gemspec
,Rakefile
orLICENSE
.ci
: Changes to.travis.yml
or.coveralls.yml
.specs
: Changes to any code in thespecs
directory.git
: Changes to any Git-related code, such as.gitignore
.docs
: Changes to any documentation configuration (.yardopts
), orREADME.md
,CONTRIBUTING.md
,CHANGELOG.md
.
Continuous integration (Travis CI) builds must pass in order for your pull request to be merged.
By contributing, you agree that your contributions will be licensed under the same MIT License that covers this repository.