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-ում:
💡

Pre-commit կեռիկ

Ավելացրե՛ք datro fmt --check arch.dtro-ը ձեր նախնական կատարման կեռիկին, որպեսզի կանոնական ձևը միշտ պահպանվի: Սա կանխում է ձևաչափիչի աղմուկը կոդի վերանայման ժամանակ:

datro արտահանում

Փոխակերպում է վավերացված .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Թիրախային ձևաչափ.
--outpathNostdout-ի փոխարեն ելք գրեք այս ֆայլի ճանապարհին:
  • *`dot` — Graphviz DOT լեզու: Խողովակ մտցրեք dot -Tsvg՝ գործիքների շղթայից դուրս հատուկ մատուցման համար:
  • `cytoscape` — Cytoscape.js JSON: Ներմուծեք անմիջապես ցանկացած Cytoscape օրինակ՝ ինտերակտիվ վեբ դիագրամների համար:
  • `json` — Անկորուստ JSON IR (լրիվ DatroIR օբյեկտ)։ Օգտագործեք ցանկացած մաքսային CI ստուգում, սցենար կամ մատուցող:

datro մատուցել

Graphviz-ի միջոցով .dtro ֆայլ է հաղորդում պիքսել-կատարյալ SVG-ին կամ PNG-ին: Պահանջում է, որ 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 md

Գործընթացներ 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 դիտողությամբ կամ նշելով այն փլագինով:
Բացեք Diagram Maker-ը

Նախընտրե՞լ զննարկիչը: Վավերացրեք և ներկայացրեք առանց որևէ բան տեղադրելու:

Schema v1 · Updated September 2026