Skip to main contentCarbon Design System

Get started

The Carbon Design System is made possible through a vibrant community of designers and developers. Anyone can contribute code, design, and documentation.

Get started

If you’re interested in getting involved but don’t know where to start, welcome! Designers and developers like you help to make Carbon great, and we’re so glad you’re here.

To get started, subscribe to our office hours and stop on by. We’ll help you find an appropriate first contribution depending on your skills and interests. Read on to learn about common types of contributions and the process.

In the past year, Carbon contributors have added features to components, improved the React testing suite, created image production guidelines in Figma, and so much more! Explore the gallery below to see a small sample of finished projects.

Carbon champions

Many thanks to our 2023 Carbon champions for making significant contributions to the design system.

Kylee Barnard
Community support

Michael Barrera
Typescript

Patrick Clough
Figma

Enzo Colasante
Charts Figma Kit

Matt Gallo
React Testing Library

Valerie Garza
Gantt chart

Michael Gower
Accessibility

Mark Judy
Typescript

Chris Knabe
React Testing Library

Marcin Lewandowski

Typescript

Jessica Lin
Accessibility

Amaya Mali
Gantt chart

Tom Roach
Community support

Eugene To
Figma

Shankar Venkatachalam
Create React App

Colleen Yates
lllustration Guild

Types of contribution

There are several ways you can contribute, depending on your interest and bandwidth.

Component enhancements

This work involves enhancing our components in code, like adding new features or variants. Designers are often responsible for researching UX and visual solutions and then creating a design spec for developers. Here are issues in our enhancement backlog that need design or development work.

Design kits

This work is all about creating and updating reusable components in Figma. You’ll get valuable Figma experience and will collaborate with the Figma Guild. Check out the status of design kits and get involved by reaching out to the contacts listed.

Website documentation

All components and patterns require usage, style, code, and accessibility guidance on the Carbon website. You can learn how to contribute documentation smoothly and utilize our markdown templates on the documentation page. A list of components that still need documentation help can be found here.

Fixing issues and bugs

If you find a bug in the source code, you can help us by filling out a bug report and, ideally, submitting a pull request with a fix.

Icons and pictograms

You can find instructions on how to create and contribute UI icons, app icons, and pictograms on the IBM Design Language site.

The process

Whether you’re contributing code, designs, or documentation, there’s a process to follow. Here’s what it looks like:

1. Find a project to work on

Volunteer for existing work

The best way to volunteer is to look through existing GitHub issues labeled with needs: community contribution. You can also filter by code or design work. Put a comment in the issue saying you’d like to help.

The Carbon team is also happy to help you find a good first issue. Just stop by our office hours or send us a slack message.

Submit an idea

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 is know in your issue! Your idea will then go through a triage process by the Carbon team.

2. Iterate and get feedback

Most contributors work in groups of 2–3 and either set up weekly sessions or join meetups such as the Figma Guild, Data Viz Guild, or 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.

3. Review and publish

Code deliverables

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 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.

Contributor License Agreement

The Carbon core team is part of IBM. To accept contributions, we need a signed Contributor License Agreement (CLA) from you before code contributions can be reviewed and merged. You will be prompted to do this in your PR, but if you have questions, please don’t hesitate to reach out.

Design deliverables

For work that does not have a code deliverable, such as revisions to Figma libraries, ask the Carbon team how to finish your contribution.