Skip to content

Commit 7fb6542

Browse files
author
CHANGE_ME
committed
docs: extend Structurizr notes and Simon Brown person page
Made-with: Cursor
1 parent a676d5b commit 7fb6542

5 files changed

Lines changed: 99 additions & 3 deletions

File tree

pages/Person___Simon Brown.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
alias:: [[People/Simon Brown]]
2+
- # Simon Brown
3+
- ## About
4+
- Independent **software architecture** consultant, speaker, and author; founder of **[[Structurizr]]**; originated the **[[C4]]** model for visualising software architecture at multiple levels of abstraction.
5+
- Author of *Software Architecture for Developers* and related material; runs workshops and writes at his site below.
6+
- ## Web
7+
- [simonbrown.je](https://www.simonbrown.je)
8+
- [[Person/Simon Brown/GitHub]] https://github.com/simonbrowndotje
9+
- [C4 model](https://c4model.com/) (site and docs for **[[C4]]**)
10+
- [Structurizr](https://structurizr.com/) (product home for **[[Structurizr]]**)
11+
- [LinkedIn](https://www.linkedin.com/in/simonbrownjersey)

pages/Structurizr.md

Lines changed: 70 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,73 @@
11
logseq-entity:: [[Logseq/Entity/software-project]]
22
tags:: [[Software/Library]]
33
see-also:: [[diagrams]], [[D2]], [[Diagram/Mermaid]]
4-
- # [Structurizr DSL](https://docs.structurizr.com/dsl)
5-
- **Architecture-as-code** aligned with the **C4 model**: multiple derived views, groups, **styles**, **themes**, and element-level icons; intentionally **not UML**, with a constrained **box-centric** visual notation.
6-
- Strong when the goal is **rigorous software architecture modeling** and consistent views; a weaker match than [[diagrams]] or [[D2]] for a **rich vendor/service-icon** “architecture board” look.
4+
5+
- # [Structurizr](https://structurizr.com/)
6+
- **Architecture-as-code** toolkit aligned with **[[C4]]**: define architecture in a **[Structurizr DSL](https://docs.structurizr.com/dsl)** workspace and derive multiple consistent views (system context, container, component, deployment, etc.).
7+
- Intentionally **not [[UML]]**; constrained **box-centric** notation with **styles**, **themes**, groups, and element-level icons—suited to **rigorous software architecture modeling** rather than a rich vendor-icon “architecture board” look (compare [[diagrams]], [[D2]], [[Diagram/Mermaid]]).
8+
- ## Core idea
9+
- **Precise, maintainable** architecture models; **reproducible diagrams** from source; fits **developer workflows** (repos, CI/CD).
10+
- ## Mental model
11+
- Think in **three layers**—same underlying model, different surfaces:
12+
- ### 1. Core engine (free, open source)
13+
- DSL **parser**, **validation**, **diagram generation**, **export** (PlantUML, Mermaid, PNG/SVG, static site).
14+
- **Local-first**: usable **without** any server; the engine is the center of gravity.
15+
- ### 2. Delivery modes (interfaces over the engine)
16+
- **CLI-style**: `export`, `validate`, etc.
17+
- **Local viewer** (`local`): lightweight **local web UI**.
18+
- **Static export**: pure **HTML/JS** output.
19+
- **Server** (`server`): multi-user **workspace** hosting (see licensing).
20+
- **vNext direction**: tooling consolidated toward a **single binary / Docker image**—you pick a **command mode** (`local`, `server`, `export`, …) rather than a separate “product” name.
21+
- ### 3. Structurizr server (optional, commercialized)
22+
- **Workspace storage**, **collaboration**, **auth**, **APIs**.
23+
- Prebuilt **server** binaries are **licensed**; the **core** modeling/export path stays **free** without it.
24+
- ## Free workflows (no server, no license)
25+
- You do **not** need a server, a license, or a hosted UI to use the **core** toolchain.
26+
- ### A. Diagrams only
27+
- ~~~
28+
export -workspace workspace.dsl -format plantuml
29+
~~~
30+
- Or raster output, e.g.:
31+
- ~~~
32+
export -workspace workspace.dsl -format png
33+
~~~
34+
- ### B. Static site
35+
- ~~~
36+
export -workspace workspace.dsl -format static -output site
37+
~~~
38+
- Produces `index.html` plus JS/CSS—**no backend**, **client-side** interactive diagrams; host on GitHub Pages, S3, or any static host.
39+
- ### C. Optional local UI
40+
- ~~~
41+
local /path/to/workspace
42+
~~~
43+
- Runs a **local** viewer only when you want it.
44+
- ## [[Structurizr/export/Static site]] export vs layout
45+
- Static export supports **zoom/pan**, **view navigation**, **tooltips**, **perspectives**.
46+
- Does **not** bundle full **documentation** or **ADR** workflows by itself—those live outside or in other tooling.
47+
- **Layout**: the **DSL** does **not** persist manual layout; **JSON** workspace format **does**. So **auto-layout** can stay DSL-only; **hand-tuned layout** → prefer **JSON** (or a JSON-backed workflow).
48+
- ## [[Structurizr/MCP/Server]]
49+
- A **stateless HTTP-oriented wrapper** around Structurizr capabilities for **agents and automation**—**not** the same as the multi-user **Structurizr server**, and **not** a paid component by itself.
50+
- **Typical**: parse DSL → JSON, **validate**, **export** diagrams (PlantUML, Mermaid), **inspect** models.
51+
- **Optional**: proxy **CRUD** against a **Structurizr server** (then **server licensing** applies).
52+
- **Local-only MCP** use → **core engine** only, no license for normal open-source/local paths.
53+
- ## How the pieces relate
54+
- ~~~
55+
DSL → Core engine → Output
56+
57+
CLI / Docker / MCP
58+
59+
Optional:
60+
MCP → Structurizr server (licensed)
61+
~~~
62+
- ## Typical pipelines
63+
- **Minimal**: [[DSL]] → export → [[png]] / [[Mermaid]] / [[PlantUML]]
64+
- **Docs site**: [[DSL]] → export static → [[GitHub/Pages]] (or any static host)
65+
- **Interactive local**: `DSL → local`
66+
- **Automation / AI**: `DSL → MCP → pipeline or agent → diagrams`
67+
- ## Strengths and trade-offs
68+
- **Strengths**: **C4** rigor, **consistent multi-view** models, **architecture as code**.
69+
- **Trade-offs**: less **visually free-form** than general diagram languages; weaker fit than some tools for **dense vendor/service icon** boards (again vs [[diagrams]], [[D2]], [[Diagram/Mermaid]]).
70+
- ## Summary
71+
- **Core** = **DSL → compiler → diagrams** (free, local-first).
72+
- **Server** = optional **hosted** collaboration layer (**licensed** where applicable).
73+
- **MCP** = **programmable** wrapper for integration—not required for everyday use.
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
- [MCP server | Structurizr](https://docs.structurizr.com/ai/mcp)

pages/Structurizr___Tool.md

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
alias:: [[Structurizr Community Tooling]]
2+
3+
- # [Community tooling | Structurizr](https://docs.structurizr.com/community)
4+
- ## [[My Notes]]
5+
- In particular, of note
6+
- [[IDE/Extension]]s
7+
- [[VSCode/Extension]] [VS Code extension](https://marketplace.visualstudio.com/items?itemName=systemticks.c4-dsl-extension) (syntax highlighting and diagram previews)
8+
- [[JetBrains]] [IntelliJ IDEA plugin](https://github.com/dirkgroot/structurizr-dsl-intellij-plugin)
9+
- [[Neovim]] [tree-sitter-structurizr](https://github.com/josteink/tree-sitter-structurizr) (Structurizr DSL grammar for tree-sitter)
10+
- Authoring tools
11+
- [Model](https://github.com/goadesign/model): Create your software architecture models and diagrams in Go.
12+
- recently updated
13+
- cli
14+
- other
15+
- [[Erode]]
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
- [Static site | Structurizr](https://docs.structurizr.com/export/static-site)
2+
- [Demo](https://c4model.com/example/)

0 commit comments

Comments
 (0)