Diagram MakerOverview
🗂️

Overview

What the Diagram Maker is and how it works

Vad är diagramtillverkaren?

Diagram Maker är ett text-first-architecture diagramverktyg baserat på Datro DSL ett strukturerat, validerat och kanoniskt formaterat språk för att beskriva programvara som data, inte som bilder.

I stället för att dra lådor på en skärm skriver du en .dtro-fil. verktygskedjan analyserar den, validerar arkitektoniska regler, tvingar WCAG-kontrastförhållanden och renderar den till SVG, PNG eller interaktivt JSON allt från en enda käll av sanning.

Öppna diagramtillverkaren

Skriv, validerar och renderar ditt första diagram på några minuter.

Varför Datro istället för Mermaid eller draw.io?

  • Typiserade knoppar 23 semantiska typer (service, database, gateway, queue, ...) genererar automatiskt konsekventa, formgivande diagram.
  • Typiserade kantar 21 semantiska typer (http, query, publish, grpc, ...) för att kodera och forma dina anslutningar utan manuella överskrifter.
  • Arkitektoniska begränsningar Skriv regler som database!-> external och validatorn tvingar dem till analystid, inte revisiontid.
  • Kanoniska formatörer datro fmt skriver om varje fil till ett deterministiskt format; diff visar verkliga förändringar, ingen omformatering.
  • Importera och skapa Dela stora diagram med hjälp av import, namespace aliasing och tillhandahållande av Whitelists på flera filer.
  • WCAG 2.1-barriärfrihet Kontrastförhållanden kontrolleras automatiskt utifrån din ämnespalet; W602 utlöses om du faller under AA.
  • Maskinläsbar JSON IR varje diagram exporterar en lossfri JSON IR som kan användas av alla verktygskedjor, alla CI-system eller alla användardefinierade renderare.

Hur verktygskedjan fungerar

Varje .dtro-fil går igenom fyra faser innan den blir en diagram:

1 · Analysera2 · Validering3 · Exportera4 · Rendering
  • Parsen av rekursiv lektor + parser konverterar din källatext till ett DatroIR-objekt. Det kastar aldrig; Alla problem returneras som Diagnostic[] med exakta rad/kolumnpositionen.
  • Validering 4 passagerar: strukturell integritet → semantisk begränsningskontroller → informationsuppgifter → WCAG 2.1 kontrast och tillgänglighet för etikettlängden.
  • Exportera den validerade IR konverteras till DOT (Graphviz), Cytoscape.js JSON eller lossfri JSON IR.
  • Rendering DOT-utgåvan överförs till Graphviz för att generera en pixel-precis SVG- eller PNG-utgåva.

Ett fullständigt exempel

Denna .dtro-fil definierar en betalningstjänst med grupper, typade knoppar, semantiska kantar, en begränsningsregel, layoutnäringar och ett WCAG-provat färgämne allt 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öva nu

Lägga till diagrammakerns redigerare och klicka på Validera“. Du kan se en diagnost som du har skrivit in med radnummer och du kan sedan göra det i SVG med ett klick.

Sammanfattning av funktioner

23 Knuttyper21 KantenformerWCAG 2.1 AA/AAAJSON schemautformning-07SVG · PNG · DOT · CytoscapeImportera/skriva

Fortsätt med Quick Start för att skriva din första diagram eller hoppa direkt till Language Reference för att få den fullständiga syntax.

Schema v1 · Updated September 2026