• Stars
    star
    315
  • Rank 132,951 (Top 3 %)
  • Language
    TypeScript
  • License
    Other
  • Created almost 8 years ago
  • Updated about 2 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Open source design and front-end development resources for creating Section 508 compliant, responsive, and consistent websites.

CMS Design System

The design system is a set of open source design and front-end development resources for creating Section 508 compliant, responsive, and consistent websites. It builds on the U.S. Web Design System and extends it to support additional CSS and React components, utility classes, and a grid framework to allow teams to quickly prototype and build accessible, responsive, production-ready websites.

Contents

Packages

You're currently at the root of a monorepo containing multiple NPM packages located in the packages directory. View the README.md in each of these for additional details.

Name Description
CMS Design System The core CSS, JS, and React components for the design system.
@cmsgov/design-system
Healthcare.gov Design System Design system used by application teams at healthcare.gov
npm
Medicare.gov Design System Design system used by application teams at medicare.gov
npm
CMSDS Documentation Gatsby based CMSDS Documentation site.

Running locally

This project uses Yarn for package management. Yarn helps to ensure everyone is using the same package versions. Install Yarn, if you don't have it yet.

Note: When you create a Git commit, any staged scripts will be automatically ran through ESLint and Prettier. If the linter catches an error, your commit will fail. This is a feature, not a bug :)

Scripts

These scripts can all be run from the root level of the repo:

  • yarn install

    • This will also run Lerna bootstrap which allows us to have multiple packages within the same repo (a monorepo). Lerna installs all our dependencies and symlinks any cross-dependencies.
  • yarn build

    • Compile/transpile/uglify everything and makes things release-ready.
    • yarn build:healthcare to build the Healthcare.gov Design System
    • yarn build:medicare to build the Medicare.gov Design System
  • yarn build:storybook:docs && yarn build:docs

    • Builds the docs site statically
  • yarn start

    • Starts local server running the documentation site
    • Regenerates documentation when files change
    • Before running start run the build command
  • yarn storybook

    • Starts storybook for easier local development for the core package
    • yarn storybook:healthcare starts storybook for healthcare stories & styles
    • yarn storybook:medicare starts storybook for medicare stories & styles
  • yarn test

    • Runs JS unit tests
    • Runs a11y accessibility tests against core storybook stories
  • yarn test:unit

    • Runs JS unit tests for all packages
    • yarn test:unit:update updates Jest snapshots
  • yarn test:a11y

    • Runs accessibility tests for design-system package only
    • yarn test:a11y:healthcare to run the Healthcare.gov Design System's accessibility tests
    • yarn test:a11y:medicare to run the Medicare.gov Design System's accessibility tests
  • yarn test:browser

    • Runs visual regression tests using Playwright. See Visual regression testing section below for details.
    • Note that you need to build Storybook statically (yarn build:storybook) before you can run the tests
    • yarn test:browser:update updates reference screenshots used for visual regression testing. Update these only when we expect the visual changes
    • yarn test:browser --project <name> runs only one of the named projects found in playwright.config.ts
  • yarn lint

    • Runs just the linting portion of the tests, eslint and stylelint
  • yarn deploy-demo

    • Builds the doc site locally and deploys it to a branch-specific path on GitHub Pages. The terminal will display the URL where the demo was deployed to after it is done running.
  • yarn release

  • yarn release:bump

    • Bumps package versions in a branch off of main and creates a pr for these bumps using gh. Read our release guide on Confluence for more info.

Visual regression testing

We use Playwright to test our components for visual regressions. It uses our existing Storybook stories, taking screenshots of them within a docker container and comparing those screenshots with ones previously taken and committed to version control. The tests assume that Storybook has been built to ./storybook-static using yarn build:storybook.

Running the browser tests locally requires that you be signed into Docker or have playwright installed locally.

If using Docker:

  1. Open the Docker app, and make sure you're signed in (Docker Desktop requires a license now)
  2. Run yarn test:browser to begin comparing component images
    1. If differences are detected and unexpected, evaluate your changes - we only want to update and commit references when we expect the visual changes detected
    2. If differences are detected and expected, run yarn test:browser:update

If running Locally:

  1. If you have run npx playwright install and installed the playwright dependencies locally you can run the tests using their yarn commands directly.
  2. For example, to run the CMSDS VRT Tests for inteaction states: yarn playwright test --config tests/browser/interaction.config.ts
  3. The -u flag can be added to the yarn playwright test command to update snapshots.

Design Assets

The CMS Design System provides a Sketch file and Sketch Library containing components, styles, and symbols. These are regularly updated alongside our code, and updates are automatically synced for designers using the Sketch Library.

Read more on using Sketch with the CMS Design System

Examples

Examples of the design system in use can be found in the examples directory.

Contributing

Please read the CONTRIBUTING.md document to learn about contributing to the design system, and our coding guidelines.

Contact

To get in touch with the CMS Design System team, please visit design.cms.gov/contact for a list of ways to contact us.

One of our goals is to ensure a welcoming environment for all contributors. Please take a look at our Code of Conduct to learn more.

