81 lines
1.7 KiB
Markdown
81 lines
1.7 KiB
Markdown
# Generate Structurizr DSL
|
|
|
|
## Purpose
|
|
|
|
Generate a complete Structurizr DSL workspace from existing C4 model information.
|
|
|
|
## Prerequisites
|
|
|
|
- C4 model elements defined
|
|
- Relationships mapped
|
|
- View requirements specified
|
|
|
|
## Process
|
|
|
|
### 1. Gather Model Information
|
|
|
|
- All persons, systems, containers, and components
|
|
- All relationships and their properties
|
|
- View requirements and styling preferences
|
|
- Workspace metadata
|
|
|
|
### 2. Structure the DSL
|
|
|
|
- Create workspace header with name and description
|
|
- Define model section with all elements
|
|
- Define views section with all diagrams
|
|
- Apply styling and theming
|
|
|
|
### 3. Generate Complete DSL
|
|
|
|
```dsl
|
|
workspace "Workspace Name" "Description" {
|
|
model {
|
|
// All model elements
|
|
user = person "User" "End user"
|
|
softwareSystem = softwareSystem "System" "Main system" {
|
|
// Containers and components
|
|
}
|
|
}
|
|
|
|
views {
|
|
// All views
|
|
systemContext softwareSystem {
|
|
include *
|
|
autolayout lr
|
|
}
|
|
container softwareSystem {
|
|
include *
|
|
autolayout lr
|
|
}
|
|
component container {
|
|
include *
|
|
autolayout lr
|
|
}
|
|
theme default
|
|
}
|
|
}
|
|
```
|
|
|
|
### 4. Validation
|
|
|
|
- [ ] DSL syntax is correct
|
|
- [ ] All elements are properly defined
|
|
- [ ] All relationships are valid
|
|
- [ ] Views are properly configured
|
|
- [ ] Styling is consistent
|
|
|
|
## Output
|
|
|
|
- Complete Structurizr DSL file
|
|
- Validation report
|
|
- Usage instructions
|
|
|
|
## Elicitation Questions
|
|
|
|
1. What should be the workspace name and description?
|
|
2. Are there any specific styling requirements?
|
|
3. What views need to be included?
|
|
4. Are there any custom properties or tags needed?
|
|
5. What deployment information should be included?
|