Skip to content

How to Contribute

defr0zen edited this page May 30, 2017 · 3 revisions

Contributing to Carbonium

There are many ways to contribute to Carbonium: logging bugs, submitting pull requests, reporting issues, and creating suggestions.

After cloning and building the repo, check out the issues for a list of all potential areas for contributions.

To improve the chances to get a pull request merged you should select an issue that is labelled with the help-wanted or bug labels. If the issue you want to work on is not labelled with help-wanted or bug, you can start a conversation with the issue owner asking whether an external contribution will be considered.

Change User Interface

Many tasks require changes to the user interface. To ensure that we deliver a consistent user experience, we must use the same design language and follow the same processes.

  • The task you are working on should have a design-needed label.
  • Explore the Carbonium UI kit and the shared project with the existing design. //TODO: add links
  • Add a link to your design as a comment in your task. This could be a Carbonium project, an image with explanation, css code - it does not matter as long as it follows our design patterns and it is clear how to implement it.
  • Wait for the Carbonium team to accept your proposed design by adding the design-accepted label.
  • If you then would like to implement html/less, read on how to build and run the project.

Build and Run From Source

Carbonium is built with ReactJS and Webpack. It takes two simple steps to launch the website on your machine:

  1. npm install
  2. npm start

Your browser will automatically open the webpage http://localhost:8080/app?serverless&cls

Development Workflow

Carbonium is released from the master branch. The master branch has to be stable at all times. Any new commit to this branch will appear on the dev website http://dev.carbonium.io and will soon be released to production.

Each new task is developed in the topic branch:

  • features/* - for developing new features
  • bugs/* - for fixing bugs

Our typical development workflow is the following:

  1. Make a change locally and test it.
  2. Commit your changes into a new topic branch locally.
  3. Push the new branch to the main repository or to your personal fork.
  4. Create a new pull request. Wait for all automated checks to pass and for somebody from the Carbonium team to review your changes.
  5. Merge the pull request when it is approved and delete the topic branch.

If you don't have push rights to the carbon-ui repository, just make your personal fork and follow the same process.

Discussion Etiquette

In order to keep the conversation clear and transparent, please limit discussion to English and keep things on topic with the issue. Be considerate to others and try to be courteous and professional at all times.