Contributing

There are many ways to contribute to OpenBoxes, and not just through making changes to the source code. Here are a few examples of areas we need a considerable amount of help.

  • Develop a new feature
  • Patch a bug / hotfix
  • Improve translations
  • Improve documentation
  • Write unit, integration, functional tests

Resources

Procedure

  1. Find or create an issue for the feature or bug in GitHub Issues.

  2. Fork the openboxes/openboxes GitHub repository. Fork Repo

  3. Create a branch for your changes (create a hotfix for bugs if working off master or a feature branch for features if working off develop). NOTE: The use of the hotfix or develop prefix will help us identify which branch we need to merge your changes into.

    git checkout -b hotfix/123-short-summary-of-issue
    git checkout -b feature/123-short-summary-of-issue
    
  4. Implement your feature or hotfix in your new branch.

  5. Write a test for your changes (if you have trouble with this step please comment in your ticket that you'd like some help). NOTE: Tests are required for features and bug fixes, but not for documentation and translation changes.

  6. Run tests.

    grails test-app unit:
    grails test-app integration:
    
  7. Commit your changes

    git commit -m "Implemented feature #123"
    
  8. Push to your fork.

    git push
    
  9. Submit a pull request.