Quick Start
Build your first diagram in six steps
Schnellstart
Erstellen Sie in sechs Schritten Ihr erstes validiertes Architekturdiagramm. Jeder Schritt fĂŒhrt ein neues Datro-Konzept ein. Am Ende verfĂŒgen Sie ĂŒber ein vollstĂ€ndiges, gestaltetes und auf EinschrĂ€nkungen ĂŒberprĂŒftes Diagramm, das Sie als SVG exportieren können.
Folgen Sie den Anweisungen im Live-Editor: FĂŒgen Sie jedes Snippet ein und klicken Sie auf âValidierenâ.
Schritt 1 â Schreiben Sie Ihre ersten Knoten und Kanten
Jede .dtro-Datei beginnt mit einem magischen Header. Danach deklarieren Sie Knoten (EntitĂ€ten) und Kanten (Beziehungen). FĂŒgen Sie dies in den Editor ein:
#!DATRO 1.0
node frontend { type: web label: "React App" }
node backend { type: service label: "NestJS API" }
node db { type: database label: "PostgreSQL" }
edge frontend -> backend { kind: http }
edge backend -> db { kind: query }Magic-Header erforderlich
Die Zeile #!DATRO 1.0 in Zeile 1 ist obligatorisch. Der Parser gibt E100 zurĂŒck, wenn es fehlt.
Schritt 2 â FĂŒgen Sie `attrs` hinzu, um umfangreichere Metadaten zu erhalten
Der Block attrs enthĂ€lt beliebige SchlĂŒsselwert-Metadaten. Werte können Zeichenfolgen, Zahlen, boolesche Werte oder Arrays sein. Gemeinsame Attribute sind tech, owner, deprecated und sla.
node backend {
type: service
label: "NestJS API"
attrs {
tech: "nestjs"
owner: "platform-team"
}
}Attribute werden an die JSON IR weitergeleitet und als Tooltips im gerenderten SVG angezeigt â nĂŒtzlich fĂŒr Bereitschafts- und SLA-Metadaten.
Schritt 3 â Edge-Metadaten hinzufĂŒgen
Kanten haben eine Art (semantischer Beziehungstyp), ein optionales Label, ein Gewicht (relativer Datenverkehr) und ein asynchrones Flag. Asynchrone Kanten werden als gestrichelte Linien dargestellt.
edge backend -> stripe {
kind: http
label: "charge API"
async: false
}| Field | Type | Required | Default | Description |
|---|---|---|---|---|
kind | EdgeKind "http""grpc""query""publish""subscribe""read""write""deploys""monitors""depends""âŠ21 total" | Yes | unknown | Semantischer Beziehungstyp |
label | string | No | â | Kurzer Text, der auf der Randlinie angezeigt wird |
weight | number | No | 1.0 | Relatives Verkehrsgewicht â schwerere Kanten werden dicker |
async | boolean | No | false | Wenn âtrueâ, wird die Kante gestrichelt dargestellt (Feuer-und-Vergessen-Muster). |
Schritt 4 â Gruppieren Sie Knoten in Cluster
Verwenden Sie einen Gruppen-Block, um verwandte Knoten zu gruppieren. Gruppen werden im SVG als beschriftete Unterdiagrammfelder dargestellt. Ein Knoten kann nur einer Gruppe angehören.
group data_tier {
label: "Data Layer"
members: [db, redis_cache]
}
node redis_cache { type: cache label: "Redis" }
edge backend -> redis_cache { kind: read label: "session" }Gruppen vs. node.group
Sie können mit group: data_tier auch direkt am Knoten eine Gruppe zuweisen. Beide Stile sind gĂŒltig; Die Liste members des Blocks group hat Vorrang.
Schritt 5 â FĂŒgen Sie eine architektonische EinschrĂ€nkung hinzu
EinschrĂ€nkungen sind maschinell ĂŒberprĂŒfte Architekturregeln. Der Validator wertet sie anhand der IR aus und gibt E501-Fehler zurĂŒck, wenn eine Regel verletzt wird.
constraint {
id: "no-db-external"
rule: "database !-> external"
message: "Databases must not connect to external services"
severity: error
}Die Regel database !-> external bedeutet: Kein Knoten vom Typ database darf eine gerichtete Kante zu irgendeinem Knoten vom Typ external haben. Dies blockiert versehentliche direkte DB â API-Aufrufe von Drittanbietern.
Schritt 6 â FĂŒgen Sie Layouthinweise und ein Thema hinzu
Steuern Sie die Anordnung des Diagramms mit einem layout-Block und definieren Sie eine Farbpalette mit einem theme-Block. Die BarrierefreiheitsprĂŒfung löst W602 aus, wenn eine Farbe unter den WCAG AA-Kontrast fĂ€llt.
layout { direction: LR algo: dagre node_sep: 60 rank_sep: 120 }
theme {
palette {
service: "#D0E8FF"
database: "#FFE8C0"
web: "#E8D0FF"
cache: "#C0FFE8"
background: "#FFFFFF"
}
accessibility { min_contrast: AA }
}Der WCAG-Kontrast erfolgt automatisch
Der DOT-Exporter wĂ€hlt automatisch eine schwarze oder weiĂe Schriftfarbe fĂŒr jede KnotenfĂŒllung aus, indem er die relative Luminanzformel von WCAG 2.1 verwendet â keine Konfiguration erforderlich.
NĂ€chste Schritte
- Lesen Sie Language Reference fĂŒr die vollstĂ€ndige Syntax jedes Blocktyps.
- Verwenden Sie CLI Reference zum Validieren, Formatieren und Exportieren ĂŒber die Befehlszeile.
- Erfahren Sie, wie Sie Dokumente mit dem Remark- oder Markdown-it-Plugin embed diagrams in Markdown erstellen.
Ihr Diagramm ist zum Rendern bereit â klicken Sie in der Editor-Symbolleiste auf Rendern â SVG.