Enzo.Diagrams.Cli
0.1.0
dotnet tool install --global Enzo.Diagrams.Cli --version 0.1.0
dotnet new tool-manifest
dotnet tool install --local Enzo.Diagrams.Cli --version 0.1.0
#tool dotnet:?package=Enzo.Diagrams.Cli&version=0.1.0
nuke :add-package Enzo.Diagrams.Cli --version 0.1.0
Enzo.Diagrams.Cli
Enzo.Diagrams.Cli is a headless diagram-as-code tool for creating diagrams from the Enzo.Diagrams DSL.
Write a diagram using a small text-based language, validate it, and render it as SVG or PNG directly from your terminal.
Enzo.Diagrams currently supports:
- Flowcharts
- Sequence diagrams
- A lightweight BPMN subset
- SVG rendering
- PNG rendering
- DSL validation
Installation
Install the CLI as a global .NET tool:
dotnet tool install --global Enzo.Diagrams.Cli
Verify the installation:
enzo-diagram --help
Quick Start
Create a file named order.enzo:
flow Order
start Received "Order received"
task Validate "Validate order"
decision Valid "Order valid?"
task Process "Process order"
task Reject "Reject order"
end Completed "Completed"
end Cancelled "Cancelled"
Received -> Validate
Validate -> Valid
Valid -> Process : yes
Valid -> Reject : no
Process -> Completed
Reject -> Cancelled
Validate the diagram:
enzo-diagram validate order.enzo
Render it:
enzo-diagram render order.enzo
This generates:
order.svg
PNG Output
Render directly to PNG:
enzo-diagram render order.enzo --format png
This generates:
order.png
Custom Output Path
Specify the output file explicitly:
enzo-diagram render order.enzo --output diagrams/order.svg
Sequence Diagrams
Enzo.Diagrams also supports sequence diagrams:
sequence Checkout
actor Customer "Customer"
participant Web "Web App"
participant Api "Order API"
participant Payment "Payment Service"
participant Database "PostgreSQL"
Customer -> Web: Click checkout
Web -> Api: POST /orders
Api -> Payment: Charge order #123
Payment --> Api: 201 Created
Api -> Database: Save order #123
Database --> Api: Order saved
Api --> Web: 201 Created
Web --> Customer: Show confirmation
Render it with the same command:
enzo-diagram render checkout.enzo
BPMN
A lightweight BPMN-inspired syntax is supported:
bpmn OrderFulfillment
start Received
task Validate "Validate order"
gateway Valid "Order valid?"
task Process "Process order"
task Reject "Reject order"
end Completed
end Cancelled
Received -> Validate
Validate -> Valid
Valid -> Process : yes
Valid -> Reject : no
Process -> Completed
Reject -> Cancelled
The BPMN implementation intentionally supports a small subset rather than the full BPMN 2.0 specification.
Validation
Validate DSL without producing an output file:
enzo-diagram validate diagram.enzo
Invalid diagrams return syntax or semantic validation errors to help identify problems such as malformed DSL or references to unknown nodes.
Designed for Humans and AI Agents
Enzo.Diagrams is designed so the same DSL can be written manually or generated by an AI agent.
The intended workflow is:
Natural language
↓
AI
↓
Enzo.Diagrams DSL
↓
Parser
↓
Validator
↓
Layout
↓
SVG
↓
optional PNG
The AI generates the DSL.
Enzo.Diagrams performs the parsing, validation, layout, and rendering.
This keeps the rendering engine independent from any specific AI provider.
Updating
Update to the latest version:
dotnet tool update --global Enzo.Diagrams.Cli
Uninstalling
Remove the global tool:
dotnet tool uninstall --global Enzo.Diagrams.Cli
Requirements
A compatible .NET runtime/SDK is required to install and run the tool.
Project
Enzo.Diagrams is open source.
The repository contains the diagram language, parser, semantic validation, layout engine, SVG/PNG rendering, CLI, HTTP API, examples, and AI integration documentation.
For full DSL documentation, API usage, examples, architecture, and contribution instructions, see the Enzo.Diagrams GitHub repository.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
This package has no dependencies.
| Version | Downloads | Last Updated |
|---|---|---|
| 0.1.0 | 122 | 9/3/2026 |