Enzo.Diagrams.Cli 0.1.0

dotnet tool install --global Enzo.Diagrams.Cli --version 0.1.0
                    
This package contains a .NET tool you can call from the shell/command line.
dotnet new tool-manifest
                    
if you are setting up this repo
dotnet tool install --local Enzo.Diagrams.Cli --version 0.1.0
                    
This package contains a .NET tool you can call from the shell/command line.
#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 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

This package has no dependencies.

Version Downloads Last Updated
0.1.0 122 9/3/2026