Diagram MakerCLI Reference
⌨️

CLI Reference

validate · fmt · export · render · md

CLI მითითება

datro CLI არის თქვენი ტერმინალიდან ან CI მილსადენიდან .dtro ფაილების ვალიდაციის, ფორმატირების, ექსპორტისა და რენდერის ძირითადი გზა.

SH
# Install globally
npm install -g datro

# Or run without installing via npx
npx datro --version
დადასტურებაfmtექსპორტიგაწევამდ

datro დადასტურება

აანალიზებს .dtro ფაილს, აწარმოებს ოთხივე ვალიდაციის პასს და ბეჭდავს დიაგნოსტიკას file:line:col მდებარეობით. გადის 0, როდესაც შეცდომები არ არის (გაფრთხილება ნებადართულია).

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
მაგალითის გამომავალი (1 გაფრთხილება, 1 ინფორმაციის მინიშნება, 0 შეცდომა → გამოსვლა 0)
FieldTypeRequiredDescription
--jsonflagNoგამომავალი დიაგნოსტიკა + IR სტატისტიკა, როგორც JSON. სასარგებლოა CI ინსტრუმენტებისა და რედაქტორების ინტეგრაციისთვის.
--no-infoflagNoჩაახშო I××× საინფორმაციო დონის დიაგნოსტიკა გამომავალიდან.

datro fmt

ბეჭდავს ან ხელახლა წერს .dtro ფაილის კანონიკურ ფორმას. ფორმატორი დეტერმინისტულია: ერთი და იგივე IR ყოველთვის ერთსა და იმავე გამომავალს აწარმოებს, ამიტომ განსხვავებები აჩვენებს მხოლოდ რეალურ ცვლილებებს.

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
--writeflagNoფაილის ადგილზე გადაწერა კანონიკური ფორმით.
--checkflagNoგადით ნულოვანიდან, თუ ფაილი უკვე კანონიკური არ არის - გამოიყენეთ წინასწარ ჩართულ ჰუკებში ან CI-ში.
💡

წინასწარ ჩადება hook

დაამატეთ datro fmt --check arch.dtro თქვენს წინასწარ ჩადენის კაუჭს, რათა კანონიკური ფორმა ყოველთვის იყოს ჩადებული. ეს ხელს უშლის ფორმატის ხმაურს კოდის განხილვისას.

დატრო ექსპორტი

გარდაქმნის დადასტურებულ .dtro ფაილს სხვა მანქანით წაკითხულ ფორმატში. ნაგულისხმევად ბეჭდავს stdout-ზე; გამოიყენეთ --out ფაილში ჩასაწერად.

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"
Yesსამიზნე ფორმატი.
--outpathNoჩაწერეთ გამოსავალი ამ ფაილის გზაზე stdout-ის ნაცვლად.
  • *`dot` — Graphviz DOT ენა. შეიტანეთ მილი dot -Tsvg ინსტრუმენტთა ჯაჭვის გარეთ მორგებული რენდერისთვის.
  • `cytoscape` — Cytoscape.js JSON. იმპორტი პირდაპირ ნებისმიერ Cytoscape-ში ინტერაქტიული ვებ დიაგრამებისთვის.
  • `json` — უზარმაზარ JSON IR (სრული DatroIR ობიექტი). მოიხმარეთ ნებისმიერ მორგებულ CI შემოწმებაში, სკრიპტში ან რენდერერში.

დატრო რენდერი

გადასცემს .dtro ფაილს პიქსელ-სრულყოფილ SVG-ზე ან PNG-ზე Graphviz-ის საშუალებით. მოითხოვს dot ბინარის ინსტალაციას Graphviz-ისგან და $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
--outpathYesგამომავალი ფაილის გზა. გაფართოება განსაზღვრავს ფორმატს: .svg ან .png.
ℹ️

Graphviz საჭირო

დააინსტალირეთ Graphviz graphviz.org/download-დან და დარწმუნდით, რომ graphviz.org/download არის თქვენს $PATH-ზე. CLI გამოდის აშკარა შეცდომით, თუ ის არ არის ნაპოვნი.

დატრო მდ

ამუშავებს Datro შემოღობილი კოდის ბლოკებს, რომლებიც ჩაშენებულია Markdown ფაილებში. ორი ქვებრძანება: check (მხოლოდ ვალიდაცია, არ არის საჭირო Graphviz) და render (ვალიდაცია + SVG/PNG გამომავალი).

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

ჩაშენებული ბლოკის ფორმატი

მონიშნეთ შემოღობილი ბლოკი datro ენის იდენტიფიკატორით. ბლოკი უნდა შეიცავდეს ჯადოსნურ სათაურს:

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 ბლოკი ჩართულია Markdown ფაილში
FieldTypeRequiredDescription
--out-dirpathNomd render — დირექტორია გამომავალი ფაილებისთვის. ნაგულისხმევია იმავე დირექტორიაში, როგორც შეყვანის Markdown ფაილი.
--formatstring
"svg""png"
Nomd render - გამომავალი ფორმატი.
--jsonflagNomd check — გამოაქვს შედეგები JSON-ის სახით, ადამიანის მიერ წაკითხული ტექსტის ნაცვლად.
--no-failflagNoგააგრძელეთ დარჩენილი ბლოკების დამუშავება მაშინაც კი, როდესაც ზოგიერთს აქვს შეცდომები. გადის 0.

CI ინტეგრაცია

დაამატეთ ეს ნაბიჯები ნებისმიერ CI მილსადენს, რათა განახორციელოთ დიაგრამის ხარისხი ყოველი გაყვანის მოთხოვნაზე:

.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 - ვერ ხერხდება, თუ დიაგრამა არ არის კანონიკურად ფორმატირებული.
  • validate --no-info - ვერ ხერხდება შეცდომის სიმძიმის დიაგნოსტიკაზე.
  • md check --json - ამოწმებს ყველა ჩაშენებულ დიაგრამას; JSON გამომავალი ინტეგრირდება ანოტაციის ინსტრუმენტებთან.

შემდეგი ნაბიჯები

  • წაიკითხეთ .dtro სრული .dtro სინტაქსისთვის.
  • ისწავლეთ embed diagrams in Markdown შენიშვნის ან მონიშვნის მოდულით.
გახსენით დიაგრამის შემქმნელი

ბრაუზერი გირჩევნია? გადამოწმება და რენდერი არაფრის ინსტალაციის გარეშე.

Schema v1 · Updated September 2026