Create the building blocks of your app with Mirrorful: a simple, open-source design system framework.
Slack | Website | NPM Package | Docs
Mirrorful is a simple, open-source design system framework. Install Mirrorful to generate colors and other design tokens for your project. Then, import these tokens directly into your app.
- Start new projects with a source of truth
- Visually modify your theme
- Generate colors
- Figma integration
- Theme Templates
- Eslint rules
- π Copilot for Product Design
- π Lightweight Headless Component Library
- π Propagate tokens across projects
And more...
Design systems are the building blocks of your app, but many projects don't adopt them until it's too late because they are hard to set up correctly. Mirrorful gets you set up for a basic design system in minutes while leaving flexibility down the line for customizations. It's lightweight and dead simple.
We're on a mission to help your project be as beautiful as possible. The bar for high-quality design is getting higher. We want to help everyone add simple design tokens to new (and existing!) projects.
Simple design systems also speed up development β even early-stage projects! One report suggests it's 47% faster to build a simple form using a design system. It's useful for engineers, designers, and especially your customers if there isn't a random color for each button in your app.
Mirrorful is a NPM package intended to be installed as dev dependency.
npm i -D mirrorful
# or
yarn add -D mirrorful
The following command will start a local editor at localhost:5050
.
npx mirrorful editor
# or
yarn run mirrorful editor
Check out our documentation for more information.
We strive to be component library agnostic. Whether you're using Material UI, Chakra UI, Tailwind, Ant Design, or even your in-house library, Mirrorful hooks right in.
β οΈ create-react-app
may warn that you are trying to import from outside thesrc
directory. We are working on a long-term solution, but for now, we would recommend making a copy of the.mirrorful
folder in yoursrc
directory. If you're working with Vite, you can add a config that copies the .mirrorful dir tosrc
. Check out the examplevite.config.ts
here.
Check out our examples:
- Mirrorful π€ Remix
- Mirrorful π€ Tailwind CSS (and Next)
- Mirrorful π€ Chakra UI
- Mirrorful π€ Basic Create React App
- Mirrorful π€ Basic Nuxt 3 App
- Mirrorful π€ SvelteKit
- Mirrorful π€ Bootstrap (and Next)
- Mirrorful π€ styled-components
Looking for a specific example? Request one here!
We have an ESLint plugin with a recommended configuration that's ready to integrate with any project and UI library. It will detect hard-coded color strings throughout your project and help you convert them to the Mirrorful theme with a simple npm run lint
. Learn more.
- Slack - for live discussion with the community and the Mirrorful team.
- GitHub Discussions - for help with building and deeper conversations about features.
- GitHub Issues - for any bugs and errors you encounter using Mirrorful.
- Showcase - to see the awesome projects our community has built on Mirrorful!
This repo is entirely MIT licensed.
We are working hard to make Mirrorful more extensive. Need any integrations or want a new feature? Feel free to create an issue or contribute directly to the repository. (The first draft of this README was made by a contributor!)
Mirrorful takes security issues very seriously. If you have any concerns about Mirrorful or believe you have uncovered a vulnerability, please get in touch via the e-mail address support@mirrorful.io. In the message, try to provide a description of the issue and ideally a way of reproducing it. The team will get back to you immediately.
There are a lot of new features coming very frequently. Star this repo to stay up to date.
Whether it's big or small, we love contributions. The maintainers of this repo have built open-source projects before and love it. Welcome!
To run Mirrorful locally, check out the instructions here
Not sure where to get started? You can:
-
Book a free, non-pressure pairing sessions with one of our teammates!
-
Join our Slack and ask us any questions there.
No matter the PR, all the Github avatars of contributors will be added to the Mirrorful README with their permission.
Mirrorful is currently available in English, German π©πͺ, Swedish πΈπͺ, Turkish πΉπ·, Spanish πͺπΈ, and other languages. Help us translate our documentation and UI to your language.
You can find all the info in this issue.