Do you need an add-on repo?
Please answer yes or no to the following list of questions:
- Is your team using Carbon components?
- Does your team have the need to add custom components in addition to Carbon's core components?
- Will these components only be needed by your team?
- Do you need these custom components to match Carbon's visual style?
If you've answered "yes" to all the questions above, then you definitely qualify for an add-on repo! Jump to the next section to learn about the required steps to create an add-on repo.
If you answered "no" to any of the questions above but still feel like you need an add-on repo, please reach out to the a member of the Carbon team to discuss additional options. It might be that your component need is something that can be shared across the core Carbon organization. In this case, we can talk about how you can contribute this component back to the core Carbon repo.
Creating an add-on repo
There are a number of growing add-on repos that can be found under the Carbon org. If you'd like to create an add-on repo we have created a vanilla boilerplate and a react boilerplate that you can clone to get started. For further assistance please reach out to a member of the carbon design team.
Private vs public
Carbon Design System is an open-source project and we do encourage teams using Carbon Design System to stay open-source as well. However, if your product has privacy constraints, we can discuss options for creating an add-on repo under our GitHub Enterprise account.
Contributing to add-ons
Add-ons are generally easier to contribute to because they are not fully managed by the Carbon team. Below are the items that you need to pass in order for your contribution to be accepted. You can read our full contribution process for design and development to learn more.
|Carbon custom focus states|
|Visual + UX||Carbon themed|
|Universal pattern |
(fits for 2-3 use cases)
|Interaction states (hover, active, focus, disabled)|
Who owns an add-on repo?
Once an add-on repo has been created, the team or product that requested it is in charge of maintaining and keeping it up to date. This involves carrying over specific changes from the core Carbon repo, as well as making sure it is using the latest major version of Carbon Components.
The table below shows the Carbon team's level of support for the Core library vs. the Add-ons repo.
|General design questions|
|Design feedback & support|