Hi there! Interested in contributing to Terraspace? We’d love your help. Terraspace is an open source project, built one contribution at a time by users like you.

Where to get help or report a problem

See the support guidelines

Ways to contribute

Whether you’re a developer, an infrastructure engineer, or just an enthusiast, there are lots of ways to contribute. Here are a few ideas:

Submitting a pull request

Pull requests generally

Submitting a pull request via

Many small changes can be made entirely through the web interface.

  1. Navigate to the file within boltops-tools/terraspace that you’d like to edit.
  2. Click the pencil icon in the top right corner to edit the file.
  3. Make your proposed changes.
  4. Click “Propose file change.”
  5. Click “Create pull request.”
  6. Add a descriptive title and detailed description for your proposed change. The more information, the better.
  7. Click “Create pull request.”

That’s it! You’ll be automatically subscribed to receive updates as others review your proposed change and provide feedback.

Submitting a pull request via Git command line

  1. Fork the project by clicking “Fork” in the top right corner of boltops-tools/terraspace.
  2. Clone the repository locally git clone<your-username>/terraspace.
  3. Fetch submodules git submodule init && git submodule update.
  4. Create a new, descriptively named branch to contain your change ( git checkout -b my-awesome-feature ).
  5. Hack away, add tests. Not necessarily in that order.
  6. Make sure everything still passes by running bundle exec rspec (see the tests section below)
  7. Push the branch up ( git push origin my-awesome-feature ).
  8. Create a pull request by visiting<your-username>/terraspace and following the instructions at the top of the screen.

Proposing updates to the documentation

We want the Terraspace documentation to be the best it can be. We’ve open-sourced our docs and we welcome any pull requests if you find it lacking.

How to submit changes

You can find the documentation for in the docs directory. See the section above, submitting a pull request for information on how to propose a change.

One gotcha, all pull requests should be directed at the master branch (the default branch).

Code Contributions

Interesting in submitting a pull request? Awesome. Read on. There are a few common gotchas that we’d love to help you avoid.

Tests and documentation

Any time you propose a code change, you should also include updates to the documentation and tests within the same pull request.


If your contribution changes any Terraspace behavior, make sure to update the documentation. Documentation lives in the docs folder. It’s a Jekyll site and can be started with cd docs && bin/web. If the docs are missing information, please feel free to add it in. Great docs make a great project. Include changes to the documentation within your pull request, and once merged, will be updated.


Code contributions generally

Running tests

Test Dependencies

To run the test suite by running the following command:

bundle exec rspec

Thank You

Thanks! Hacking on Terraspace should be fun. If you find any of this hard to figure out, let us know so we can improve our process or documentation!

More tools: