Bootstrap markup. shadcn feel.
Moo UI keeps Bootstrap as the durable contract, then gives server-rendered portals, dashboards, and business applications a calmer product surface.
Why Moo UI Exists
Bootstrap projects often have dependable behavior, mature JavaScript
plugins, and a markup model that backend teams already understand.
The gap is usually the product feel: spacing, state language, borders,
density, and how examples come together into real application screens.
Many modern component systems solve that feeling by asking teams to
change stacks. Moo UI takes the opposite path: keep Bootstrap markup,
classes, and behavior, then tune the visual layer around them.
Who It Fits
Moo UI is for server-rendered applications, admin portals, CMS themes,
Odoo portals, WordPress interfaces, and static product tools that
already want Bootstrap's HTML and JavaScript behavior but need a more
deliberate interface language.
It is not a React, Tailwind, Radix, or design-token runtime. The npm
package ships CSS, public metadata, documented Sass source entrypoints,
and the documented optional ESM modules listed in the package
manifest.
Principles
-
1
Bootstrap is the contract
Components keep Bootstrap markup, variants, data-bs-*
behavior, and runtime --bs-* custom properties.
-
2
shadcn is the feeling
The surface language is restrained, quiet, and modern. It studies
the taste, not another framework's implementation model.
-
3
Server-rendered UI stays first-class
The catalog is rendered as inspectable HTML, and the public
package documents the markup and runtime contracts backend teams
can copy into their own server-rendered products.
Ownership
| Layer | Owner | What it means |
| Native patterns |
Bootstrap and HTML |
Buttons, forms, dropdowns, modals, offcanvas, tooltips, popovers, toasts, and related plugin behavior keep Bootstrap's contracts. |
| Visual system |
Moo UI |
Spacing, radius, borders, shadows, focus rings, density, dark mode, and component examples are tuned for the Moo UI surface. |
| Verified gaps |
Moo UI optional ESM |
Chart, Combobox, Context Menu, DataTable, Date Picker, Slider, and Sidebar add documented JavaScript where Bootstrap 5.3 does not provide a plugin contract. |
Non-goals
- Moo UI does not replace Bootstrap's JavaScript plugins.
- Moo UI does not promise that every pattern is pure Bootstrap markup; documented gaps are named on their component pages.
- Moo UI does not treat internal Sass partial paths or variables as public API; only the documented source entrypoints are supported.
- Moo UI does not require a frontend framework runtime.
The Goal
Make Bootstrap interfaces feel modern enough for serious portal,
SaaS, and operations work without forcing teams to rewrite the
frontend stack they already trust, while building a shared library of
primitives, blocks, docs, and design notes for product-grade
Bootstrap-native markup.