Getting started
Build
drumlin needs a Rust toolchain and has no other dependencies.
cargo build --release
The binary is target/release/drumlin.
Your first diagram
Create hello.uml:
diagram component "Hello"
component Client { requires IGreeting }
component Server { provides IGreeting }
Render it:
drumlin render hello.uml -o hello.svg
Both components name IGreeting, so drumlin wires the socket on the client to the
lollipop on the server with a dashed dependency arrow. You did not have to draw it. Neither
component uses a port; between two ports that have one
interface each, drumlin draws a joined ball-and-socket instead. See
Interface.
Commands
| Command | Effect |
|---|---|
drumlin render <file> | Writes SVG to stdout |
drumlin render <file> -o <out.svg> | Writes SVG to a file |
drumlin check <file> | Validates only. Exit code is 0 when the file is valid |
Grow the diagram
Add a package and an ordinary connector:
diagram component "Hello, again"
package "Backend" {
component Server { provides IGreeting }
component Store <<database>>
Server --> Store : read
}
component Client { requires IGreeting }
Continue with File basics, pick a diagram kind under Diagrams (such as Sequence diagrams), or see all the examples.