Diagram MakerCLI Reference
⌨️

CLI Reference

validate · fmt · export · render · md

CLI Referansı

datro CLI, terminalinizden veya CI hattınızdan .dtro dosyalarını doğrulamanın, biçimlendirmenin, dışa aktarmanın ve işlemenin birincil yoludur.

SH
# Install globally
npm install -g datro

# Or run without installing via npx
npx datro --version
doğrulamakfmtihracatoluşturmakMD

veri doğrulama

Bir .dtro dosyasını ayrıştırır, dört doğrulama geçişini de çalıştırır ve file:line:col konumlarıyla tanılamayı yazdırır. Hiçbir hata olmadığında 0'den çıkar (uyarılara izin verilir).

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
Örnek çıktı (1 uyarı, 1 bilgi ipucu, 0 hata → çıkış 0)
FieldTypeRequiredDescription
--jsonflagNoÇıkış teşhisi + JSON olarak IR istatistikleri. CI araçları ve düzenleyici entegrasyonları için kullanışlıdır.
--no-infoflagNoÇıkıştan I××× bilgi düzeyi teşhisini gizleyin.

veri fmt

Bir .dtro dosyasının kurallı biçimini yazdırır veya yeniden yazar. Biçimlendirici deterministiktir: aynı IR her zaman aynı çıktıyı üretir, dolayısıyla farklar yalnızca gerçek değişiklikleri gösterir.

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
--writeflagNoKanonik formla dosyanın üzerine yerinde yazın.
--checkflagNoDosya zaten kanonik değilse sıfır dışında çıkın; ön kayıt kancalarında veya CI'da kullanın.
💡

Ön işleme kancası

Kanonik formun her zaman işlenmesi için ön işleme kancanıza datro fmt --check arch.dtro ekleyin. Bu, kod incelemesinde biçimlendirici gürültüsünü önler.

veri dışa aktarımı

Doğrulanmış bir .dtro dosyasını makine tarafından okunabilen başka bir formata dönüştürür. Varsayılan olarak stdout'a yazdırır; bir dosyaya yazmak için --out kullanın.

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"
YesHedef formatı.
--outpathNoÇıktıyı stdout yerine bu dosya yoluna yazın.
  • `dot` — Graphviz DOT dili. Araç zincirinin dışında özel işleme için dot -Tsvg'e yönlendirin.
  • `cytoscape` — Cytoscape.js JSON. Etkileşimli web diyagramları için doğrudan herhangi bir Cytoscape örneğine içe aktarın.
  • `json` — Kayıpsız JSON IR (tam DatroIR nesnesi). Herhangi bir özel CI kontrolünde, komut dosyasında veya oluşturucuda kullanın.

Veri oluşturma

Graphviz aracılığıyla bir .dtro dosyasını piksel mükemmelliğinde SVG veya PNG'ye dönüştürür. Graphviz'den dot ikili dosyasının kurulu olmasını ve $PATH üzerinde olmasını gerektirir.

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
--outpathYesÇıkış dosyası yolu. Uzantı formatı belirler: .svg veya .png.
ℹ️

Grafikviz gerekli

Graphviz'i graphviz.org/download'den yükleyin ve dot'ın dot cihazınızda olduğundan emin olun. CLI bulunamazsa açık bir hatayla çıkar.

datro md

Markdown dosyalarına gömülü Datro çitli kod bloklarını işler. İki alt komut: check (yalnızca doğrulama, Graphviz gerekmez) ve render (doğrulama + SVG/PNG çıkışı).

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

Gömülü blok formatı

Çitle çevrili bir bloğu datro dil tanımlayıcıyla işaretleyin. Blok sihirli başlığı içermelidir:

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.
Markdown dosyasına gömülü Datro bloğu
FieldTypeRequiredDescription
--out-dirpathNomd render — çıktı dosyaları için dizin. Varsayılan olarak giriş Markdown dosyasıyla aynı dizine ayarlanır.
--formatstring
"svg""png"
Nomd render — çıktı formatı.
--jsonflagNomd check — sonuçların insan tarafından okunabilir metin yerine JSON olarak çıktısı.
--no-failflagNoBazılarında hata olsa bile kalan blokları işlemeye devam edin. 0'dan çıkar.

CI entegrasyonu

Her çekme isteğinde diyagram kalitesini zorunlu kılmak için bu adımları herhangi bir CI ardışık düzenine ekleyin:

.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 — diyagram standart olarak biçimlendirilmemişse başarısız olur.
  • validate --no-info — herhangi bir hata ciddiyeti tanılamasında başarısız olur.
  • md check --json — tüm gömülü diyagramları doğrular; JSON çıktısı açıklama araçlarıyla bütünleşir.

Sonraki adımlar

Diyagram Oluşturucuyu Aç

Tarayıcıyı mı tercih ediyorsunuz? Hiçbir şey yüklemeden doğrulayın ve oluşturun.

Schema v1 · Updated September 2026