Converts structurizr workspace.json into a interface description list listing the properties of the interfaces in left aligned markdown list.
You need a workspace.json file from structurizr that has relationships between interfaces and components with properties on the interfaces. The properties for all interfaces need to have the same keys
It takes a workspace.json as input that has to contain properties on the relationships like this:
workspace {
model {
user = person "User" "A user of my software system."
softwareSystem1 = softwareSystem "Software System" "My software system." {
container1 = container "Internal Container" {
component1 = component "component" {
perspectives {
"view" "dsgvo"
}
}
}
}
user -> softwareSystem1 "Uses" {
properties {
"Encryption" "Yes, TLS 1.2"
"Data classifiation" "Personal data"
"Purpose" "User management"
}
}
}
The above shows the corresponding workspace.dsl but the json file is derived from it.
The output is a markdown file named workspace.md
that looks like this:
| Encryption | Data classifiation | Purpose |
| :--- | :--- | :--- |
| Yes, TLS 1.2 | Personal data | User management |
- Clone the repository
- cd into the repository
- Run
dotnet build
- Run
dotnet interface-description-list.dll -w <path to workspace.json>
- Run
chmod +x run.sh && ./run.sh "<path to directory that contains workspace.json>
chmod +x run.sh && ./run.sh /Users/username/Documents/structurizr/
The output file is the same as the input file with the extension changed to .md