Skip to content

shaal/forma-36

Β 
Β 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Open in Gitpod

Forma 36 - The Contentful Design System

Contentful All Contributors lerna

Forma 36 is an open-source design system by Contentful created with the intent to reduce the overhead of creating UI by providing tools and guidance for digital teams building and extending Contentful products

Table of contents

Packages

Forma 36 is a monorepo structured into different packages and maintained using Lerna. The packages available are:

  • forma-36-website This package includes the design system documentation which offers guidelines, best practices and examples.

  • forma-36-react-components A React component library built with Storybook.

  • forma-36-fcss CSS utility classes for spacing, typography, colors and transitions.

  • forma-36-tokens This package includes all the visual tokens (e.g. colors, margins, font sizes, etc) that used in the react library

Creating new packages

We use use Plop to create scripts that help you to scaffold new packages. In the root of the repo, you can run yarn generate. Then follow the steps in the CLI. Plop will generate the relevant files and add the relevant imports and exports to the main src/index.ts file required to make the component available when publishing the library.

Development

For local development, in the root of the repo run yarn to install all dependencies and then yarn build to build all packages. Now follow the instructions of the specific package you’re working on. You will find each package’s instructions in their README files, check the Packages section for a list of all packages.

In case you are having problems to install the dependencies, try using NVM to get the same node version we use by running nvm use in the root of the repo

Storybook for forma-36-react-components

We use storybook with our react component library to develop components. You can start it from the root of the repo, just run yarn storybook

Commits & releases

Use yarn commit. This uses the Commitzen CLI to create a conventional commit message based on your changes. CI is setup to release all new commits on the master branch.

Testing with your own project locally

You can test changes to a package of this monorepo in your own project locally by taking the following steps:

  1. Run yarn build in the desired package's directory to ensure your latest changes have been built
  2. Run yarn link in the desired package's directory
  3. Change to your local project's directory and run yarn link NAME_OF_PACKAGE to link to the local version of the package (e.g. yarn link @contentful/forma-36-react-components)

Get involved

PRs Welcome

We appreciate any help on our repositories. For more details about how to contribute to a package, see the README of the corresponding package.

Reach out to us

You can reach out to us using the Contentful community Slack. We've setup a channel #forma36 in which we announce latest changes and updates.

You found a bug or want to propose a feature?

Create an issue using one of the templates File an issue. Make sure to remove any credential from your code before sharing it.

License

This repository is published under the MIT license.

Code of Conduct

We want to provide a safe, inclusive, welcoming, and harassment-free space and experience for all participants, regardless of gender identity and expression, sexual orientation, disability, physical appearance, socioeconomic status, body size, ethnicity, nationality, level of experience, age, religion (or lack thereof), or other identity markers.

Read our full Code of Conduct.

Contributors ✨

Thanks goes to these wonderful people (emoji key):


Mike Mitchell

πŸ’» 🚧

Johannes Bugiel

πŸ’» 🚧

Gui Santos

πŸ’» 🚧 πŸ“–

Moe Shaaban

πŸ’» 🚧 πŸ“–

Patrycja RadaczyΕ„ska

πŸ’» 🚧 πŸ“–

Dominik Markuőić

🎨 πŸ“–

Kristoffer

πŸ’» 🚧

Alexander Suevalov

πŸ’» 🚧

Gracegross

🎨

Miretxu

πŸ’»

Tanya Bessonova

πŸ’»

John Whiles

πŸ’»

Guilherme Barbosa

πŸ’»

Marco Link

πŸ’»

David Fateh

πŸ’»

Bruce Felt

πŸ’»

Daniel Vasylenko

πŸ’»

kdamball

πŸ’»

MarkusLaut

πŸ’»

Andreas HΓΆrnicke

πŸ’»

ChidinmaOrajiaku

πŸ’»

Andi PΓ€tzold

πŸ’» πŸ›

Wiktoria Dalach

πŸ’»

Joshua Smock

πŸ’»

Yiotis Kaltsikis

πŸ’»

Azer Koçulu

πŸ’»

taye

πŸ’»

dannyiacono

πŸ’»

Grant Sauer

πŸ’»

JoΓ£o Ramos

πŸ’»

Ante Sepic

πŸ’» πŸ›

Blair Rampling

πŸ’»

Daniel A. R. Werner

πŸ’»

Sergii Bezliudnyi

πŸ’»

Manuel Spagnolo

πŸ’»

Mohamed Turki

πŸ’»

Ahmed T. Ali

πŸ’»

Bruno Russi Lautenschlager

πŸ’»

Chris Towler

πŸ’» πŸ›

Christoph Grabo

πŸ’»

Colton Colcleasure

πŸ’»

Connor BΓ€r

πŸ’»

Danil Zakablukovskii

πŸ’»

Dominic Bonnice

πŸ’»

Khaled Garbaya

πŸ’»

Stefan Judis

πŸ’»

Thomas Jaggi

πŸ’»

Turcan Vladimir

πŸ’»

V. Milone

πŸ’»

Aris Plakias

πŸ’»

Kam Figy

πŸ›

Peter Wielander

πŸ’» πŸ›

Felix Boenke

πŸ›

damienxy

πŸ’» πŸ›

Nika Zawila

πŸ’» 🚧 πŸ“–

Sarah

πŸ“–

th1nkgr33n

πŸ›

Thomas Kellermeier

πŸ› πŸ’»

Ikko Ashimine

πŸ“–

Anil Kumar krishanshetty

πŸ’» πŸ“–

Renato Massao Yonamine

πŸ’»

Charlie Chrisman

πŸ›

Jan van den Berg

πŸ’»

SirGavin

πŸ›

This project follows the all-contributors specification. Contributions of any kind welcome!

About

A design system by Contentful

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • TypeScript 80.5%
  • CSS 9.4%
  • JavaScript 9.2%
  • SCSS 0.6%
  • Handlebars 0.3%
  • Shell 0.0%