A DSL for f#cking around with Structurizr.
- Types to describe diagrams
- Serialize to JSON
- Deserialize from JSON
- High-level strongly typed DSL for defining diagrams
- Low level data structure that interops with Structurizr .NET
- Styles
- Export to Graphviz
- Export to Structurizr.Dgml
- Other export formats...
Below is the definition of a landscape diagram. See the script file example of using this to generate the Structurizr json.
let contract_management_landscape_diagram =
system_landscape_diagram "Contract Management" "A test description" Size.A5_Landscape {
user (A.person "Buyer" "Negotiates policies with suppliers and orders..." (730,230))
system (A.system "Acme Contract Management System" "Manages contracts negotiated with suppliers" (705,830))
relationship "Buyer" "Captures contracts" "Acme Contract Management System"
}
This results in the following json that can then be used to generate the landscape diagram.