More Repositories

1

price-transparency-guide

The technical implementation guide for the tri-departmental price transparency rule.
Ruby
295
star
2

qpp-measures-data

QPP Measures Data
JavaScript
81
star
3

hospital-price-transparency

61
star
4

beneficiary-fhir-data

Java
59
star
5

HealthCare.gov-Styleguide

CMS Developer Site
CSS
56
star
6

eAPD

CMS (Centers for Medicare and Medicaid Services) eAPD - Modernizing the APD experience
JavaScript
52
star
7

bcda-app

Beneficiary Claims Data API
PLpgSQL
45
star
8

dpc-app

Data @ the point of care application
Java
40
star
9

QHP-provider-formulary-APIs

HTML
38
star
10

qpp-conversion-tool

Conversion tool for QPP, particularly focused on QRDA3 -> QPP, built by Flexion.
Java
34
star
11

bluebutton-web-server

Blue Button API
Python
34
star
12

price-transparency-guide-validator

Validation tool to check output files required by the price-transparency-guide
TypeScript
29
star
13

bluebutton-data-server

Deprecated. Migrated into monorepo: https://github.com/CMSgov/beneficiary-fhir-data
Java
23
star
14

ars-machine-readable

Publish a machine readable version of the ARS standards to facilitate compliance as code efforts.
XSLT
22
star
15

easi-app

EASi App
TypeScript
19
star
16

macpro-quickstart-serverless

JavaScript
16
star
17

T-MSIS-Data-Quality-Measures-Generation-Code

Python
16
star
18

qpp-claims-to-quality-public

Source Code for Calculating QPP/MIPS Quality Measures from Medicare Claims Data
Python
15
star
19

BenefitAssist

Benefit Assist
JavaScript
14
star
20

hpt-tool

Validator tool for CMS Hospital Price Transparency machine-readable files
JavaScript
14
star
21

SMA-Endpoint-Directory

13
star
22

ato-blueprint

Python
12
star
23

cmcs-eregulations

Web application for viewing Medicaid and CHIP regulations and related policy information
JavaScript
11
star
24

bluebutton-web-deployment

Ansible Configuration and Playbooks
Python
10
star
25

CMCS-DSG-DSS-Certification

