Getting 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.
Contribution gallery
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.
New components
New components are a large multidiscipline contribution and must be contributed in phases to insure quality and business value. To propose a net new component, follow the phased contribution process and complete all requirements in the component checklist. All requirement categories must be completed before a component can be considered done.
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. For larger contributions like new components or patterns a more rigorous process must be followed to insure production level quality and business value. We have laid out the phases and criteria on the next page in contribution process.
For smaller contributions like small additions, enhancements, or bug fixes follow the process below.
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
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. Submit for review
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.