Ways to contribute
If something is not in the design system, it's a good idea to discuss it in the #hackit-design-system channel on Slack, and check our open issues. Others might already be working on it.
#
Adding new componentsComponents are small, reusable pieces of a user interface. In atomic design, these are called atoms or molecules.
Good components are generic enough that they can be used to meet many different user needs. For example, a well thought out button might be equally at home on a staff case management app as on a contact form.
You can suggest new components by opening an issue on Github.
#
Adding new patternsPatterns are several components composed together. In atomic design, these are called organisms.
Unlike components, they might only be intended to solve one or a small number of user needs. Some patterns might only be relevant to a particular user group, like council officers.
Before you suggest a new pattern, consider whether it can be made using only the components that already exist in the design system. If it can't, you should suggest those components at the same time.
You can suggest new patterns by opening an issue on Github.
#
Improving documentationWe welcome changes that only affect the documentation (what you're reading right now).
For small changes, like fixing typos or using simpler language, click the Edit this page link at the bottom of any page.
You'll be able to suggest changes and save them in a GitHub pull request. You'll need a free GitHub account for this—you don't need any special permissions.
For larger changes, consider opening a Github issue first.