Diagram MakerQuick Start

Quick Start

Build your first diagram in six steps

Inicio rápido

Cree su primer diagrama de arquitectura validado en seis pasos. Cada paso introduce un nuevo concepto Datro. Al final, tendrá un diagrama completo, con estilo y con restricciones verificadas, listo para exportar como SVG.

Creador de diagramas abiertos

Siga las instrucciones en el editor en vivo: pegue cada fragmento y haga clic en Validar.

Paso 1: escribe tus primeros nodos y aristas

Cada archivo .dtro comienza con un encabezado mágico. Después, declara nodos (entidades) y bordes (relaciones). Pega esto en el editor:

arch.dtro
#!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 }
ℹ️

Se requiere encabezado mágico

La línea #!DATRO 1.0 en la línea 1 es obligatoria. El analizador devuelve E100 si falta.

Paso 2: agregue `attrs` para obtener metadatos más completos

El bloque attrs contiene metadatos de valores-clave arbitrarios. Los valores pueden ser cadenas, números, booleanos o matrices. Los atributos comunes son tech, owner, deprecated y sla.

DATRO
node backend {
  type:  service
  label: "NestJS API"
  attrs {
    tech:  "nestjs"
    owner: "platform-team"
  }
}

Los atributos pasan al JSON IR y aparecen como información sobre herramientas en el SVG renderizado, lo que resulta útil para metadatos de guardia y SLA.

Paso 3: agregar metadatos de borde

Los bordes tienen un tipo (tipo de relación semántica), una etiqueta opcional, un peso (tráfico relativo) y un indicador async. Los bordes asíncronos se representan como líneas discontinuas.

DATRO
edge backend -> stripe {
  kind:  http
  label: "charge API"
  async: false
}
FieldTypeRequiredDescription
kindEdgeKind
"http""grpc""query""publish""subscribe""read""write""deploys""monitors""depends""…21 total"
YesTipo de relación semántica
labelstringNoTexto breve mostrado en la línea del borde.
weightnumberNoPeso relativo del tráfico: los bordes más pesados se vuelven más gruesos
asyncbooleanNoCuando es verdadero, el borde se representa como discontinuo (patrón de disparar y olvidar)

Paso 4: agrupar los nodos en clústeres

Utilice un bloque group para agrupar nodos relacionados. Los grupos se representan como cuadros de subgrafos etiquetados en SVG. Un nodo sólo puede pertenecer a un grupo.

DATRO
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" }
💡

Grupos frente a nodo.grupo

También puedes asignar un grupo directamente en el nodo con group: data_tier. Ambos estilos son válidos; la lista members del bloque group tiene prioridad.

Paso 5: agregar una restricción arquitectónica

Las restricciones son reglas arquitectónicas verificadas por máquina. El validador los evalúa con respecto al IR y devuelve E501 errores cuando se viola una regla.

DATRO
constraint {
  id:       "no-db-external"
  rule:     "database !-> external"
  message:  "Databases must not connect to external services"
  severity: error
}

La regla database !-> external significa: ningún nodo de tipo database puede tener un borde dirigido a cualquier nodo de tipo external. Esto bloquea llamadas directas accidentales a DB → API de terceros.

Paso 6: agrega sugerencias de diseño y un tema

Controle cómo se organiza el diagrama con un bloque layout y defina una paleta de colores con un bloque theme. La verificación de accesibilidad activa W602 si algún color cae por debajo del contraste WCAG AA.

DATRO
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 }
}
💡

El contraste WCAG es automático.

El exportador DOT selecciona automáticamente el color de fuente blanco o negro para cada relleno de nodo utilizando la fórmula de luminancia relativa WCAG 2.1: no se necesita configuración.

Próximos pasos

Creador de diagramas abiertos

Su diagrama está listo para renderizar: haga clic en Renderizar → SVG en la barra de herramientas del editor.

Schema v1 · Updated September 2026