Skip to content

Commit 274ec9c

Browse files
[CMSDS-3645] Adds a dedicated page for contribution guidance (#3813)
* Adds contribution guidance page * Add hyperlinks for referenced patterns and components * Makes changes based on pr feedback * Forgot to add one more link to confluence and github issue widget
1 parent 45c1708 commit 274ec9c

File tree

1 file changed

+64
-0
lines changed

1 file changed

+64
-0
lines changed
Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
---
2+
title: Contribution Guidance
3+
order: 50
4+
---
5+
6+
import { Alert } from '@cmsgov/design-system';
7+
8+
This page explains how to contribute to the CMS Design System and under what conditions contributions are accepted. Follow this guidance to propose a new component, pattern, or layout for inclusion.
9+
10+
## When to make a contribution proposal
11+
Use this guide to determine whether submitting a contribution proposal is the right path for your team's needs.
12+
13+
### Submit a contribution proposal if…
14+
- The design is repeatedly needed across multiple product teams.
15+
- The design is a generalizable solution that can be reused by more than one team or application.
16+
- The design follows the design and accessibility guidelines already in place.
17+
- The design introduces a function, layout, or interaction that is not currently supported by existing CMS DS components.
18+
- Your team is willing to work with the CMS DS team to support documentation, testing, and ongoing refinement if adopted.
19+
20+
### Do not submit a contribution proposal if…
21+
- The design can be assembled by combining components that already exist in the CMS Design System.
22+
- The use case is too niche or specific to a single product or workflow and lacks broader applicability.
23+
- The proposed design conflicts with accessibility standards, visual style, or content guidance set by the CMS Design System.
24+
- The design is not yet validated or has not shown repeat demand from other teams or users.
25+
- The request involves documentation updates, usage guidance, or content rather than a new visual or functional design element. These types of requests should be shared through one of our Slack channels or the bug-reporting workflow, which you can access in [#cms-design-system](https://cmsgov.slack.com/archives/CHH0381RD) or by opening a [GitHub issue](https://github.com/CMSgov/design-system/issues/new?template=propose-a-new-item-for-the-cms-design-system.md).
26+
27+
## Components, patterns, & layouts
28+
What are the differences between a component, a pattern, and a layout?
29+
30+
- **Components:** Reusable UI elements with defined functions and behaviors. These are the building blocks of the design system. Examples include [buttons](/components/button/), [checkboxes](/components/checkbox/), and [text inputs](/components/text-field/text-field/).
31+
- **Patterns:** Combinations of components used together to solve common user interactions. Examples include [form validation](/patterns/Forms/validation/) or [utility actions](/patterns/utility-actions/).
32+
- **Layouts:** Arrangements of components and patterns on a page that define how content is organized and spaced. Examples include the [documentation page](/layouts/documentation-page/) and [Healthcare.gov’s one column page](/layouts/Healthcare/one-col-page-layout/) layouts.
33+
34+
## Steps to take
35+
If your team would like to add a component, pattern, or layout to the Design System, please follow these steps:
36+
37+
1. **Connect with the CMS Design System team:** Start by reaching out to the CMS Design System team to discuss what you would like to see added. You can connect via the [#cms-design-system](https://cmsgov.slack.com/archives/CHH0381RD), [#hcgov-design-system](https://cmsgov.slack.com/archives/C0111BVM1LZ), or [#mgov-design-system](https://cmsgov.slack.com/archives/C010T7LE5RC) Slack channels, or attend one of our biweekly office hours. This conversation will help determine whether the idea is a good fit for a contribution proposal. If you don’t have access to CMS Slack, you can instead [open a GitHub issue](https://github.com/CMSgov/design-system/issues/new?template=propose-a-new-item-for-the-cms-design-system.md) in our repository.
38+
2. **Submit a contribution proposal:** Complete and submit a [contribution proposal form](https://confluence.cms.gov/spaces/HCDSG/pages/984161621/Contribution+Proposals). Include any relevant images, discovery research, or Figma files associated with your design. If you don’t have access to CMS Confluence, or if you’d like to report a specific issue with the CMS Design System, you can instead [open a GitHub issue](https://github.com/CMSgov/design-system/issues/new?template=propose-a-new-item-for-the-cms-design-system.md) in our repository.
39+
3. **CMS Design System team assessment:** Your proposal will be reviewed and assessed by the CMS Design System team.
40+
4. **Monitor and wait:** Once the proposal is in progress, the phases may include discovery, design, design implementation (engineering), writing guidance, and implementing guidance (engineering). Teams can check the current phase of the contribution by referencing the proposal. The contributing team will be notified once the proposal is complete.
41+
42+
<Alert heading="Note on response times" variation="warn">
43+
The CMS DS team sometimes has strict priorities and limited bandwidth to address new contribution proposals. This could affect how quickly the team is able to address your proposal.
44+
</Alert>
45+
46+
## What to include
47+
To create a contribution proposal, navigate to our [Contribution Proposal Confluence page](https://confluence.cms.gov/spaces/HCDSG/pages/984161621/Contribution+Proposals), scroll down, and click “Add Proposal.” **Note:** You will need specific permissions to access CMS Confluence.
48+
49+
Once you’ve done this, you’ll be prompted to answer the following questions:
50+
51+
1. Have you verified that this component, pattern, or layout does not already exist in the CMS Design System?
52+
2. What local need does your proposed component, pattern, or layout solve?
53+
3. Are there any related or similar components, patterns, or layouts currently in the CMS Design System?
54+
4. Do any other teams use this pattern or component?
55+
5. Does this component, pattern, or layout exist in the USWDS?
56+
6. Are there any other reasons why this component, pattern, or layout would be a good addition to the CMS Design System?
57+
7. How urgent is this contribution for your team?
58+
- **High:** Blocking current work or tied to a PI objective (**see “Note on urgency” below**)
59+
- **Medium:** Workaround exists but adds friction or inconsistency
60+
- **Low:** Not blocking; would improve experience or efficiency later
61+
62+
<Alert heading="Note on urgency" variation="warn">
63+
Contribution proposals should generally be submitted after something is in production, so it should be rare that a proposal is high urgency.
64+
</Alert>

0 commit comments

Comments
 (0)