Dieser Post setzt den vierzehnten Teil fort. Jedes Team hat eigene visuelle Konventionen — Farben, Formen, Notationen. bausteinsicht generate-template generiert eine draw.io-Template-Datei die alle Element-Typen aus der Spezifikation mit konsistenten Stilen enthält.

Was ist ein draw.io-Template?

Eine Template-Datei ist eine draw.io-Datei mit vordefinierten Shapes für jeden Element-Typ. Statt im Diagramm Elemente manuell zu stylen, zieht man einfach den passenden Shape aus dem Template-Panel.

generate-template leitet die Shapes automatisch aus specification.elements in architecture.jsonc ab — für jeden kind wird ein gestylter Shape generiert.

bausteinsicht generate-template

bausteinsicht generate-template

Erstellt architecture-template.drawio mit Shapes für jeden Element-Typ.

Style-Presets

# Standard-Preset (blaue Shapes, weiße Beschriftung)
bausteinsicht generate-template --style default

# C4-Notation (farblich nach C4-Standard: blau/grau/grün)
bausteinsicht generate-template --style c4

# Minimalist (nur Umrisse, keine Füllfarbe)
bausteinsicht generate-template --style minimal

# Dark Mode (dunkle Hintergründe, helle Schrift)
bausteinsicht generate-template --style dark

Ausgabedatei wählen

bausteinsicht generate-template --output docs/diagrams/team-template.drawio

Template in draw.io verwenden

  1. generate-template ausführen → architecture-template.drawio entsteht

  2. In draw.io: Extras → Vorlagen bearbeiten → Template-Datei importieren

  3. Im linken Panel erscheinen die eigenen Element-Shapes

Jeder Shape hat bereits den korrekten Namen und Style — beim Ziehen ins Diagramm wird das Element direkt mit dem richtigen kind-Wert annotiert, den bausteinsicht sync erkennt.

Template aus eigener Spezifikation

Das Template spiegelt immer die aktuelle specification.elements:

{
  "specification": {
    "elements": {
      "frontend":   { "notation": "Browser",    "description": "Web-Frontend" },
      "service":    { "notation": "Hexagon",     "description": "Backend-Service", "container": true },
      "database":   { "notation": "Cylinder",    "description": "Persistenz" },
      "queue":      { "notation": "Parallelogram","description": "Message Queue" },
      "external":   { "notation": "Cloud",       "description": "Externes System" }
    }
  }
}

generate-template erstellt für jeden dieser Typen einen Shape im gewählten Style. Neue Element-Typen → Template neu generieren → sofort im Panel verfügbar.

Template ins Repository committen

git add architecture-template.drawio
git commit -m "update draw.io template for current element types"

So hat das gesamte Team immer das aktuelle Template — kein manuelles Verteilen von Stildateien.

Das Template neu generieren wenn neue kind-Werte zur Spezifikation hinzukommen. Ein kurzer generate-template && git add && git commit reicht.

Beispiel-Modell

Das Beispiel für diesen Teil (benutzerdefinierte Elementtypen: Browser, Hexagon, Cylinder, Parallelogram, Cloud) liegt unter teil_15.jsonc.

So sieht das Ergebnis in draw.io aus (bausteinsicht sync):

Das draw.io-File dafür findest du hier: teil_15.drawio

Generierte PNG-Dateien via bausteinsicht export --image-format png:

containers
context

Generierte PlantUML-Diagramme via bausteinsicht export-diagram:

Diagram
Diagram

Was als nächstes kommt

Offizielle Dokumentation: User Manual · Tutorial auf doctoolchain.org