Use when creating or updating architecture views with proper element inclusion, parent context, neighbor relationships, and category folder organization (C1/C2/C3/Use Cases/Deployment/Operations).
Create a view that shows the parent boundary, the focus, and the neighbors — without over-constraining layout or redrawing the model.
Default answer shape:
Do not use for dynamic/sequence flows — use create-sequence-view.
| Rule | What it means |
|---|
| Parent context is mandatory | show what contains the focus |
| Neighbors are mandatory for focused views | include incoming and outgoing interactions |
| Category folders are mandatory | every view except view index belongs in a named views '...' block |
| Deployment views use explicit includes | list environment, zones, clusters if any, and each VM explicitly |
| Logical app traffic stays in the model | deployment views inherit it via instanceOf; do not redraw it |
| Layout hints are last resort | start with no rank hints |
views { view index ... } → root index onlyviews 'C1' → static system contextviews 'C2' → container viewsviews 'C3' → component viewsviews 'Use Cases' → dynamic views (handled by create-sequence-view)views 'Deployment' → infrastructure topologyviews 'Operations' → security/monitoring/DR/CI-CD operational viewsviews 'C3' {
view c3_uploadService {
title 'Upload Service'
include corePlatform.uploadService
include corePlatform.uploadService.*
include -> corePlatform.uploadService
include corePlatform.uploadService ->
}
}
Use the same idea for C2, but with the parent system instead of the parent container.
views 'C1' {
view c1_context {
title 'System Context'
include customer
include corePlatform
include externalPaymentGateway
}
}
views 'Deployment' {
deployment view overview {
title 'Production Infrastructure'
include production
include production.dmzTier
include production.appTier
include production.dataTier
include production.dmzTier.webVm
include production.appTier.apiVm
include production.appTier.workerVm
include production.dataTier.dbVm
}
}
Node_App only when showing placement or a real infra-specific exceptionproduction.* or production.** for production-grade views// ✅ Good
include production
include production.appTier
include production.appTier.apiVm
include production.dataTier.dbVm
// ❌ Too vague
include production.*
// ❌ Too deep for a normal topology view
include production.appTier.apiVm.apiApp
Start with no rank hints.
Add layout control only when the preview is still hard to read:
autoLayout TopBottom
rank source { user }
Rules of thumb:
autoLayout LeftRight is optional, not a defaultrank hints, the include scope is probably wrongWhen you create a new detail view, wire the parent overview to it:
include corePlatform.api with {
navigateTo c3_api
}
Still provide a useful scaffold:
open-view, parent boundary confirmation, include cleanup)C1/C2/C3 instead of Use Casesrank hints before fixing the include setUse PATTERNS.md for longer worked examples and more specialized layouts.