Contributing
So you've got an awesome idea to throw into COSMOS. Great! This is the basic process:
- Fork the project on Github
- Create a feature branch
- Make your changes
- Submit a pull request
Don't Forget the Contributor License Agreement!
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
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>/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.
Find a problem in the code or documentation?
Please create an issue on GitHub describing what we can do to make it better.