PHPackages                             webhubworks/mvb-design-system - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. webhubworks/mvb-design-system

ActiveLibrary

webhubworks/mvb-design-system
=============================

MVB Design System for Craft CMS

1.2.03(1w ago)0429proprietaryCSSPHP ^8.2

Since May 26Pushed 1w ago1 watchersCompare

[ Source](https://github.com/webhubworks/mvb-design-system)[ Packagist](https://packagist.org/packages/webhubworks/mvb-design-system)[ RSS](/packages/webhubworks-mvb-design-system/feed)WikiDiscussions master Synced today

READMEChangelog (10)Dependencies (5)Versions (167)Used By (0)

MVB Design System
=================

[](#mvb-design-system)

This is a Storybook based design system packaged as a Craft CMS module for integrating with any Craft CMS project. Built on:

- Twig 3
- Vanilla JS
- Tailwind CSS 4
- Vite 5

With this module you can:

- Use the MVB Design System components in your Craft CMS templates.
- Use the provided Vite build script (You don't need to set up a build script yourself).
- Use the provided Storybook for discovering and testing the components.

Setup
-----

[](#setup)

### Install the Craft module

[](#install-the-craft-module)

```
composer require webhubworks/mvb-design-system
# or
ddev composer require webhubworks/mvb-design-system
```

### Load the module

[](#load-the-module)

```
// config/app.php

'modules' => [
    // other modules...
    'mvbdesignsystem' => [
        'class' => \webhubworks\mvbdesignsystem\MvbDesignSystem::class
    ]
],
// ...
'bootstrap' => ['mvbdesignsystem']
```

### Enable Vite and Freeform

[](#enable-vite-and-freeform)

```
craft plugin/enable vite
craft plugin/enable freeform
```

### Add the Craft Vite plugin config

[](#add-the-craft-vite-plugin-config)

Copy the Craft Vite plugin config with this command:

```
cp vendor/webhubworks/mvb-design-system/stubs/vite.php ./config/vite.php
```

### Add your theme.css

[](#add-your-themecss)

Copy the default `theme.css` file from the `webhubworks/mvb-design-system` module to the root directory of your Craft CMS project. This file is required to define your primary color and can be used to override the default styles of the design system.

```
cp vendor/webhubworks/mvb-design-system/stubs/theme.css ./theme.css
```

### Required env variables

[](#required-env-variables)

Make sure that your `.env` file contains the following variables:

```
CRAFT_ENVIRONMENT
PRIMARY_SITE_URL
```

### Untrack dist files in .gitignore

[](#untrack-dist-files-in-gitignore)

```
/web/dist/**/*
```

Usage
-----

[](#usage)

### Include the design system in your templates

[](#include-the-design-system-in-your-templates)

```
{# In the  of your layout template #}
{{ craft.vite.script('js/app.js', false) }}
```

### Render your first component

[](#render-your-first-component)

```
{{ render('atoms.button', {
    label: 'Click me',
}) }}
```

Build for production
--------------------

[](#build-for-production)

There are two CLI commands ready to build the project for production:

```
# use this to build the assets of the design system and your own templates
craft mvbdesignsystem/vite/build

# use this to build the storybook for static hosting
craft mvbdesignsystem/storybook/build
```

Develop
-------

[](#develop)

### Configure DDEV &amp; Change Node Version

[](#configure-ddev--change-node-version)

The dev servers run within DDEV, so you need to ensure that your DDEV project is set up correctly. Make sure you have the following in your `.ddev/config.yaml`:

```
# ...
nodejs_version: 22
web_extra_exposed_ports:
  - name: node-vite
    container_port: 5173
    http_port: 5172
    https_port: 5173
  - name: storybook
    container_port: 6006
    http_port: 6005
    https_port: 6006
# ...
```

### Run dev servers

[](#run-dev-servers)

To develop the design system, you can use the following command, which you typically run at the same time in two terminal windows:

Note: These commands must be run from within the DDEV container, not from the host.

```
# use this to start the development server for the design system: watches and builds the components
ddev exec craft mvbdesignsystem/vite/dev

# use this to start the storybook for the design system: provides the Storybook UI
ddev exec craft mvbdesignsystem/storybook/dev
```

#### Note

[](#note)

If you run the designystem for the first time, go to vendor/webhubworks/mvb-design-system and run `nvm install`.

### Fix icon classes

[](#fix-icon-classes)

All projects use prefixed Font Awesome icon classes. To make them compatible with the new Icons Atom, we’ve added a command that handles the necessary adjustments. After using the command, all "icon fields" needs to be converted to native icon fields via the CP:

```
craft mvbdesignsystem/fix-icons
```

###  Health Score

51

—

FairBetter than 96% of packages

Maintenance98

Actively maintained with recent releases

Popularity15

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity67

Established project with proven stability

 Bus Factor1

Top contributor holds 79.4% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~2 days

Recently: every ~10 days

Total

165

Last Release

10d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/ec27ae4540fa1b8d81e3fa5f0ff42dd5c988fbc77c2b3014782e237b956e7817?d=identicon)[webhubworks](/maintainers/webhubworks)

---

Top Contributors

[![nordentwickler](https://avatars.githubusercontent.com/u/26166873?v=4)](https://github.com/nordentwickler "nordentwickler (212 commits)")[![rostockahoi](https://avatars.githubusercontent.com/u/16897125?v=4)](https://github.com/rostockahoi "rostockahoi (44 commits)")[![MariusKnirk](https://avatars.githubusercontent.com/u/111346131?v=4)](https://github.com/MariusKnirk "MariusKnirk (11 commits)")

### Embed Badge

![Health badge](/badges/webhubworks-mvb-design-system/health.svg)

```
[![Health](https://phpackages.com/badges/webhubworks-mvb-design-system/health.svg)](https://phpackages.com/packages/webhubworks-mvb-design-system)
```

###  Alternatives

[bolt/core

🧿 Bolt Core

585141.2k46](/packages/bolt-core)[miranj/craft-router

Use URL segments as filtering criteria on an entry query.

231.6k](/packages/miranj-craft-router)[craftpulse/craft-typesense

Craft Plugin that synchronises with Typesense

122.7k](/packages/craftpulse-craft-typesense)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
