Aim of the project is to build a tool that simplifies the generation/maintenance of C4 Model diagrams.
With this in mind, Structurizr's approach of diagrams and models as code is a good tool for the diagram generation.
What's found to be missing?
- Easy and fast export of all diagrams
- Generation of additional documentation in a portable format (markdown, in our case)
- Auto-generation of containers/components
- Java 17
- Maven
- (TBV) https://graphviz.org/
$env:PATH="C:\a\software\graphviz-8.1.0-win32\Graphviz\bin;${env:PATH}"
mvn clean package
There are several way to run the application.
Compile and run with maven
mvn clean compile exec:java "-Dexec.args=$arg1 $arg2 ..." "-Dexec.mainClass=$mainClass"
Run from the target folder
java -cp target/structurizr-md-jar-with-dependencies.jar $mainClass $arg1 $arg2 ...
Run the distribution version
java -cp structurizr-md.jar $mainClass $arg1 $arg2 ...
mvn clean compile exec:java "-Dexec.args=sample.dsl sample/md/images/" "-Dexec.mainClass=it.vitalegi.structurizr.md.GenerateImagesApp"
Will read configuration from file sample.dsl
and export the images in sample/images
folder.
Both values can be replaced with absolute/relative paths.
mvn clean compile exec:java "-Dexec.args=sample.dsl sample/md/" "-Dexec.mainClass=it.vitalegi.structurizr.md.GenerateMarkdownApp"
Position | Mandatory | Default value | Description |
---|---|---|---|
1 | Yes | N/A | Path to the DSL file |
2 | Yes | N/A | Folder where to create the generated content |
3 | No | true | true → generate all default views. false → use only the views available in the model |
Thanks, but no.
Keep them.
You are on your own.