diff --git a/LICENSE b/LICENSE
new file mode 100644
index 00000000..accb6d33
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,18 @@
+MIT License
+
+Copyright (c) 2021 project44, Inc.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of this software and
+associated documentation files (the "Software"), to deal in the Software without restriction,
+including without limitation the rights to use, copy, modify, merge, publish, distribute,
+sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all copies or substantial
+portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT
+NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES
+OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/README.md b/README.md
index 1bd4959c..e383bd83 100644
--- a/README.md
+++ b/README.md
@@ -1,34 +1,78 @@
-# Manifest Design System
+
+
+
-> Manifesting Project 44 experiences through design.
+Manifest Design System
+> Manifest Design System is the open source implementation of the project44 design language, used to
+> build consistent, accessible and delightful products at project44. While the design language is
+> closed source, the technology is open and contributions are welcomed and encouraged.
+
+
+
+[](https://bundlephobia.com/result?p=@project44-manifest/react@latest)
[](https://github.com/project44/manifest/blob/main/LICENSE)
+[](https://www.npmjs.com/package/@project44-manifest/react)
[](https://github.com/project44/manifest/actions/workflows/ci.yml)
[](https://makeapullrequest.com)
-## Getting Started
+
+
+## Documentation
-For detailed installation and usage guidelines, please see our
+For usage guidelines and full documentation please visit our
[documentation website](https://www.manifestdesignsystem.com).
-| Package | Version |
-| ------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
-| **@project44-manifest/design-tokens** | [](https://www.npmjs.com/package/@project44-manifest/design-tokens) |
-| **@project44-manifest/react** | [](https://www.npmjs.com/package/@project44-manifest/react) |
-| **@project44-manifest/system** | [](https://www.npmjs.com/package/@project44-manifest/system) |
-| **@project44-manifest/theme** | [](https://www.npmjs.com/package/@project44-manifest/theme) |
+## Getting Started
+
+Just getting started? Check out [`@project44-manifest/react`](./packages/react).
-## Documentation
+Need something more specific? You may want to check out these packages:
+
+| Package name | Description |
+| ------------------------------------------- | ---------------------------------------------- |
+| [`design tokens`](./packages/design-tokens) | The design tokens for Manifest Design System. |
+| [`react`](./packages/react) | React components, patterns and styling engine. |
+| [`theme`](./packages/theme) | A theme implementing our design tokens. |
+
+Manifest uses [Turborepo](https://turbo.build/repo) as it's build system, to get started working
+with repo install the dependencies and build the packages:
+
+```sh
+yarn && yarn build
+```
+
+To run a command for a single workspace use the `--filter` tag provided by turbo.
+
+```sh
+yarn turbo run --filter=@project44-manifest/react
+```
+
+Some common commands includes:
+
+| Command | Purpose |
+| ----------------------------------------------------------- | ---------------------------------------------------------- |
+| `yarn turbo run dev --filter=@project44-manifest/storybook` | Starts a development server for the react components. |
+| `yarn turbo run dev --filter=@project44-manifest/doc` | Starts a development server for the documentation website. |
+
+The following commands will run in all packages:
-- [Documentation Website](https://www.manifestdesignsystem.com)
-- [Contributing](./.github/CONTRIBUTING.md)
-- [Code of conduct](./.github/CODE_OF_CONDUCT.md)
+| Command | Purpose |
+| ---------------- | -------------------------------------------------------------------- |
+| `yarn build` | Builds all the packages, tools and apps in the repo. |
+| `yarn clean` | Removes build assets and caches. |
+| `yarn coverage` | Generate test coverage reports for each package. |
+| `yarn dev` | Runs development servers and watch for code changes within packages. |
+| `yarn format` | Check code formatting. |
+| `yarn lint` | Run linting. |
+| `yarn test` | Run unit tests. |
+| `yarn typecheck` | Validate TypeScript types. |
-## 🙌 Contributing
+## Contributing
Contributions are always welcome!! Please review our [Contribution Guide](/.github/CONTRIBUTING.md)
to get started.
## License
-[MIT](/LICENSE)
+Licensed under the [MIT](/LICENSE).
diff --git a/apps/docs/public/images/logo.png b/apps/docs/public/images/logo.png
new file mode 100644
index 00000000..2eb73bde
Binary files /dev/null and b/apps/docs/public/images/logo.png differ
diff --git a/package.json b/package.json
index 27682c51..3174af43 100644
--- a/package.json
+++ b/package.json
@@ -6,6 +6,7 @@
"workspaces": [
"apps/*",
"packages/*",
+ "packages/react-components/*",
"tools/*"
],
"scripts": {
diff --git a/packages/design-tokens/README.md b/packages/design-tokens/README.md
index b12f6243..fb353fe7 100644
--- a/packages/design-tokens/README.md
+++ b/packages/design-tokens/README.md
@@ -3,7 +3,7 @@
Design Tokens for Manifest Design System, project44's design system.
For a full list of tokens, please see the
-[documentation website](https://www.manifestdesignsystem.com)
+[documentation website](https://www.manifestdesignsystem.com/docs/tokens)
## Installation
@@ -30,3 +30,12 @@ import { tokens } from '@project44-manifest/design-tokens';
console.log(tokens.color.palette.blue[50]);
```
+
+## Contributing
+
+Contributions are always welcome!! Please review our [Contribution Guide](/.github/CONTRIBUTING.md)
+to get started.
+
+## License
+
+Licensed under the [MIT](/LICENSE).
diff --git a/packages/react/README.md b/packages/react/README.md
index e69de29b..5cb153d2 100644
--- a/packages/react/README.md
+++ b/packages/react/README.md
@@ -0,0 +1,134 @@
+# @project44-manifest/react
+
+> A react library consisting of components, patterns and a styling engine that implement the design
+> principles of the [Manifest Design System](https://www.manifestdesignsystem.com) by project44.
+
+## Installation
+
+```bash
+yarn add @project44-manifest/react react react-dom
+```
+
+## Usage
+
+The `@project44-manifest/react` library includes everything you need to build experiences leveraging
+the Manifest Design System.
+
+To start using the library start by wrapper you application with the `Provider`.
+
+```tsx
+import { Provider } from '@project44-manifest/react';
+
+function MyApp({ children }) {
+ return {children} ;
+}
+```
+
+This provider will initialize our `SSRProvider`, which ensures that our auto-generated id's are
+consistent between the server and client. It also initializes the `OverlayProvider` that manages
+overlay elements ensuring that they properly hidden from screen readers.
+
+### Font
+
+Manifest Design System was designed using [Inter](https://rsms.me/inter/) as its font. Please be
+sure to include the font type in the of your application's HTML.
+
+```html
+
+```
+
+### Icons
+
+Currently Manifest Design System uses material design icons. Please be sure to include the font type
+in the of your application's HTML.
+
+```html
+
+```
+
+### Accessibility
+
+Manifest is built with accessibility in mind, each component will assign the correct events and aria
+attributes needed to meet the [WAI-ARIA](https://www.w3.org/WAI/ARIA/apg/) guidelines. We rely
+heavily on [react-aria](https://react-spectrum.adobe.com/react-aria/index.html) for provide
+accessible UI primitives.
+
+### Polymorphism
+
+All Manifest components are polymorphic, meaning that each component can be rendered using a
+different element or node using the `as` prop.
+
+```tsx
+import { Button } from '@porject44-manifest/react';
+
+ ;
+```
+
+> This should be used sparingly though, as Manifest automatically appends all the necessary
+> aria-attributes to an element.
+
+### Styling
+
+The `@project44-manifest/react` library ships with a pre-configured styling engine powered by
+[Stitches](https://stitches.dev).
+
+All the components support the `css` prop for overriding styles. It's like the style attribute, but
+it supports tokens, media queries, nesting and token-aware values.
+
+For more information about the `css` prop, check out the Stitches
+[documentation](https://stitches.dev/docs/overriding-styles#the-css-prop).
+
+> Please note that all components have been built to the specification of the Manifest Design
+> System. Therefor overriding component styles should be used sparingly. If you need to control the
+> layout of components we recommend using the layout primitives supplied by Manifest instead of
+> overriding individual component styles.
+
+```tsx
+import { Button } from '@project44-manifest/react';
+
+ ;
+```
+
+> Notice the usage of [theme tokens](https://stitches.dev/docs/tokens) in the above example, it is
+> highly encouraged to use theme tokens vs. hard coded values as this allows all components to
+> inherit any changes made at the theme level. Check out our
+> [theme specification](../theme/README.md) for a complete list of available theme tokens.
+
+### Composing components
+
+If you need to compose your own components utilizing the design system in react we recommend using
+the polymorphic `Box` component. The `Box` component ships with support for the `css` and `as`
+props, allowing you to quickly and easily build custom components that follow Manifest Design
+System.
+
+```tsx
+import { Box } from '@project44-manifest/react';
+
+function MyComponent() {
+ return (
+
+ Hello World
+
+ );
+}
+```
+
+Along with the `Box`, Manifest provides a robust set of layout primitives that can be used to
+control layout and composing components.
+
+These primitives include a `Container`, `Flex`, `Grid`, and `Stack` component.
+
+Please refer the the [documentation website](https://www.manifestdesignsystem.com/docs/components)
+for usage information and best practices.
+
+## Contributing
+
+Contributions are always welcome!! Please review our [Contribution Guide](/.github/CONTRIBUTING.md)
+to get started.
+
+## License
+
+Licensed under the [MIT](/LICENSE).
diff --git a/packages/theme/README.md b/packages/theme/README.md
index e69de29b..ec021e82 100644
--- a/packages/theme/README.md
+++ b/packages/theme/README.md
@@ -0,0 +1,262 @@
+# @project44-manifest/theme
+
+> Themes for apply Manifest Design System design guidelines to JavaScript projects.
+
+## Installation
+
+```bash
+yarn add @project44-manifest/theme
+```
+
+## Getting Started
+
+The `@project44-manifest/theme` library provides a set of themes based on
+[Manifest Design System design tokens](https://www.manifestdesignsystem.com/docs/tokens).
+
+> Currently we only support a light theme, support for additional themes coming soon.
+
+```ts
+import { lightTheme } from '@project44-manifest/theme';
+```
+
+### Theme specification
+
+The theme specification is based on the
+[system-ui theme specification](https://github.com/system-ui/theme-specification) and follow the
+Manifest Design System [design tokens](https://www.manifestdesignsystem.com/docs/tokens) guidelines.
+
+```json
+{
+ "borderWidths": {
+ "large": "",
+ "medium": "",
+ "small": ""
+ },
+ "colors": {
+ "background-danger": "",
+ "background-primary": "",
+ "background-secondary": "",
+ "background-side-nav": "",
+ "background-success": "",
+ "background-surface": "",
+ "background-tertiary": "",
+ "background-top-nav": "",
+ "background-warning": "",
+ "border-danger": "",
+ "border-disabled": "",
+ "border-primary": "",
+ "border-success": "",
+ "border-warning": "",
+ "brand-active": "",
+ "brand-default": "",
+ "brand-gradient": "",
+ "brand-hover": "",
+ "data-viz-danger-fill": "",
+ "data-viz-danger-hover": "",
+ "data-viz-danger-line": "",
+ "data-viz-neutral-fill": "",
+ "data-viz-neutral-hover": "",
+ "data-viz-primary-fill": "",
+ "data-viz-primary-fill-alt": "",
+ "data-viz-primary-hover": "",
+ "data-viz-primary-line": "",
+ "data-viz-secondary-fill": "",
+ "data-viz-secondary-fill-alt": "",
+ "data-viz-secondary-hover": "",
+ "data-viz-secondary-line": "",
+ "data-viz-tertiary-fill": "",
+ "data-viz-tertiary-fill-alt": "",
+ "data-viz-tertiary-hover": "",
+ "data-viz-tertiary-line": "",
+ "data-viz-warning-fill": "",
+ "data-viz-warning-hover": "",
+ "data-viz-warning-line": "",
+ "palette-black": "",
+ "palette-blue-100": "",
+ "palette-blue-200": "",
+ "palette-blue-300": "",
+ "palette-blue-400": "",
+ "palette-blue-50": "",
+ "palette-blue-500": "",
+ "palette-blue-600": "",
+ "palette-blue-700": "",
+ "palette-blue-800": "",
+ "palette-blue-900": "",
+ "palette-brown-100": "",
+ "palette-brown-200": "",
+ "palette-brown-300": "",
+ "palette-brown-400": "",
+ "palette-brown-50": "",
+ "palette-brown-500": "",
+ "palette-brown-600": "",
+ "palette-brown-700": "",
+ "palette-brown-800": "",
+ "palette-brown-900": "",
+ "palette-green-100": "",
+ "palette-green-200": "",
+ "palette-green-300": "",
+ "palette-green-400": "",
+ "palette-green-50": "",
+ "palette-green-500": "",
+ "palette-green-600": "",
+ "palette-green-700": "",
+ "palette-green-800": "",
+ "palette-green-900": "",
+ "palette-grey-100": "",
+ "palette-grey-200": "",
+ "palette-grey-300": "",
+ "palette-grey-400": "",
+ "palette-grey-50": "",
+ "palette-grey-500": "",
+ "palette-grey-600": "",
+ "palette-grey-700": "",
+ "palette-grey-800": "",
+ "palette-grey-900": "",
+ "palette-indigo-100": "",
+ "palette-indigo-200": "",
+ "palette-indigo-300": "",
+ "palette-indigo-400": "",
+ "palette-indigo-50": "",
+ "palette-indigo-500": "",
+ "palette-indigo-600": "",
+ "palette-indigo-700": "",
+ "palette-indigo-800": "",
+ "palette-indigo-900": "",
+ "palette-orange-100": "",
+ "palette-orange-200": "",
+ "palette-orange-300": "",
+ "palette-orange-400": "",
+ "palette-orange-50": "",
+ "palette-orange-500": "",
+ "palette-orange-600": "",
+ "palette-orange-700": "",
+ "palette-orange-800": "",
+ "palette-orange-900": "",
+ "palette-pink-100": "",
+ "palette-pink-200": "",
+ "palette-pink-300": "",
+ "palette-pink-400": "",
+ "palette-pink-50": "",
+ "palette-pink-500": "",
+ "palette-pink-600": "",
+ "palette-pink-700": "",
+ "palette-pink-800": "",
+ "palette-pink-900": "",
+ "palette-purple-100": "",
+ "palette-purple-200": "",
+ "palette-purple-300": "",
+ "palette-purple-400": "",
+ "palette-purple-50": "",
+ "palette-purple-500": "",
+ "palette-purple-600": "",
+ "palette-purple-700": "",
+ "palette-purple-800": "",
+ "palette-purple-900": "",
+ "palette-red-100": "",
+ "palette-red-200": "",
+ "palette-red-300": "",
+ "palette-red-400": "",
+ "palette-red-50": "",
+ "palette-red-500": "",
+ "palette-red-600": "",
+ "palette-red-700": "",
+ "palette-red-800": "",
+ "palette-red-900": "",
+ "palette-white": "",
+ "palette-yellow-100": "",
+ "palette-yellow-200": "",
+ "palette-yellow-300": "",
+ "palette-yellow-400": "",
+ "palette-yellow-50": "",
+ "palette-yellow-500": "",
+ "palette-yellow-600": "",
+ "palette-yellow-700": "",
+ "palette-yellow-800": "",
+ "palette-yellow-900": "",
+ "primary-active": "",
+ "primary-default": "",
+ "primary-hover": "",
+ "text-contrast": "",
+ "text-danger": "",
+ "text-disabled": "",
+ "text-primary": "",
+ "text-secondary": "",
+ "text-success": "",
+ "text-tertiary": "",
+ "text-warning": ""
+ },
+ "fonts": {
+ "mono": "",
+ "text": ""
+ },
+ "fontSizes": {
+ "large": "",
+ "medium": "",
+ "small": "",
+ "x-large": "",
+ "x-small": "",
+ "xx-large": ""
+ },
+ "fontWeights": {
+ "bold": "",
+ "regular": "",
+ "semibold": ""
+ },
+ "letterSpacings": {
+ "large": "",
+ "medium": "",
+ "small": "",
+ "x-small": ""
+ },
+ "lineHeights": {
+ "large": "",
+ "medium": "",
+ "small": "",
+ "x-large": "",
+ "x-small": "",
+ "xx-large": ""
+ },
+ "radii": {
+ "full": "",
+ "small": ""
+ },
+ "shadows": {
+ "large": "",
+ "medium": "",
+ "small": ""
+ },
+ "sizes": {
+ "large": "",
+ "medium": "",
+ "small": "",
+ "x-large": "",
+ "x-small": ""
+ },
+ "space": {
+ "large": "",
+ "medium": "",
+ "small": "",
+ "x-large": "",
+ "x-small": ""
+ },
+ "zIndices": {
+ "dialog": "",
+ "dropdown": "",
+ "modal": "",
+ "overlay": "",
+ "popover": "",
+ "sticky": "",
+ "toast": "",
+ "tooltip": ""
+ }
+}
+```
+
+## Contributing
+
+Contributions are always welcome!! Please review our [Contribution Guide](/.github/CONTRIBUTING.md)
+to get started.
+
+## License
+
+Licensed under the [MIT](/LICENSE).