This is the monorepo for the Forma 36 design system by Contentful.
- Packages
- Adding packages
- Font Usage
- Commiting changes & releasing a new version
- Get Involved
- Reach out to us
- License
- Code of conduct
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
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}
Forma 36 was designed to use ‘Avenir Next’ as primary font family. If a package is used in the context of app.contentful.com (e.g UI extensions) this font will be provided. We encourage licensing ‘Avenir Next’ when a package is used outside of Contentful related use cases.
About alpha versions: Forma 36 is currently in alpha. Please use the keyword alpha
in the version number when using lerna publish
.
? Select a new version for @contentful/forma-36-react-components (currently 1.0.2-alpha.0)
Patch (1.0.2)
Minor (1.1.0)
Major (2.0.0)
❯ Prepatch (1.0.3-alpha.0)
Preminor (1.1.0-alpha.0)
Premajor (2.0.0-alpha.0)
Custom Prerelease
Custom Version
About non alpha releases: Use yarn commit
. This uses the Commitzen CLI to create a semantic commit message based on your changes. CI will publish to NPM using yarn semantic-release
.
NOTE: It is important that every new package includes semantic-release and semantic-release-monorepo in the dev-dependency list so that semantic release will work from the root of the monorepo.
We appreciate any help on our repositories. For more details about how to contribute to a package, see the README of the corresponding package.
- File an issue here on GitHub:
. Make sure to remove any credential from your code before sharing it.
This repository is published under the MIT license.
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.