Diagram MakerOverview
🗂️

Overview

What the Diagram Maker is and how it works

Hva er diagrammakeren?

Diagram Maker er et tekst-første arkitekturdiagramverktøy basert på Datro DSL en strukturert, validert og kanonisk formatert språk for å beskrive programvaresystemer som data, ikke som bilder.

I stedet for å trekke bokser på et skjerm, skriv en .dtro-Fil. Verktøkkjeden analyserer den, validerer arkitektoniske regler, tvinger WCAG kontrastforhold og gjengir den til SVG, PNG eller interaktiv JSON alt fra en enkelt sannhetskilde.

Åpne diagrammakeren

Skriv, valider og renderes ditt første diagram i løpet av noen minutter.

Hvorfor Datro i stedet for Mermaid eller draw.io?

  • Typiserte knopper 23 semantiske typer (service, database, gateway, queue, ...) genererer automatisk konsistente, formpraktiske diagrammer.
  • Typiserte kanter 21 semantiske typer (http, query, publish, grpc, ...) kodere og forme dine forbindelser uten manuelle overskrifter.
  • Arkitekturbegrensninger Skriv regler som database!-> external og validatoren tvinger dem til analysetiden, ikke kontrolltiden.
  • Kanoniske formatører datro fmt skriver hver fil om til et deterministisk format; diff viser virkelige endringer, ingen omformattingstemmer.
  • Import og opprette Splitere store diagrammer med hjelp av import, namespace aliasing og bruk av Whitelists på flere filer.
  • WCAG 2.1 barrierefrihet Kontrastforhold kontrolleres automatisk på grunnlag av temapaletten din; W602 blir utløst når du faller under AA.
  • Maskinlesbar JSON IR hver diagram eksporterer en tapfri JSON IR som kan brukes av enhver verktøykjede, CI-system eller brukerdefiniert renderer.

Hvordan verktøykjeden fungerer

Hver .dtro-fil går gjennom fire faser før den blir et diagram:

1 · Analysere2 · Validering3 · Eksportering4 · Rendering
  • Parsen av rekursiv Lexer + Parser konverterer kildeteksten din til en DatroIR-Objekt. Det kaster aldri; Alle problemer blir sett på som Diagnostic[] Returnerte med nøyaktige linje/kolonneposisjoner.
  • Validering 4 pass: strukturell integritet → semantisk begrensningskontroller → Informasjonsinformasjon → WCAG 2.1 kontrast og tilgjengelighet av etikettlengden.
  • Eksporter den validerte IR blir konvertert til DOT (Graphviz), Cytoscape.js JSON eller lossfri JSON IR.
  • Render DOT-utgivelsen overføres til Graphviz for å generere en pixel nøyaktig SVG eller PNG-utgivelse.

Et fullstendig eksempel

Denne .dtro-filen definerer en betalingsstjeneste med grupper, typede knopper, semantiske kanter, en begrensningsregel, layoutnæring og et WCAG-prøvet fargetema alt i en 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 nå

Legg eksemplet ovenfor inn i diagrammaker-editoren og klikk på Valid“. Du kan se en diagnose som er gitt med linjenummer, og du kan gjøre det i SVG med ett klikk.

Sammendrag av funksjoner

23 Knottyper21 KantenarterWCAG 2.1 AA/AAAJSON-utforming-07SVG · PNG · DOT · CytoscapeImport / oppskrift

Fortsett med quick start for å skrive ditt første diagram, eller hoppe direkte til language reference for full syntax.

Schema v1 · Updated September 2026