in internal/doc/doc.go [168:185]
func mermaidFromArchitectureRecursion(sb *strings.Builder, mg *alzlib.ArchitectureManagementGroup) {
archs := mg.Archetypes()
archetypes := make([]string, len(archs))
for i, a := range archs {
archetypes[i] = a.Name()
}
archetypesStr := strings.Join(archetypes, ", ")
fmtStr := ` %s["%s
(%s)"]
`
sb.WriteString(fmt.Sprintf(fmtStr, mg.Id(), mg.DisplayName(), archetypesStr))
children := mg.Children()
slices.SortFunc(children, sortFuncArchitectureManagementGroup)
for _, child := range children {
sb.WriteString(fmt.Sprintf(" %s --> %s\n", mg.Id(), child.Id()))
mermaidFromArchitectureRecursion(sb, child)
}
}