I stopped waiting for the perfect UML tool and just built it myself. π οΈ
Meet kUML β a passion project Iβve been dreaming about for years, built entirely in #Kotlin.
Itβs still a work in progress, but the core is rock-solid and the feature set is already bigger than most tools on the market today. If you do UML, SysML, or C4 modeling, this is for you.
Features and roadmap in the reply below! π
What's your biggest pain point with current modeling tools?
#BuildInPublic #SoftwareArchitecture
Plus:
Composite Structure: nested parts + delegation/assembly port connectors fixed
UML Association: role names + multiplicities at both ends
Named-parameter sweep across all DSL examples (LLM-first consistency)
Also in v0.16.0:
C4 LaTeX/TikZ renderer β all 5 diagram types, 6 element types, 10 TikZ styles.
Publication-quality architecture diagrams from .kuml.kts, straight to LaTeX.
The event matrix: 13 definitions Γ 3 positions Γ 2 behaviors.
Encoded as a Kotlin type system β not 36 subclasses. BpmnConstraintChecker enforces 7 structural rules at model time, before a single SVG is rendered.
BPMN 2.0 XML import + export β XXE-secure.
Round-trips with Camunda, Flowable, and Zeebe. Bring in existing .bpmn files, edit in DSL, export back. No lock-in.
Collaboration support: Pools, Lanes, and Message Flows.
Model cross-participant processes the way the spec intends β with proper swimlane structure and inter-pool communication, rendered as OMG-compliant SVG.
@BpmnDsl β a type-safe Kotlin DSL for BPMN 2.0.
Tasks, Gateways, Events, Sequence Flows β all modeled in .kuml.kts. No XML editor. No drag-and-drop GUI. Just code that compiles and renders.
π· kUML v0.16.0 is out.
BPMN 2.0 is now the fourth first-class modeling language β joining UML, SysML 2, and C4. One Kotlin DSL. One CLI. Four notations.
https://t.co/jQKmE6aZMc
DAP Constitution Showcase β a real decentralized governance constitution modeled as a kUML State Machine, anchored on-chain.
Not a toy. A live example of blockchain-backed model governance that actually runs.
Multi-Chain Merge Engine.
Govern the same model across multiple chains simultaneously. Conflicting on-chain states? The merge engine resolves them deterministically.
DAP Platform uses this for cross-chain protocol governance.
EIP-712 signatures on Ethereum.
kuml chain sign produces a typed structured signature that proves author identity at the protocol level β not just "signed by a wallet", but signed over the model hash with full domain separation.
ModelHasher computes a canonical SHA-256 of any kUML model.
Deterministic. OS-independent. The same model always produces the same hash β whether you're on macOS, Linux, or a CI runner.
No XML round-trips. The .kuml.kts file IS the artifact.
βοΈ kUML v0.15.0 is out.
First modeling tool with native blockchain integration. Your .kuml.kts architecture files can now be anchored on EVM, Sui, and Aptos β cryptographically, from the terminal.
Architecture that compiles.
https://t.co/uAcsXhRoxq
βDu sollst keine anderen GΓΆtter neben mir haben." (2 Mose 20,3)
Die Freikirchen tragen die Freiheit im Namen β doch in der Corona-Zeit fielen viele vor dem Staat nieder wie Israel vor dem goldenen Kalb. Etatismus ist der GΓΆtzendienst unserer Zeit.
#Freikirchen#Corona #StaatAlsErsatzgott #GoldenesKalb #EcclesiaLibertasBiblica
https://t.co/lRXN36Grxu
π¦ kUML v0.14.0 is out.
kuml import --format structurizr now ships with the canonical Simon Brown "Big Bank Plc" workspace as a committed showcase. The most-cited C4 example, parsed and rendered end-to-end.
https://t.co/biLNZEwLnF