How to contribute

You can contribute to the HDS in many ways. Before you start contributing to HDS, read the following guide so we can make the most out of your contribution.

Ways to contribute to HDS:

  • Discuss HDS in Slack channel #designsystem (Only for City of Helsinki staff)
  • Attend HDS demo events to get to know new features and ask questions, contact for invite
  • Contact HDS team to see how we can help and collaborate
  • Propose a new component, pattern, or update to the documentation
  • Give feedback and report bugs
  • Send a pull request

Update documentation

Contact HDS team or send in a pull request.

Propose a new pattern

Take a look at existing patterns and contact HDS team. You can also send in a pull request.

New components

Note that every component added to HDS requires these three parts:

  1. Design
  2. Documentation
  3. Code

You may contribute in any part of these but all three parts have to be implemented and validated by HDS team before a component can be released. More detailed guide for developers can be found in the HDS Github repository.

HDS team response time
The process of adding component to HDS can take a while. New feature request and proposed designs are first evaluated and prioritised on HDS roadmap. If the need for a feature is urgent, discuss this with HDS team.

Tools needed

Depending on the feature you want to be working on, you will need access to at least some of these tools:

Contribution process

When faced with a need for a component or feature, you can ask yourself a few simple questions to decide whether you should propose a new component or feature to be added in HDS, or design a custom implementation:

How to contribute to Helsinki Design System

1. Find out does it already exist?

Before you start working or proposing a new component, it is important to check whether it already exists in HDS or in our roadmap.

  1. Check if it exists in HDS components.
  2. Check if it exists on HDS roadmap.
  3. Check if someone else has already started working on a similar issue.

2. If not, find out how easily could a existing component be altered to fulfill new requirements?

Go through the list of existing HDS components. See if some of the components could be slightly altered to suit your needs while still fulfilling existing requirements. If yes, move on to making a proposal for the change.

3. If not, find out if is this component something that is needed in several projects?

Think outside of the scope of your project. Can this component be utilized in other projects as well? If not, could you make it something more generic to match the needs of other projects? Discuss with other projects and the community.