Skip to main content


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

By contributing to this project, you accept our Contributor License Agreement which is found 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


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

  • Fork the project.
  • Clone down your fork:
git clone git://<username>/openc3.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 openc3/cosmos:main and describe what your change does and the why you think it should be merged.

Please create an issue on GitHub describing what we can do to make it better.