This is the PROD repo. Commits made to the main branch of the staging repo (https://github.com/CMSgov/CMCS-DSG-DSS-Certification-Staging) will be automatically merged in and deployed here. Please open Issues and Pull Requests in the Staging repo instead.
JavaScript
10
star
26

CMCS-DSG-DSS-Certification-Staging

(This is the STAGING repo.) Welcome to the MES Certification Repository, a collaborative community for CMS, states, and vendors. For more information about the repository, and how to use it, take a look at the ReadMe section.
JavaScript
10
star
27

mcbs-chartbook

SAS
10
star
28

macpro-ux-lib

Common React UX library packaged for easier distribution throughout CMS
JavaScript
9
star
29

redhat-enterprise-linux-8-stig-baseline

Ruby
8
star
30

hcgov-design-system

Archived. This repository has been moved to https://github.com/CMSgov/design-system/tree/master/packages/ds-healthcare-gov
JavaScript
8
star
31

T-MSIS-Analytic-File-Generation-Code

SAS
8
star
32

saf

Landing page for CMS Security Automation Framework.
Vue
7
star
33

CMS-GoogleMaps-Socrata-Integration

Google Maps and Socrata Integration (originally developed for innovation.cms.gov)
JavaScript
7
star
34

bcda-static-site

Informational site for BCDA
HTML
7
star
35

qpp-submissions-docs

Developer documentation for building against the QPP Submissions API
TypeScript
7
star
36

bcda-ssas-app

SSAS component of BCDA application
Go
7
star
37

bluebutton-site-static

CMS Blue Button API website and developer docs
HTML
6
star
38

ab2d

Claims Data to Part D Sponsors API
Java
6
star
39

dpc-static-site

HTML
6
star
40

bluebutton-sample-client-django

A Blue Button Sample Client in Django
CSS
6
star
41

cms-bb2-python-sdk

Python
6
star
42

bluebutton-data-model

Deprecated. Migrated into monorepo: https://github.com/CMSgov/beneficiary-fhir-data
Java
6
star
43

github-actions-runner-aws

This repository will house infrastructure related to standing up an internally hosted GitHub Actions Runner within an AWS environment
HCL
6
star
44

drive2gource

Generate a Gource (https://gource.io) visualization from the history of a Google Drive folder.
JavaScript
6
star
45

bluebutton-data-pipeline

Deprecated. Migrated into monorepo: https://github.com/CMSgov/beneficiary-fhir-data
Java
5
star
46

cms-open-source-policy

CMS' Open Source Policy
5
star
47

hpt-validator-cli

CLI for validating CMS Hospital Price Transparency machine-readable files
TypeScript
5
star
48

qpp-submissions-schema

QPP Submissions Schema
JavaScript
4
star
49

managed-care-review

TypeScript
4
star
50

bluebutton-sample-client-nodejs

JavaScript
4
star
51

bluebutton-developer-help

Blue Button API Docs
CSS
4
star
52

onemac

An official submission system for email-based state plan amendments (SPAs) and section 1915 waivers.
JavaScript
4
star
53

hpt-validator

Validation library for CMS Hospital Price Transparency machine-readable files
TypeScript
4
star
54

qpp-eu-data

This repository publishes the county-zipcode crosswalk data used for determining the providers eligible Extreme And Uncontrollable Circumstances Hardship.
Python
4
star
55

bluebutton-csv-codesets

Deprecated. Migrated into monorepo: https://github.com/CMSgov/beneficiary-fhir-data
Python
4
star
56

bluebutton-sample-client-python-react

TypeScript
4
star
57

ab2d-contracts

Java
3
star
58

mdct-mcr

MCR is the CMS MDCT reporting application for collecting state-reported data related to Medicaid Managed Care program reports, including MCPAR, MLR, and NAAAR.
TypeScript
3
star
59

mint-app

MINT App
TypeScript
3
star
60

cms-ars-3.1-moderate-red-hat-enterprise-linux-7-stig-overlay

Ruby
3
star
61

blueprint_ui

To host the Front-end for Rapid ATO's Blueprint
JavaScript
3
star
62

beneficiary-reporting-api-client-examples

Python
3
star
63

macpro-quickstart

HCL
3
star
64

cms-ars-3.1-moderate-aws-foundations-cis-overlay

Ruby
3
star
65

blueprint_api

To host the Django/API for Rapid ATO's Blueprint
Python
3
star
66

CMCS-DSG-DSS-Oversight

This repo supports the Division of State Systems ongoing oversight projects.
3
star
67

bluebutton-sample-client-angular

Sample Angular Client
TypeScript
3
star
68

security-hub-collector

Repo for security hub findings collector tool
Go
3
star
69

cms-ars-3.1-manual-controls-baseline

InSpec profile baseline to automate manual controls of CMS ARS 3.1, validating any/all of its 489 security controls.
Ruby
3
star
70

bluebutton-sample-client-rails

Sample Rails Client
Ruby
3
star
71

ab2d-pdp-documentation

AB2D API documentation for PDPs
3
star
72

bluebutton-sample-client-spring-boot

Sample Spring Boot Client
Java
3
star
73

mgov-design-system

The Medicare.gov Design System contains shared design and front-end development resources for Medicare.gov applications, and is built on top of the CMS Design System.
TypeScript
3
star
74

ab2d-sample-client-powershell

PowerShell
3
star
75

qpp-file-upload-api-client

A set of functions to call the QPP Submissions API in common manner, such as for the file upload use case.
JavaScript
3
star
76

eqrs-design-system

The EQRS Design System shows the patterns and components that make up the EQRS application. These patterns and components provide a unified language and consistent look and feel when designing applications within the our ecosystem.
TypeScript
3
star
77

k8s-cluster-stig-baseline

Ruby
2
star
78

cms-ars-5.0-red-hat-enterprise-linux-8-stig-overlay

Ruby
2
star
79

security-hub-monitor

HTML
2
star
80

terraform-aws-jenkins

HCL
2
star
81

rato-website

Rapid ATO website content focused on demystifying security & compliance at CMS.
JavaScript
2
star
82

heimdall-lite.cms.gov

2
star
83

portal-test-user-manager

Go
2
star
84

cms-ars-3.1-moderate-aws-rds-oracle-database-12c-stig-overlay

Ruby
2
star
85

seatool-compare

Code repository
JavaScript
2
star
86

qpp-shared-logger-node

Common QPP logger that is shared across the different teams
TypeScript
2
star
87

bluebutton-ansible-playbooks-data

Deprecated. Migrated into monorepo: https://github.com/CMSgov/beneficiary-fhir-data
HCL
2
star
88

ab2d-sample-client-bash

Shell
2
star
89

CMMI-Health-Equity

2
star
90

macpro-platform-doc-conversion

JavaScript
2
star
91

cms-ars-3.1-moderate-red-hat-enterprise-linux-8-stig-overlay

Ruby
2
star
92

serverless-iam-helper

JavaScript
2
star
93

beneficiary-reporting-validation

TypeScript
2
star
94

cms-ars-3.1-moderate-microsoft-windows-server-2019-stig-overlay

Ruby
2
star
95

cms-ars-3.1-high-rsa-archer-6-security-configuration-guide-overlay

Ruby
2
star
96

serverless-waf-plugin

TypeScript
2
star
97

terraform-aws-cms-ars-saf-ecr

Terraform module for setting up ECR repo and CI/CD flow for creating container from ARS overlay
HCL
2
star
98

cms-oeda-dasg

The policies, procedures, RFCs, and more for the Data and Analytics Strategy Group (DASG) at the Centers for Medicare and Medicaid Services' Office of Enterprise Data and Analytics (OEDA).
HCL
2
star
99

cms-mdct-qmr

This repo contains code for the quality measures reporting (QMR) application
TypeScript
1
star
100

ECTA

1
star