Enhancing components

Last updated Jun 26, 2026

Learn how to improve or contribute to existing Carbon Design System components, from GitHub issues and dev setup to submitting pull requests and design updates.

Enhancing components

Overview

All contributions, whether code, design, or documentation, follow a defined process. Larger contributions, such as new components or patterns, require a more rigorous process to ensure production-level quality and business value. There are specific phases and criteria outlined in the contribution process.

For smaller contributions like small additions, enhancements, or bug fixes follow the process below.

Process

1. Find a project to work on

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. Any issue labeled with needs: design contribution or needs: code contribution is fair game! Put a comment in the issue saying you’d like to help.

We also have many ongoing projects to create and update reusable components in Figma. This work is not currently tracked in GitHub, so check out the status of design kits and get involved by reaching out to the contacts listed.

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 a bug report

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.

2. Set up and refine

Developer set up

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:

  • Carbon monorepo
  • Carbon Products monorepo
  • Carbon charts

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

Project refinement

Before you get started on work, 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?
  • Is initial research or a design spec needed?
  • Do I need to collaborate with anyone else?
  • Do I have a clear definition of done?

3. Iterate and submit for review

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.

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.

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.

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.