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.
# Install globally
npm install -g datro
# Or run without installing via npx
npx datro --versionveri 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).
# 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✓ 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| Field | Type | Required | Default | Description |
|---|---|---|---|---|
--json | flag | No | — | Çıkış teşhisi + JSON olarak IR istatistikleri. CI araçları ve düzenleyici entegrasyonları için kullanışlıdır. |
--no-info | flag | No | — | Çı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.
# 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| Field | Type | Required | Default | Description |
|---|---|---|---|---|
--write | flag | No | — | Kanonik formla dosyanın üzerine yerinde yazın. |
--check | flag | No | — | Dosya 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.
# 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| Field | Type | Required | Default | Description |
|---|---|---|---|---|
--to | string "dot""cytoscape""json" | Yes | — | Hedef formatı. |
--out | path | No | — | Çı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
DatroIRnesnesi). 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.
# Render to SVG (requires Graphviz installed)
datro render arch.dtro --out diagram.svg
# Render to PNG
datro render arch.dtro --out diagram.png| Field | Type | Required | Default | Description |
|---|---|---|---|---|
--out | path | Yes | — | Çı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ışı).
# 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-failGömülü blok formatı
Çitle çevrili bir bloğu datro dil tanımlayıcıyla işaretleyin. Blok sihirli başlığı içermelidir:
<!-- 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.| Field | Type | Required | Default | Description |
|---|---|---|---|---|
--out-dir | path | No | — | md render — çıktı dosyaları için dizin. Varsayılan olarak giriş Markdown dosyasıyla aynı dizine ayarlanır. |
--format | string "svg""png" | No | svg | md render — çıktı formatı. |
--json | flag | No | — | md check — sonuçların insan tarafından okunabilir metin yerine JSON olarak çıktısı. |
--no-fail | flag | No | — | Bazı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 (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 --jsonfmt --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
- Tam
.dtrosöz dizimi için Language Reference okuyun. - Açıklama veya işaretleme eklentisiyle nasıl embed diagrams in Markdown yapılacağını öğrenin.
Tarayıcıyı mı tercih ediyorsunuz? Hiçbir şey yüklemeden doğrulayın ve oluşturun.