Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/contentful/forma-36
A design system by Contentful
https://github.com/contentful/forma-36
contentful-ui design-system monorepo react react-components
Last synced: 29 days ago
JSON representation
A design system by Contentful
- Host: GitHub
- URL: https://github.com/contentful/forma-36
- Owner: contentful
- License: mit
- Created: 2018-10-19T13:00:05.000Z (about 6 years ago)
- Default Branch: main
- Last Pushed: 2024-10-04T13:56:16.000Z (about 1 month ago)
- Last Synced: 2024-10-04T14:27:20.308Z (about 1 month ago)
- Topics: contentful-ui, design-system, monorepo, react, react-components
- Language: TypeScript
- Homepage: https://f36.contentful.com
- Size: 63.5 MB
- Stars: 333
- Watchers: 62
- Forks: 81
- Open Issues: 34
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE.md
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
README
Forma 36 - The Contentful Design System[![Contentful](https://circleci.com/gh/contentful/forma-36.svg?style=shield)](https://circleci.com/gh/contentful/forma-36)
[![All Contributors](https://img.shields.io/github/all-contributors/contentful/forma-36/main)](#contributors-)[Forma 36](https://f36.contentful.com/) is an open-source design system by [Contentful](https://www.contentful.com) 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
- [Table of contents](#table-of-contents)
- [Creating new packages](#creating-new-packages)
- [Development](#development)
- [Storybook for f36-components](#storybook-for-f36-components)
- [Commits & releases](#commits--releases)
- [Testing with your own project locally](#testing-with-your-own-project-locally)
- [Get involved](#get-involved)
- [Reach out to us](#reach-out-to-us)
- [You found a bug or want to propose a feature?](#you-found-a-bug-or-want-to-propose-a-feature)
- [License](#license)
- [Code of Conduct](#code-of-conduct)
- [Contributors β¨](#contributors-)### Creating new packages
We use [Plop](https://plopjs.com/) to create scripts that help you to scaffold new packages. In the root of the repo, you can run `npm run-script 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. Read more about [contribution to Forma 36](https://f36.contentful.com/introduction/contributing).
## Development
For local development, in the root of the repo run `npm i` to install all dependencies and then `npm run-script 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](#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 f36-components
We use storybook with our react component library to develop components. You can start it from the root of the repo, just run `npm run-script storybook` after building.
## Commits & releases
Use `npm run-script commit`. This uses the [Commitzen](https://github.com/commitizen/cz-cli) CLI to create a conventional commit message based on your changes. CI is setup to release all new commits on the main branch that contains a new [changeset](https://github.com/changesets/changesets).
Read more about changeset [here](RELEASES.md)
## 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 `npm run-script build` in the desired package's directory to ensure your latest changes have been built
2. Run `npm link` in the desired package's directory
3. Change to your local project's directory and run `npm link NAME_OF_PACKAGE` to link to the local version of the package (e.g. `npm link @contentful/f36-components`)## Get involved
[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?maxAge=31557600)](http://makeapullrequest.com)
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 Discord](https://www.contentful.com/discord/).
### You found a bug or want to propose a feature?
Create an issue using one of the templates [![File an issue](https://img.shields.io/badge/-Create%20Issue-6cc644.svg?logo=github&maxAge=31557600)](https://github.com/contentful/forma-36/issues/new/choose).
Make sure to remove any credential from your code before sharing it.## License
This repository is published under the [MIT](LICENSE.md) 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](https://github.com/contentful-developer-relations/community-code-of-conduct).
## Contributors β¨
Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/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
π
Kathrin Holzmann
π» π§
Bohdan Hutsol
π» π§
Gary Hepting
π π»
Rowadz
π»
Maxim Cheremisin
π»
benomatis
π
Wake1st
π»
Ridwan Ajanaku
π
RΓ©my Lenoir
π§ π» π
Wojciech Maj
π π»
Lillian Bitner
π§ π» π
Lisa White
π§ π» π
Eddie Chung
π§ π» π
Marouen Ben Salem
π» π π
Kudakwashe Mupeni
π»
Marta SierosΕawska
π»
MayaGillilan
π»
Stephan Leece
π» π§
Chris Helgert
π» π
This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!