Contributing to Cloud9

We welcome contributions to Cloud9 core and the open source packages maintained by Cloud9. This guide will give you the best practices for contributing code back to Cloud9.

The Cloud9 code is hosted in the c9 organization on GitHub and we use the issue tracker on both the core repo to track issues with the core and on the repos of the open source packages to track issues related to the open source plugins. If you can't figure out which package the issue belongs to, simply report it to the core repo.

Submitting Issues

  • Include the version of Cloud9 you are using and the OS.
  • Include screenshots and screencasts. You can use Jing or screenr.com which are both free.
  • Include the behavior you expected and other places you've seen that behavior such as Emacs, vi, Xcode, etc.
  • Check the browser's developer tools (Command-Alt-J) for errors to include.
  • Perform a cursory search to see if a similar issue has already been submitted.

Package Repositories

Cloud9 comes with many plugins bundled. These plugins can be found in the c9 organization on GitHub. Click here for a list of these plugins. You'll always need the Cloud9 core to run Cloud9 locally and it comes with a script that will automatically install the other needed plugins.

Pull Requests

  • Include screenshots and screencasts in your pull request whenever possible.
  • Follow the JavaScript, and CSS styleguides.
  • Include thoughtfully-worded, well-structured tests.
  • Document new code based on the Documentation Styleguide

Mailinglist

Add yourself to the Cloud9 SDK mailinglist. This list is used by plugin developers like yourself to ask questions and provide help to others in the community. All the Cloud9 core developers are members of this mailinglist and will help where needed.

Javascript Styleguide

Read the coding standards document for a full description on our coding guidelines.

Documentation Styleguide

TODO

Contributor License Agreement

We actively encourage and support contributions. We accept pull requests to the core as well as to any of the open source plugins and libraries that we maintain under the c9 organization on GitHub.

Feel free to fork and improve/enhance the Cloud9 SDK and the open source plugins in any way you want. Then please open a pull request.

To protect the interests of the Cloud9 contributors and users we require contributors to sign a Contributors License Agreement (CLA) before we pull the changes into the main repository. Our CLA is the simplest of agreements, requiring that the contributions you make to an ajax.org project are only those you're allowed to make. This helps us significantly reduce future legal risk for everyone involved. It is easy, helps everyone, takes ten minutes, and only needs to be completed once. There are two versions of the agreement:

  1. The Individual CLA: use this version if you're working on the Cloud9 SDK or open source plugins in your spare time, or can clearly claim ownership of copyright in what you'll be submitting.
  2. The Corporate CLA: have your corporate lawyer review and submit this if your company is going to be contributing to the Cloud9 SDK and/or open source plugins.

If you want to contribute to the Cloud9 SDK and/or open source plugins please go to the online form, fill it out and submit it.