BMAD-METHOD/expansion-packs/bmad-c4-architecture/templates/c4-container-tmpl.yaml

108 lines
3.8 KiB
YAML

name: "C4 Container Diagram Template"
description: "Template for creating C4 Container diagrams using Structurizr DSL"
version: "1.0"
sections:
- id: system-context
title: "System Context"
instruction: "Reference the existing system from context diagram"
fields:
- id: system-name
title: "System Name"
type: "text"
required: true
placeholder: "Must match the system from context diagram"
- id: system-description
title: "System Description"
type: "textarea"
required: true
placeholder: "Brief description of the system"
- id: containers
title: "Containers"
instruction: "Define the high-level technical building blocks"
fields:
- id: web-applications
title: "Web Applications"
type: "list"
required: false
placeholder: "List web applications (e.g., React SPA, Angular App)"
- id: mobile-applications
title: "Mobile Applications"
type: "list"
required: false
placeholder: "List mobile applications (e.g., iOS App, Android App)"
- id: apis
title: "APIs and Services"
type: "list"
required: false
placeholder: "List APIs and microservices (e.g., REST API, GraphQL API)"
- id: databases
title: "Databases"
type: "list"
required: false
placeholder: "List databases (e.g., PostgreSQL, MongoDB, Redis)"
- id: file-systems
title: "File Systems"
type: "list"
required: false
placeholder: "List file systems (e.g., S3, Azure Blob, Local Storage)"
- id: technologies
title: "Technology Stack"
instruction: "Specify technologies for each container"
fields:
- id: frontend-tech
title: "Frontend Technologies"
type: "textarea"
required: false
placeholder: "Technologies for web and mobile applications"
- id: backend-tech
title: "Backend Technologies"
type: "textarea"
required: false
placeholder: "Technologies for APIs and services"
- id: data-tech
title: "Data Technologies"
type: "textarea"
required: false
placeholder: "Technologies for databases and storage"
- id: relationships
title: "Container Relationships"
instruction: "Define how containers communicate"
fields:
- id: communication-patterns
title: "Communication Patterns"
type: "textarea"
required: true
placeholder: "How do containers communicate? (e.g., REST API, Message Queue)"
- id: data-flow
title: "Data Flow"
type: "textarea"
required: true
placeholder: "How does data flow between containers?"
- id: security-boundaries
title: "Security Boundaries"
type: "textarea"
required: false
placeholder: "What security boundaries exist between containers?"
- id: llm-instructions
title: "LLM Instructions"
instruction: "AI processing instructions for generating the DSL"
content: |
Based on the provided information, generate a complete Structurizr DSL workspace that creates a C4 Container diagram. Follow these guidelines:
1. Use the system name and description from the context diagram
2. Create container elements for each identified container
3. Specify appropriate technologies for each container
4. Define relationships between containers with proper technology labels
5. Include relationships from users to containers
6. Include relationships to external systems
7. Create a container view that shows all containers
8. Apply autolayout for better diagram appearance
9. Use the default theme
The DSL should be complete and ready to use with Structurizr Lite.