mage-obsidian/theme-default

MageObsidian Obsidian storefront theme: the default skin built on top of theme-base.

Maintainers

Package info

github.com/mage-obsidian/theme-default

Language:Twig

Type:magento2-theme

pkg:composer/mage-obsidian/theme-default

Transparency log

Fund package maintenance!

Ko Fi

Statistics

Installs: 85

Dependents: 0

Suggesters: 0

Stars: 1

Open Issues: 0

3.15.0 2026-08-21 01:58 UTC

README

Latest Version License

Star MageObsidian

๐Ÿ“š Documentation ยท ๐Ÿš€ Live demo ยท ๐Ÿ’ฌ Discussions

OBSIDIAN โ€” the default MageObsidian storefront theme for Magento 2, built with Vite, Tailwind CSS 4, Vue islands and Twig components. See it live at the demo store (Lighthouse 100/100/100/100).

Installation

composer require mage-obsidian/theme-default
bin/magento setup:upgrade
bin/magento mage-obsidian:frontend:config --generate

Then rebuild your theme (mage-obsidian:build-themes). Full guide: documentation.

Why four templates are still .phtml

The theme is Twig throughout, with four deliberate exceptions. Each one exists to fix a defect in the core template it replaces, and each says so in its own header:

Template What it fixes
Magento_Msrp::product/price/msrp.phtml The native MAP popup needs RequireJS; its inline scripts leak as visible text. Re-expressed as a native <details>.
Magento_OfflinePayments::info/checkmo.phtml The native template emits a <dl> with no <dd> unless the check details are configured โ€” a WCAG 1.3.1 violation axe flags.
Magento_Weee::pricing/adjustment.phtml The FPT label lives only in data-label and needs the core Weee JS, which this stack suppresses. Rendered as visible text instead.
Magento_Newsletter::subscribe.phtml Restyled for the dark footer.

Migrating one to Twig without carrying its fix across reintroduces the defect.

Support the project

If MageObsidian saves you time, consider buying me a coffee. โค๏ธ