Skip to main content

Contributing

Everything you need to know about contributing to our design system and how you can help us.

Introduction

A design system can only achieve its maximum potential when there's input from everyone involved in using it, whatever your team or pillar. We encourage you to contribute, no matter your position or knowledge of the system.

Teamwork makes the dream work!

Ways to contribute

We're always on the lookout for new contributions and will be happy to discuss them with you if you decide to get involved. However, new feature requests and changes to existing components or foundations will need to be discussed with the PIE team before they are accepted and work is carried out.

Suggest a design change

If you identify an area of improvement within our foundations or components, let us know and we will determine what the best way to address it might be. You can suggest these changes or concerns through our #help-designsystem Slack channel.

If the change is accepted and work is carried out, we’ll keep you informed about our progress and will make sure to check in with you regularly until your request is resolved.

Below you can find the process we’ll follow to implement your suggested design changes and improvements.

Propose new components or documentation

Before creating a new component or piece of documentation, please make sure there isn’t already a solution that would fit your needs. If you are unsure about this, please get in touch with us so we can help you figure out what the best way forward might be.

We have a Partnership process in place to determine whether a new component needs to be created. Please make sure you read it and follow the steps outlined when proposing a new component.

Volunteer to work with us

If you have a particular interest in design systems or would like to help us out with the design, development or documentation of PIE, you can reach out to us at any time to become a new PIE advocate.

We’re always happy to hear about new ideas and opinions on how to improve our system, and will welcome any feedback, suggestions or support from you.

If you decide to get involved, we’ll help you determine how to get started and the steps we’ll need to take in order to complete our collaboration.


Design checklist

To ensure consistency and maintain high product quality, we’ve put together a checklist of things to keep in mind when proposing new components.

Design for scalability and flexibility

Ensure the component is responsive, flexible and future-proof. Think about all the places it might be used - when, why and how - and design your new component accordingly.


Use our Foundation libraries

Make sure you use styles from our Foundation libraries when using colour, typography, spacing, etc. Ensuring brand alignment is key to preserving a high quality and consistent experience.


Use appropriate naming and supporting information

Assign it a name that is descriptive and identifiable, and add a component description in Figma. This will ensure your new component is easily discoverable and usable.


Define variants and interactive states

Outline all options for the component to ensure all use cases are covered. This will enhance the consistency of the component and set a standard for its use within products.


Write documentation

Define usage guidelines, document best practices, warn of common mistakes and describe how to correctly use the component in designs. This will help others understand how to use your new component.