Command-line plugin reference
transpiler-mate cwl2puml [OPTIONS] SOURCE
SOURCE is a CWL location, optionally followed by a workflow fragment such as
workflow.cwl#main. Without a fragment, the plugin renders every workflow.
Only Workflow processes are selected as top-level targets.
Options
| Option | Default | Description |
|---|---|---|
--diagrams NAME |
All seven types | Repeat to select multiple diagram types. |
--output PATH |
./docs |
Output directory. |
--convert-image / --no-convert-image |
Disabled | Render images through a PlantUML server. |
--puml-server HOST |
uml.planttext.com |
Server hostname, without a URL scheme or path. |
--image-format NAME |
png |
Image format: png or svg. |
Diagram names are activity, component, class, sequence, state,
ogc_processes_inputs, and ogc_processes_outputs. Enum choices are
case-insensitive in the runtime CLI.
Source loading and application metadata validation happen in the runtime before conversion. See the runtime's help for shared options and source requirements.
Supported diagrams
| Diagram name | Content |
|---|---|
activity |
Workflow steps and control flow. |
component |
Workflow components and their connections. |
class |
Process inputs, outputs, and types. |
sequence |
Step interactions, including nested workflows. |
state |
Input/output dependencies. |
ogc_processes_inputs |
OGC API - Processes input descriptions as a PlantUML JSON diagram. |
ogc_processes_outputs |
OGC API - Processes output descriptions as a PlantUML JSON diagram. |
Generated output
Files are written under <output>/<workflow.id>/, using the workflow ID
supplied by the runtime. For a workflow named main, selecting component and
sequence with SVG conversion produces:
out/
└── main/
├── component.puml
├── component.svg
├── sequence.puml
└── sequence.svg
Missing directories are created and existing files with the same names are overwritten. Unselected files in the output directory are retained.
The OGC diagram types write ogc_processes_inputs.puml and
ogc_processes_outputs.puml, containing JSON inside PlantUML
@startjson / @endjson blocks. They do not create a processes.json file.
For JSON strings without PlantUML wrappers, use the
Python I/O helpers.
Plugin registration
The package declares this entry point:
[project.entry-points."transpiler_mate.plugins"]
cwl2puml = "cwl2puml.plugin:cwl2puml"
The plugin validates options with Cwl2PumlOptions and receives a
TranspilerContext from the runtime. See the API reference for the
registration and options model.
For installation and commands, see Convert workflows.