Skip to main contentCarbon Design System

Contribute code

Code contributions can include anything from squashing bugs to adding feature requests. Check out the instructions below to contribute code effectively.

Step 1: Find a project

New issues submitted by the community are initially triaged by Carbon team members. Any issue that the Carbon team accepts, but can not fit in their roadmap, is open for community contribution.

Volunteer for existing work

The best way to volunteer is to look through existing GitHub issues labeled with needs: community contribution. Any issue labeled with needs: code contribution is fair game! Put a comment in the issue saying you’d like to help.

Play

If you want to join an issue that is already assigned to someone or has a specific milestone, please discuss with the assignee of the issue or with the Carbon team to coordinate.

Issues labeled good first issue are great candidates to pick up if you are in the code for the first time. The Carbon team is also happy to help you. Just stop by our Carbon Developer office hours or contact us directly.

Submit an idea or bug report

Have a new idea that you think would benefit Carbon? Or do you need to report a bug? First, be sure to look through the issue backlog to make sure it is a novel idea or bug. Then, file your proposal on GitHub using the issue templates. If you’re willing to work on this idea yourself, be sure to let us know in your issue! Your idea will then go through a triage process by the Carbon team.

Step 2: Set up your environment

Follow these steps to install the tools, set up your environment, and learn how to make a pull request. You can explore all the repositories in the Carbon Design system here, but you will likely be working in one of the following:

If you need help troubleshooting, reach out to the Carbon team.

Step 3: Refine the issue

Your dev environment is set up and you might be tempted to jump into coding. Before you get started, we recommend you refine the issue by creating a rough task list and posting it in the issue comments.

If you have trouble answering any of these questions, reach out to the Carbon team and we will help you refine your issue:

  • Am I clear on the scope of this work?
  • Is this task list feasible for me to do?
  • Should a designer get involved to do initial research or create a design spec?
  • Do I need to collaborate with anyone else?

Step 4: Get feedback

Most contributors work in groups of 2-3 and either set up weekly sessions or join meetups such as the Data Viz Guild or Carbon Developer office hours. In these sessions, it is common to share work in progress and ask lots of questions. As you make progress, update your GitHub issue.

Work that results in code will be reviewed directly in a pull request. Maintainers will be reviewing your work and making comments, asking questions and suggesting changes to be made before they merge your code. When you need to make a change, commit and push to your branch normally. Once all revisions to your pull request are complete, a maintainer will squash and merge your commits for you.