Helsinki Design System
Helsinki Design System
Getting started
Visual assets
Design tokens
Before contributingTools neededContribution processDesignImplementationDocumentationMaking HDS icons

Before contributing

You can contribute content in different ways to HDS. Before you start contributing to HDS, please refer to following guidelines.

Every component in HDS includes three parts:

  1. Design
  2. Implementation
  3. Documentation

You may contribute in any part of these but all three parts have to be implemented and validated by HDS team before a feature can be released.

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.

The easiest way to start contributing to HDS is joining the City of Helsinki Slack channel (#designsystem) and send us a message.

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 quiestions to decide whether you should propose a new component or feature to be added in HDS, or desing a custom a 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 proposed it in GitHub issues.

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 needs of other projects? Discuss with other projects and community.