Contributing

So you’ve got an awesome idea to throw into COSMOS. Great! This is the basic process:

  1. Fork the project on Github
  2. Create a feature branch
  3. Make your changes
  4. Submit a pull request
Don't Forget the Contributor License Agreement!

Before any contributions can be incorporated we do require all contributors to sign a Contributor License Agreement here: Contributor License Agreement This protects both you and us and you retain full rights to any code you write.

Test Dependencies

To run the test suite and build the gem you’ll need to install COSMOS’s dependencies. COSMOS uses Bundler, so a quick run of the bundle command and you’re all set!

$ bundle

Before you start, run the tests and make sure that they pass (to confirm your environment is configured properly):

$ bundle exec rake build spec

Workflow

Here’s the most direct way to get your work merged into the project:

  • Fork the project.
  • Clone down your fork:
git clone git://github.com/<username>/COSMOS.git
  • Create a topic branch to contain your change:
git checkout -b my_awesome_feature
  • Hack away, add tests. Not necessarily in that order.
  • Make sure everything still passes by running bundle exec rake.
  • If necessary, rebase your commits into logical chunks, without errors.
  • Push the branch up:
git push origin my_awesome_feature
  • Create a pull request against BallAerospace/COSMOS:master and describe what your change does and the why you think it should be merged.
Let us know what could be better!

Both using and hacking on COSMOS should be fun, simple, and easy, so if for some reason you find it's a pain, please create an issue on GitHub describing your experience so we can make it better.