Diagram MakerQuick Start

Quick Start

Build your first diagram in six steps

Início rápido

Crie seu primeiro diagrama de arquitetura validado em seis etapas. Cada etapa introduz um novo conceito Datro. No final, você terá um diagrama completo, estilizado e com restrições verificadas, pronto para exportar como SVG.

Abra o Criador de Diagramas

Acompanhe no editor ao vivo – cole cada trecho e clique em Validar.

Passo 1 — Escreva seus primeiros nós e arestas

Cada arquivo .dtro começa com um cabeçalho mágico. Depois disso, declare nós (entidades) e arestas (relacionamentos). Cole isso no 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 }
ℹ️

Cabeçalho mágico necessário

A linha #!DATRO 1.0 na linha 1 é obrigatória. O analisador retorna E100 se estiver faltando.

Etapa 2 — Adicione `attrs` para metadados mais ricos

O bloco attrs contém metadados de valores-chave arbitrários. Os valores podem ser strings, números, booleanos ou matrizes. Atributos comuns são tech, owner, deprecated e sla.

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

Os atributos passam para o JSON IR e aparecem como dicas de ferramentas no SVG renderizado – útil para metadados de plantão e SLA.

Passo 3 — Adicionar metadados de borda

As bordas têm um tipo (tipo de relacionamento semântico), um rótulo opcional, um peso (tráfego relativo) e um sinalizador assíncrono. As arestas assíncronas são renderizadas como linhas tracejadas.

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 relacionamento semântico
labelstringNoTexto curto exibido na linha da borda
weightnumberNoPeso relativo do tráfego – bordas mais pesadas ficam mais espessas
asyncbooleanNoQuando verdadeiro, a borda é renderizada como tracejada (padrão disparar e esquecer)

Passo 4 — Agrupar nós em clusters

Use um bloco group para agrupar nós relacionados. Os grupos são renderizados como caixas de subgráficos rotuladas no SVG. Um nó pode pertencer a apenas um 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 vs. node.group

Você também pode atribuir um grupo diretamente no nó com group: data_tier. Ambos os estilos são válidos; a lista members do bloco group tem precedência.

Passo 5 — Adicione uma restrição arquitetônica

As restrições são regras arquitetônicas verificadas por máquina. O validador os avalia em relação ao IR e retorna erros E501 quando uma regra é violada.

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

A regra database !-> external significa: nenhum nó do tipo database pode ter uma aresta direcionada para qualquer nó do tipo external. Isso bloqueia chamadas diretas acidentais de banco de dados → API de terceiros.

Passo 6 — Adicione dicas de layout e um tema

Controle como o diagrama é organizado com um bloco layout e defina uma paleta de cores com um bloco theme. A verificação de acessibilidade é acionada W602 se alguma cor ficar abaixo do 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 }
}
💡

O contraste WCAG é automático

O exportador DOT escolhe automaticamente a cor da fonte preta ou branca para cada preenchimento de nó usando a fórmula de luminância relativa WCAG 2.1 – nenhuma configuração necessária.

Próximas etapas

Abra o Criador de Diagramas

Seu diagrama está pronto para renderizar — clique em Renderizar → SVG na barra de ferramentas do editor.

Schema v1 · Updated September 2026