Usage with RedwoodJS

Get started with a template

The easiest way to get started is to use one of the templates. All templates are configured correctly: they include PostCSS setup, ColorSchemeScript and other essential features. Some templates also include additional features like Jest, Storybook and ESLint.

If you are not familiar with GitHub, you can find a detailed instruction on how to bootstrap a project from a template on this page.


RedwoodJS template with basic setup

Use template

Generate new application

Follow Redwood getting started guide guide to create new Redwood application:

yarn create redwood-app my-redwood-project --typescript


Note that it is recommended to use yarn instead of npm to install dependencies.

Open web directory before installing dependencies:

cd web

Choose packages that you will use in your application:


Hooks for state and UI management


Core components library: inputs, buttons, overlays, etc.


Form management library


Date inputs, calendars


Recharts based charts library


Notifications system


Code highlight with your theme colors and styles


Rich text editor based on Tiptap


Capture files with drag and drop


Embla based carousel component


Overlay command center


Centralized modals manager


Navigation progress

Install dependencies:

yarn add @mantine/core @mantine/hooks

PostCSS setup

Install PostCSS plugins and postcss-preset-mantine:

yarn add --dev postcss postcss-preset-mantine postcss-simple-vars

Create postcss.config.js file in web directory with the following content:

module.exports = {
  plugins: {
    'postcss-preset-mantine': {},
    'postcss-simple-vars': {
      variables: {
        'mantine-breakpoint-xs': '36em',
        'mantine-breakpoint-sm': '48em',
        'mantine-breakpoint-md': '62em',
        'mantine-breakpoint-lg': '75em',
        'mantine-breakpoint-xl': '88em',


Add styles imports, MantineProvider and ColorSchemeScript to web/src/App.tsx file:

// Import styles of packages that you've installed.
// All packages except `@mantine/hooks` require styles imports
import '@mantine/core/styles.css';

import { FatalErrorBoundary, RedwoodProvider } from '@redwoodjs/web';
import { RedwoodApolloProvider } from '@redwoodjs/web/apollo';
import FatalErrorPage from 'src/pages/FatalErrorPage';
import Routes from 'src/Routes';
import { ColorSchemeScript, MantineProvider } from '@mantine/core';

const App = () => (
  <FatalErrorBoundary page={FatalErrorPage}>
    <RedwoodProvider titleTemplate="%PageTitle | %AppTitle">
      <ColorSchemeScript />
          <Routes />

export default App;

All set! Start development server:

yarn rw dev