Skip to content

Contribute

A design system is never complete and functions as a living resource of components, assets and documentation. A good design system best serves its users by growing and evolving to meet those users needs while helping to guide the production of cohesive experiences. We've attempted to codify a majority of the design patterns that form our portfolio of digital products for both nib and it's partners. Although, we understand there will always be a new scenario to be considered or a pattern yet to emerge—we encourage you to collaborate with us and contribute your thinking and to share your needs. We hope the following contribution guidelines are helpful and provide a clear path forward to working together.

Report an issue

If you've discovered a bug in our code or have found something that doesn't seem quite right, we encourage you to report an issue on GitHub. Alternatively, you can reach us on Slack, Workplace or by email.

Components

Regular users of a component library often face two concerns; the first is a need to update an existing component and the second is a requirement for a new component (one that does not yet exist in the library). Following are our preferred channels of communication for both of these scenarios:

Update an existing component

To request an update or change, please submit a component change request on GitHub.

Keep in mind that any change to an existing component should benefit all users of the component. If the change you require is unique to the experience you are producing there may be an alternative solution. If you are uncertain, please reach out to us on Slack, Workplace or by email to discuss your needs.

New components

Have you identified a new pattern in use and are keen to create a new component? Nice one! We normally like to have quick conversation first to understand your thinking and requirements. We highly recommend also providing any mockups (they can be rough) and design thinking you have. It's best to first contact us on Slack, Workplace or by email. to discuss your needs.

To help the conversation, here's a short list of considerations:

Sketch library

The Mesh Sketch library is generated directly from our React components. This means we do not maintain a seperate Sketch library that's updated independently of our React component library. Mesh React components are the source of truth. Please be mindful that any improvements you make to the Sketch library will not automatically make their way back to the Mesh design system. For any improvements or suggestions you may have, we encourage you to provide that feedback to us either by Slack, Workplace or by email.

Iconography

We have two types of icons; system and graphic. Both have an available searchable library that can be viewed on the system icons page and the graphic icons page. For information on how to contribute to our iconography, please visit our iconography page on Confluence (sorry internal nib users only).

Documentation

Have you found an error in the Mesh documentation? or you might have an update that would be helpful for other users? Most of our components and other areas within Mesh have an Edit this page link conveniently located at the bottom of the page. This link will take you to a GitHub page (so you'll need a GitHub account) where you'll be able to submit your update.