Skip to main content
LocalTapiola Turva

Contributing #

We gratefully accept contributions to Duet, but expect new feature requests and changes to be discussed with Duet Design System team before creating a pull request.

To contribute, you need access to some or all of the following tools:

Tool

Duet Git Repository

Tool

Duet Slack

Tool

Abstract for Sketch

Tool

Zeplin


Adding components #

Before creating a new component, please make sure something similar doesn’t already exist. We follow the below defined process to determine if we should extend an existing component, create a new component, or keep the component application specific instead.

Process for adding new components to Duet

Dev setup #

Duet Design System is divided into multiple NPM packages. Development for all of the packages happens inside one mono repository. Follow the below steps to get the dev environment up and running.


Building components #


Testing #

All Duet’s packages come with test suites that can be run with npm run test inside each package directory. These tests also run automatically on our CI server whenever there’re changes to master or a new pull request is opened.


Visual regression tests #

Running npm run test in /packages/components/ creates compare.html under /packages/components/screenshot/. Opening this generated HTML file in a browser gives you a screenshot compare tool that highlights any issues there might be compared to the previous build:

Process for adding new components to Duet

The first screenshot on the left is the original state, the one in the middle is the new changed state, and the third screenshot on the right highlights the difference and breaking changes.


Code style guide #

When working on new components or editing existing ones, make sure to follow our code style guide found under the guidelines section.


Naming #

With every piece of content we name, we aim to follow these simple rules documented under the guidelines section.


Git pull requests #

If you have a specific bug fix or contribution in mind, you can generate a pull request in the Duet Git repository. When naming your branch, please follow the below naming convention:


Filing an issue #

First, make sure the problem is reproducible. Once confirmed, open an issue. We’re currently using Trello to track the backlog and bugs, but planning on moving over to Azure DevOps. For new issues and bug reports, please click here to create an issue.