Diagram MakerOverview
🗂️

Overview

What the Diagram Maker is and how it works

Hvad er diagrammakeren?

Diagram Maker er et tekst-første arkitektur diagrammet værktøj bygget på Datro DSL et struktureret, valideret og kanonisch formateret sprog til at beskrive software systemer som data, ikke billeder.

I stedet for at trække bokser på et væg, skriver du en .dtro fil. Værktøjslisten analyserer den, validerer arkitektoniske regler, håndhæver WCAG kontrastforhold og returnerer den til SVG, PNG eller interaktivt JSON alle fra en enkelt sandhedskilde.

Åben diagrammaker

Skriv, validér og renderier dit første diagram på få minutter.

Hvorfor Datro over Mermaid eller draw.io?

  • Typede knuder 23 semantiske typer (service, database, gateway, queue.) producerer automatisk konsekvente, formkorrekte diagrammer.
  • Typed edges 21 semantiske typer (http, query, publish, grpc,.) farvekode og stil dine forbindelser uden manuelle overrides.
  • Arkitektoniske begrænsninger – skriv regler som database !-> external, så validatoren håndhæver dem under parsing i stedet for først ved kodegennemgang.
  • Kanonisk formater datro fmt omskrifter hver fil til et deterministisk format; diff viser reelle ændringer, ikke omformatering af støj.
  • Importer og komponere Splittet store diagrammer over filer ved hjælp af import, navneområde aliasing, og afsløre whitelists.
  • WCAG 2.1 tilgængelighed kontrastforhold kontrolleres automatisk mod temapaletten; W602 bryder, når du falder under AA.
  • Mashin-læselig JSON IR hvert diagram eksporterer en tabfri JSON IR, der kan forbruges af enhver værktøjskæde, CI-system eller brugerdefineret renderer.

Hvordan værktøjskæden fungerer

Hver .dtro-fil gennemgår fire faser, før den bliver et diagram:

1 · Parse2 · Validerer3 · Eksport4 · Udlevering
  • Parse + den rekursive-nedgang lexer + parser konverterer din kildetekst til et DatroIR objekt. Det kastes aldrig; alle problemer returneres som Diagnostic[] med præcise linje / kolonne placeringer.
  • Godkendelse 4 pass: strukturel integritet → semantisk begrænsningskontrolling → info tips → WCAG 2.1 kontrast & mærkningstængde tilgængelighed.
  • Export den validerede IR konverteres til DOT (Graphviz), Cytoscape.js JSON eller tabfri JSON IR.
  • Render DOT-udgangen sendes til Graphviz for at producere SVG eller PNG-pixel-perfekt udgang.

Et komplet eksempel

Denne .dtro-fil definerer en betalingsservice med grupper, indskrevne noder, semantiske kanter, en begrænsningsregel, layout-indslag og et WCAG-kontrolleret farvetema CA alle i én fil:

payment-service.dtro
#!DATRO 1.0

meta {
  title:   "Payment Service"
  version: "2.0.0"
  owner:   "payments-team"
  sla:     "99.95%"
}

group data {
  label:   "Data Layer"
  members: [payments_db, fraud_cache]
}

node api_gw      { type: gateway  label: "API Gateway" }
node payment_svc { type: service  label: "Payment Service"  attrs { tech: "nestjs" } }
node payments_db { type: database label: "Payments DB"      attrs { tech: "postgres" } }
node fraud_cache { type: cache    label: "Fraud Cache"      attrs { tech: "redis" } }
node stripe      { type: external label: "Stripe" }

edge api_gw      -> payment_svc  { kind: http  label: "POST /charge" }
edge payment_svc -> payments_db  { kind: query }
edge payment_svc -> fraud_cache  { kind: read }
edge payment_svc -> stripe       { kind: http  label: "charge API" }

constraint {
  id:       "no-db-external"
  rule:     "database !-> external"
  message:  "Databases must not call external APIs"
  severity: error
}

layout { direction: LR  algo: dagre }

theme {
  palette { gateway: "#FFD0D0"  service: "#D0E8FF"  database: "#FFE8C0"  cache: "#C0FFE8" }
  accessibility { min_contrast: AA }
}
💡

Prøv det nu.

Læg det ovenfor anførte eksempel i diagrammaskiveren og klik på Validere, så ser du diagnosticeret med linjenummer, og derefter rendere til SVG med ét klik.

Sammendrag af funktioner

23 nodetyper21 kanttyperWCAG 2.1 AA/AAAJSON-ordning udkast-07SVG · PNG · DOT · CytoscapeImport / sammensætning

Fortsæt med Quick Start for at skrive dit første diagram, eller hop direkte til Talsreference for den fulde syntax.

Schema v1 · Updated September 2026