etdl-cli 0.3.1

ETDL CLI: compile and validate .etdl documents with IEC 61025 fault tree and IEC 62502 event tree analysis; generates a native Rust runtime (default) plus optional thin language bindings (--target java/python/go/dotnet) for microservices
etdl-cli-0.3.1 is not a library.

etdl-cli

Crates.io Docs.rs

The etdl command-line tool — compile, validate, analyze, and inspect ETDL (Event Tree Definition Language) documents: event tree analysis (IEC 62502) and fault tree analysis (IEC 61025) with build-time-resolved probabilities, generating a native Rust runtime by default or a thin developer binding in Java, Python, Go, or C# on request.

Install

cargo install etdl-cli

Commands

Command Purpose
etdl compile <FILE> [--target <TARGET>] Compile to rust (default), or java/python/go/dotnet (comma-separated for several at once)
etdl validate <FILE...> Validate one or more documents/directories, no code generation
etdl analyze <FILE> Reliability summary: fault-tree/branch counts, resolved probabilities
etdl discover <PATH> Static analysis producing candidate failure modes mapped to the reliability ontology (discovery feature)
etdl reliability {resolve,validate,inspect,estimate,trace} Resolve external reliability probabilities and their provenance (reliability feature)
etdl stdlib {list,resolve} Inspect the ETDL Standard Library (built-in/optional/user resolution)
etdl tree-event {validate,summarize} Inspect Generic Tree Event Supplement (x-tree-event) trees
etdl capabilities Report which optional features this specific binary was compiled with
etdl conformance {status,manifest} Objective per-area conformance status and the machine-readable conformance manifest

Optional targets, on by default

--target java/python/go/dotnet each generate a thin binding to the same compiled Rust ETDL runtime (etdl-runtime-ffi) — never a per-language reimplementation of branch/SLA accounting, retry backoff, or ECEL evaluation. Each is gated by its own Cargo feature (target-java, target-python, target-go, target-dotnet; all default-on, since none of the underlying generator crates need their language's toolchain installed merely to build this CLI). rust always remains available in a normal install.

etdl compile order-fulfillment.etdl --target java --out-dir ./generated
etdl compile order-fulfillment.etdl --target rust,java,python,go,dotnet --out-dir ./generated

Full target architecture: docs/architecture/targets.md.

Reliability, on by default

The reliability feature wires in etdl reliability ... subcommands against the built-in etdl-reliability-core layer. The discovery feature adds etdl discover, backed by etdl-failure-discovery. Both can be disabled with --no-default-features for a minimal, dependency-light install.

Full command reference: docs/CLI.md.

License

Apache-2.0