Contributing

We love contributions from everyone. By participating in this project, you agree to abide by the thoughtbot code of conduct.

Issues

Before submitting your issue, please make sure that you’ve provided all the info required in the issue template.

Pull Requests

Before submitting your pull request, please make sure that you’ve provided all the info required in the pull request template.

Contributing Code

General Guidelines:

  • This repo uses the gitflow branching model. Don’t commit directly to the master or develop branches.
  • Make sure the tests pass on the CI server. Local tests are not available at the moment.
  • Follow the style guide.
  • Write decent commit messages.
  • Run inv docs to generate documentation locally, inv build to build the executable and inv preview to preview the app without building it.

Setup the work environment:

  1. Fork the repo.

  2. Setup your fork locally.

  3. This repo uses a .settings file to define all the necessary settings. This file follows this syntax:

    [git]
    user=git_username
    email=git_email
    

    Create and add this file to your clone’s root.

  4. Install Vagrant.

  5. Run this in the clone’s root:

    • If you have Python available:

      pip install invoke
      inv create enter
      
    • If not:

      vagrant up
      vagrant ssh -- -Yt 'cd /vagrant/; /bin/bash'
      

    It will take a while.

  6. You should now be inside an Ubuntu Trusty virtual machine, this is where you’ll work. Make, commit and push your changes.

  7. Create a pull request.

Thank you, contributors!