Architecture model
One model, every level. The preview updates as you type and autosaves on this device.
1,427/20,000 characters
Syntax cheat sheet
A subset of the Structurizr DSL, so the exported workspace opens in Structurizr too. Values are in order: name, description, technology (containers and components only), tags.
user = person "Name" "Description"
- A person: a user, role or persona. Add "External" as a third value to mark someone outside your organization.
app = softwareSystem "Name" "Description" "External"
- A software system. Tag systems you do not build "External" so they render grey.
app = softwareSystem "Name" { web = container "Name" "Description" "Technology" }- Containers go inside a system block: apps, APIs, databases, queues. Tag a data store "Database" or a broker "Queue" for the matching shape.
api = container "API" "..." "Node.js" { auth = component "Auth" "..." "NextAuth" }- Components go inside a container block: controllers, services, modules.
user -> web "Uses" "HTTPS"
- A relationship with a description and an optional technology. Relationships between nested elements also appear, lifted, on higher-level views.
// comment
- Lines starting with // or # are ignored. A full Structurizr workspace { model { ... } views { ... } } block also works; views are regenerated.