Diagram MakerCLI Reference
⌨️

CLI Reference

validate · fmt · export · render · md

CLI-referanse

De datro-CLI er den primære muligheten, .dtro-For å validere, formatere, eksportere og rendere filer fra din terminal eller CI-pipeline.

SH
# Install globally
npm install -g datro

# Or run without installing via npx
npx datro --version
validererfmtEksporterutgjøremd

Validere datro

Analyserer en .dtro-Filer, gjennomfører alle fire valideringsprosesser og skriver diagnoser med file:line:col-Oppbevaringssteder. Sluttet 0, hvis det ikke er feil (varsel er tillatt)).

SH
# Validate and print human-readable diagnostics
datro validate arch.dtro

# Suppress info-level hints
datro validate arch.dtro --no-info

# Output machine-readable JSON (for CI pipelines, tooling)
datro validate arch.dtro --json
SH
✓ arch.dtro
  nodes=5  edges=6  groups=1  constraints=1
  errors=0  warnings=1  info=1

[W] arch.dtro:38:3 W602 Theme colour 'cache: #C0FFE8' has contrast ratio 1.82:1 ...
[I] arch.dtro:12:1 I003 No meta block found — consider adding one for documentation
Eksempler (1 advarsel, 1 innlegg, 0 feil → utgang 0)
FieldTypeRequiredDescription
--jsonflagNoUtfør diagnoser og IR-statistikk som JSON. Gjenforståelig for CI-verktøy og redigeringsintegrasjoner.
--no-infoflagNoSlap diagnose på info nivå I××× fra utgaven.

datro fmt

Skrive eller skrive den kanoniske formen av en .dtro-File om. Formatøren er deterministisk: Den samme IR produserer alltid den samme utgivelsen, slik at Diffs bare viser reelle endringer.

SH
# Print canonical form to stdout (no file changes)
datro fmt arch.dtro

# Overwrite file with canonical form
datro fmt --write arch.dtro

# CI check — exits non-zero if file is not already canonical
datro fmt --check arch.dtro
FieldTypeRequiredDescription
--writeflagNoOverskrive filen direkte med kanonisk form.
--checkflagNoUtgang er ulik null hvis filen ikke allerede er kanonisk bruke i pre-commit hooks eller CI.
💡

Forutgående forpliktelse

Legg til datro fmt --check arch.dtro la til din pre-commit hook slik at den kanoniske formen alltid blir skrevet. Dette forebygger formateringsstøy i kodekontrolleringen.

Datreeksport

Konvertert en validert .dtro-Fil i et annet maskinlesbart format. Trykk standard på stdout; Bruk --out, for å skrive inn i en fil.

SH
# Export to Graphviz DOT (pipe into dot for rendering)
datro export arch.dtro --to dot

# Export to Cytoscape.js JSON
datro export arch.dtro --to cytoscape --out arch.cytoscape.json

# Export the lossless JSON IR (full metadata preserved)
datro export arch.dtro --to json --out arch.ir.json
FieldTypeRequiredDescription
--tostring
"dot""cytoscape""json"
YesTiltakingsformat.
--outpathNoSkriv utgaven i denne filen i stedet for stdout.
  • `dot` – Graphviz DOT-Sprache. Forutsetning dot -Tsvg for brukerspecifikk rendering utenfor verktøykjeden.
  • `Cytoscape` Cytoscape.js JSON. Direkt import til hver Cytoscape-instans for interaktive webdiagrammer.
  • `json` – Tapfrie JSON IR (fullstendig) DatroIR-Objekt). Bruk dem i enhver brukerdefinert CI-prøve, skript eller renderer.

Datro-rendering

Returnerer en .dtro-Fil via Graphviz i piksel nøyaktig SVG eller PNG. Krav på installasjon av dot-Binærfil fra Graphviz og på $PATH.

SH
# Render to SVG (requires Graphviz installed)
datro render arch.dtro --out diagram.svg

# Render to PNG
datro render arch.dtro --out diagram.png
FieldTypeRequiredDescription
--outpathYesUtgivelsesfilens vei. Forlengelsen bestemmer formatet: .svg eller .png.
ℹ️

Grafikkrevning nødvendig

Installer Graphviz fra [graphviz.org/download]](https://graphviz.org/download/) og sørg for at dot På din $PATH er. CLI avsluttes med en tydelig feil hvis den ikke blir funnet.

datro md

Forarbeide datro-fenced kodeblokker som er innebygd i markdown-filer. To underkommandoer: check (kun validering, ingen grafviz nødvendig) og render (validering + SVG/PNG utgave)).

SH
# Validate all Datro blocks embedded in a Markdown file
datro md check docs/architecture.md

# Validate and output JSON (CI-friendly)
datro md check docs/architecture.md --json

# Render all blocks to SVG files next to the Markdown file
datro md render docs/architecture.md

# Render to a specific output directory in PNG format
datro md render docs/architecture.md --out-dir public/diagrams --format png

# Continue even when some blocks have errors
datro md render docs/architecture.md --no-fail

Inbegynt blokkformat

Merke et blokk som er bevaret med språkinformasjon datro. Blokken må inneholde den magiske overskriften:

Markdown
<!-- docs/architecture.md -->

# System Overview

```datro
#!DATRO 1.0

node api { type: gateway label: "API Gateway" }
node svc { type: service label: "Auth Service" }

edge api -> svc { kind: http }
```

Run `datro md render docs/architecture.md` to generate
`docs/architecture-block-1.svg` alongside this file.
Datro-blokk innlemmet i en markdown-fil
FieldTypeRequiredDescription
--out-dirpathNomd render – En liste over utgivelsesfiler. Standard for samme katalog som innføring markdown filen.
--formatstring
"svg""png"
Nomd render utgangsformat.
--jsonflagNomd check utgi resultater som JSON i stedet for som menneskelig lesbar tekst.
--no-failflagNoFortsett å behandle de resterende blokkene, selv om de har noen feil. 0.

Inklusjon av CI

Legg disse trinnene til hver CI-pipeline for å kreve diagramkvalitet ved hver pull forespørsel:

.github/workflows/ci.yml
# .github/workflows/ci.yml (excerpt)
- name: Validate Datro diagrams
  run: |
    npx datro fmt --check docs/arch.dtro
    npx datro validate docs/arch.dtro --no-info
    npx datro md check docs/architecture.md --json
  • fmt --check feiler hvis et diagram ikke er kanonisk formatert.
  • `validate --no-info mislykkes i hver alvorlig feildiagnose.
  • md check --json – Validerer alle innbygde diagrammer; JSON-utgivelsen kan integreres i noteringsverktøy.

Neste skritt

  • Les Language Reference .dtro-Syntax.
  • Lær hvordan du gjør det med Remark- eller Markdown-it-plugin [embed diagrammer i Markdown].
Åpne diagrammakeren

Velger du nettleseren? Validerer og returnerer uten å installere noe.

Schema v1 · Updated September 2026