Forma 36 - The Contentful Design System
This is the monorepo for the Forma 36 design system by Contentful.
- Packages
- Adding packages
- Development
- Commits & releases
- Testing changes locally
- Get Involved
- Reach out to us
- License
- Code of conduct
Packages
Forma 36 is a monorepo maintained using Lerna. Get started with Lerna by following this link: https://github.com/lerna/lerna
The monorepo is currently structured into the following packages:
forma-36-website
- This package includes the design system documentation which offers guidelines, best practices and examples. See the README here
forma-36-react-components
- A React component library built with Storybook. See the README here
forma-36-fcss
- CSS utility classes for spacing, typography, colors and transitions. See the README here
forma-36-tokens
- Forma 36 design tokens. See the README here
Adding packages
To add another package create a new directory in the packages folder. Make sure that the package name is prefixed with forma-36 (e.g. forma-36-css-utilities). Since we are using Lerna all package scripts are available from the root by running lerna run {script_name}
Development
For local development run yarn
from the root of this repo to install all dependencies and build all packages.
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 changes locally
You can test changes to a package of this monorepo in your own project locally by taking the following steps:
- Run
yarn build
in the desired package's directory to ensure your latest changes have been built - Run
yarn link
in the desired package's directory - 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
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.
Maintainers
You found a bug or want to propose a feature?
- File an issue here on GitHub: . 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.