Overview
The purpose of Carbon Labs is to highlight innovation work that’s being done both on the Carbon team and out in the ecosystem. This work is still in the Discovery phase of the Product Development Lifecycle and has not yet met Carbon’s definition of done criteria, therefore it cannot be published alongside stable work. However, we still want it to be findable.
While Carbon sets a high standard for asset stability, we do not want to stifle innovation. Previously, we housed unfinished explorations alongside stable components, which confused designers and developers about what was safe for use in production. Carbon Labs addresses this issue by providing a dedicated environment for explorations, separate from stable design system assets. This includes a separate GitHub repo and Storybook for code assets and a dedicated Figma space for design assets.
Carbon Labs is a community-organized incubation space. The Carbon community can add assets to Labs while in the Discovery phase of the Product Development Lifecycle (PDLC). Types of assets included in Labs should be design system assets such as components, patterns, shared utilities, or universal guidance.
General guidelines
- All assets are considered in the discovery phase and have a status of either
DraftorPreviewcandidate. - When an asset reaches the status of
Previewit should migrate out of Labs and into a maintainer library such as Carbon core. - Only assets being actively worked on will remain in Labs. After a period of time, inactive work will be archived regardless of status.
- Each asset requires active contributors; this can be individuals, a group of people, or a guild.
- Labs assets are self-organized and the contributors are responsible for organizing their development, maintenance, reviews, and publishing.
Carbon Labs in Figma
Carbon Labs has a team space inside the IBM Figma organization that is viewable to all IBM Figma users. This space is only for design files associated with a project in Carbon Labs. Request to join the Carbon Labs team or a specific project file to add your work to the Carbon Labs Figma space. We restrict edit access to active contributors to prevent accidental editing or changes to files.
Acceptance criteria
Your designs might belong in the Carbon Labs Figma space if it is a:
- Component or pattern design concept looking for validation
- New or developing guidance from a pattern guild or workgroup that is not yet ready to publish on a website.
- Design documentation for a coded component living in the Carbon Labs GitHub repo.
- Figma library for a coded component living in the Carbon Labs GitHub repo.
Organizing projects in Figma
Figma files in the Carbon Labs space must follow the basic organization of the Carbon Labs project template. Duplicate or copy the file template when adding a project to Figma.
Carbon Labs in code
Carbon Labs includes a dedicated GitHub repository and Storybook, fostering rapid innovation outside the typical release schedule. This enables code assets to develop quickly within a collaborative community until they are ready be added to a maintainer library. To submit a project to the Labs repo, open a pull request.
Acceptance criteria
- Your code might belong in the Carbon Labs GitHub space if it is a:
- Component concept looking for validation
- Net-new community built component
- Shared utility
Code contributors and reviewers
Each asset in Labs must have dedicated contributors and organize its own code reviewers. We recommend identifying the future maintainer library and recruiting help from them when building and reviewing assets. Common maintainer libraries include Carbon, Carbon for IBM Products and other local libraries