In order to make Joules better, everyone is encouraged to help improve this project. Before diving into the code, please familiarize yourself with the following guidelines and conventions.
-
Install the Ruby programming language for your platform.
-
Fork the project.
# Clone your fork of the repository into the current directory git clone https://github.com/<your-username>/Joules # Navigate to the newly cloned directory cd <repo-name> # Assign the original repository to a remote called "upstream" git remote add upstream git://github.com/elailai94/Joules
-
Get the latest changes from upstream if you forked awhile ago.
git checkout master git pull upstream master
-
Run all tests.
rake test
Here are some ways you can contribute:
- by using alpha, beta, and pre-release versions
- by reporting bugs
- by suggesting new features
- by writing or editing documentation
- by writing code
- by refactoring code
- by closing issues
The GitHub issue tracker is used to track bugs and features.
When submitting a bug report, please use the following guidelines:
- Use the GitHub issue search to check if the bug has already been reported.
- Check if the issue has been fixed by trying to reproduce it using the latest master in the repository.
- Isolate the problem by creating a reduced test case and a live example.
- Elaborate as much as possible in your report by including specific information about the environment (e.g.: operating system and version, library (gem) version, etc.) and steps required to reproduce the issue.
When submitting a feature request, please use the following guidelines:
- Use the GitHub issue search to check if the feature has already been suggested.
- Check if the feature has been introduced by trying to test for it using the latest master in the repostory.
- Elaborate as much as possible in your report by providing as much detail and context as possible on why your idea fits the scope and aims of the project.
Note: Contribution enquiries should take place before any significant pull request. Otherwise, you risk spending a lot of time working on something that might be rejected for good reasons.
- Fork the project.
- Create a topic branch.
- Implement your feature or bug fix.
- Add documentation for your feature or bug fix.
- Run
rake doc:yard
oryard doc
. If your changes are not 100% documented, go back to step 4. - Commit and push your changes.
- Submit a pull request with a clear title and description. Please do not include changes to the gemspec or changelog file. (If you want to create your own version for some reason, please do so in a separate commit.)
Although there is currently no strict set of coding or style guidelines, it is advised that you use common sense when contributing code and make an effort to use a similar style to nearby existing code. It is strongly recommended that you read through the Ruby style guide.
The YARD documentation style is used to document code.
By contributing to Joules, you agree that your contributions will be licensed under its MIT license.