Skip to content

DmfAutoStyleguide

DmfAutoStyleguide rendert alle relevanten Bootstrap- und Shopware-Komponenten unter /styleguide mit dem aktiven, kompilierten Theme-CSS: kein separates Stylesheet, kein Build-Schritt nach Installation. Zusätzlich liefert das Plugin eine CLI- und Claude-Code-Skill-Pipeline zur Extraktion und Übernahme von Design-Tokens.

Schnellinfo

Composer-Paketdmf/sw6-plugin-auto-styleguide
Plugin-KlasseDmfAutoStyleguide\DmfAutoStyleguide
NamespaceDmfAutoStyleguide
Version1.0.0
Shopware~6.7.0
PHP8.2+

Installation

bash
composer require dmf/sw6-plugin-auto-styleguide
bin/console plugin:refresh
bin/console plugin:install --activate DmfAutoStyleguide
bin/console cache:clear

Kein Build-Schritt nötig, der Styleguide nutzt das bereits kompilierte Theme-CSS.

Konfiguration

Plugin-Einstellung im Admin (System → Plugins → DmfAutoStyleguide → Konfigurieren):

FeldTypDefaultWirkung
enabledboolfalseAktiviert den Styleguide auch in prod. In dev und stage ist er ohnehin erreichbar.

Sichtbarkeit

In Produktivumgebungen ist /styleguide per default ein 404. Der Toggle enabled schaltet ihn explizit frei, falls er für Stakeholder zugänglich sein soll.

Styleguide-Sektionen

15 Komponenten-Sektionen unter /styleguide:

SektionInhalt
ColorsTheme-SCSS-Tokens (auto-detected) + Bootstrap Theme Colors
Typographyh1–h6, Display 1–3, Body, Weights, Inline-Elemente
ButtonsSolid, Outline, Sizes, States, Full-Width
FormsInputs, Select, Textarea, Checkboxes, Radios, Switches
BadgesVariants, Pills
AlertsSuccess, Danger, Warning, Info
CardsBody, Header/Footer, Themed
TablesDefault, Striped
DropdownsPrimary, Outline, Active/Disabled Items
PaginationDefault, Sizes (sm/lg)
BreadcrumbStandard Shopware Breadcrumb
ModalsTrigger + Modal Dialog
Tabs & AccordionBootstrap Tabs + Accordion
LinksDefault, Colored, Bold, No-Underline
UtilitiesSpacing-Skala, Border-Radius, Shadows, Text/BG Colors

Token-Pipeline (CLI)

dmf:styleguide:map-tokens

Vergleicht Token-Konfiguration zwischen Parent- und Child-Theme. Auto-Detection via configInheritance in theme.json.

bash
bin/console dmf:styleguide:map-tokens                 # Dry-Run
bin/console dmf:styleguide:map-tokens --theme=MyTheme # bestimmtes Child-Theme
bin/console dmf:styleguide:map-tokens --format=json   # CI-tauglicher Output
bin/console dmf:styleguide:map-tokens --apply         # Overrides ins Child-Theme schreiben

Schreibschutz

TokenMapWriter schreibt ausschließlich in Pfade, die /custom/ enthalten. Schreibvorgänge in vendor/ werden hart blockiert.

dmf:styleguide:generate

Extrahiert Design-Tokens aus einer HTML-Quelle und schreibt sie als JSON.

bash
bin/console dmf:styleguide:generate -i path/to/styleguide.html
bin/console dmf:styleguide:generate -i styleguide.html -o var/tokens

Output:

DateiInhalt
var/styleguide/design-tokens.jsonColor, Typography, Spacing, Border
var/styleguide/component-mapping.jsonCSS-Klassen nach Komponenten-Kategorie

Claude Code Skill: /extract-tokens

Im Plugin liegt der Skill extract-tokens, der den vollen Workflow (Figma MCP → Token-Diff → SCSS- und theme.json-Schreibvorgang) interaktiv ausführt.

bash
/extract-tokens path/to/styleguide.html
/extract-tokens https://figma.com/design/ABC123/MyDesign?node-id=0-1
/extract-tokens current
/extract-tokens styleguide.html --theme MyCustomTheme
/extract-tokens styleguide.html --write

CLI vs. Skill

FeatureCLI (bin/console)Skill (/extract-tokens)
HTML parsenJSON-OutputInteraktiver Report + Diff
Figmanur vorher exportiertes JSONdirekt über MCP, URL reingeben
Theme erkennen--theme-FlagAuto-Detect aus Projektstruktur
Tokens schreibennur map-tokens --applydirekt in SCSS und theme.json
Kontext,kennt SCSS-Konventionen, fragt bei Unklarheit

Auto-Detection

Das Plugin erkennt automatisch:

  • Child-Theme über configInheritance in theme.json.
  • Parent-Theme als letzten Eintrag (nach @Storefront) in configInheritance.
  • Token-Prefix anhand der häufigsten $prefix--Konvention im SCSS.
  • SCSS-Pfad in bekannten Verzeichnissen (abstract/variables/custom.scss, overrides.scss, …).

Hinweise

Theme-Agnostik

Die Standard-Sektionen rendern mit jedem Shopware-Theme. Das Plugin erkennt das aktive Child-Theme und dessen Tokens automatisch. Theme-spezifische Erweiterungen werden via {% sw_include ... ignore missing %} eingebunden, fehlende Templates erzeugen keinen Fehler.