Skip to main contentCarbon Design System

Patterns

Patterns are best practice solutions for how a user achieves a goal. They show reusable combinations of components and templates that address common user objectives with sequences and flows.

How to write a pattern

We’ve created guidelines to help you prepare a complete and comprehensive pattern. There are two Markdown templates to choose from:

  • Pattern with a single variant: Use this template if your pattern has one primary solution. This is the most common.
  • Pattern with multiple variants: Use this template if your content covers multiple variants of the pattern.

You may need to adjust the topic order to best tell the story but your pattern should cover all of the topics outlined in each of these templates.

If you would like some assistance with the best approach for your pattern, please reach out. We’d be happy to work through the options with you.

---
title: Pattern name
description: Explain the pattern in one or two sentences.
---
<PageDescription>
Explain the pattern in one or two sentences.

Template for patterns with one primary solution

---
title: Pattern name (multiple variants)
description: Explain the pattern in one or two sentences.
---
<PageDescription>
Explain the pattern in one or two sentences.

Template for patterns with multiple variants

First steps to contributing

If you’ve designed a pattern that is not currently in Carbon, contributing it back allows others in the community to refine and use your pattern in their projects.

Start by opening a Github issue. Include a detailed description in which you:

  • Define your pattern and explain the rationale
  • Include mockups and/or prototypes of any fidelity
  • Clarify whether it uses existing components, new components, or both
  • Include competitive and comparative analysis, and any inspirations from other products

This issue will be the staging ground for the pattern contribution, and you should expect the Carbon core team and the community to weigh in with suggestions.

We encourage you to surface work in progress. If you’re not able to complete all of the parts yourself, someone in the community may be able to help.