Forma 36 is an open-source design system by Contentful and we welcome contributions from our community. If you have an idea that could help other users, a new solution, fix to existing components, or a new component, on this page we will teach you how to transform those ideas into contributions.
Before contributing
Check if your idea is already present
Before writing a proposal or any code, we ask you to go around this website or our Github repo and check if your idea is not yet implemented. It’s also a good idea to take a look at the current open proposals in GitHub, maybe there is something similar to your idea there and you could work together with that proposer.
Could an existing component be extended to realize your idea?
During your research, did you find a component that almost does what you have in mind? If yes, consider proposing an update or refactor of this component. This could be a new variation or adding a new property to the component.
Contribution Process
Now that you checked the library and you know that you want to create a new component or extend an existing one it’s time to go through the contribution process.
Step 1: Open a Github issue
The first step is to open a new issue in Github and choose the correct template. Remember to describe your idea in detail and maybe use images to support it.
Step 2: Proposal Review
Forma 36’s internal team checks the issues in the repo regularly and we will provide you with feedback to all proposals. After some discussion we will approve the proposal and you can work on it. We will help you in anything you need.
It’s a good idea to look into the other components’ code and our Code Style Guide to write your code following our conventions.
Step 3: Open a Pull Request
Once the code is ready, open a Pull Request in our repository. The Pull Request template provides more information on what to include in your request.
Step 4: Code & Design Review
We will review both the code and the design changes (if you have any). During this step we just want to make sure the solution is maintainable and scalable enough.
Step 5: Merge the changes to the main branch
After the Pull Request is approved, you can merge the code to the main branch and it will automatically publish a new version of Forma 36 with your changes.
Bugs & Light contributions
Sometimes it’s possible to skip steps 1 and 2 of the contribution process. This is the case for bugs, if you find something that is broken you can open directly a Pull Request with the fix. This is also true for what we call "light" contributions. They are visual defects, small visual changes, or adding documentation.