archsight 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (122) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGELOG.md +24 -0
  3. data/CODE_OF_CONDUCT.md +10 -0
  4. data/CONTRIBUTING.md +186 -0
  5. data/Dockerfile +39 -0
  6. data/LICENSE.txt +201 -0
  7. data/README.md +170 -0
  8. data/SECURITY.md +27 -0
  9. data/exe/archsight +9 -0
  10. data/lib/archsight/annotations/aggregators.rb +109 -0
  11. data/lib/archsight/annotations/annotation.rb +168 -0
  12. data/lib/archsight/annotations/architecture_annotations.rb +59 -0
  13. data/lib/archsight/annotations/backup_annotations.rb +21 -0
  14. data/lib/archsight/annotations/computed.rb +264 -0
  15. data/lib/archsight/annotations/email_recipient.rb +35 -0
  16. data/lib/archsight/annotations/generated_annotations.rb +17 -0
  17. data/lib/archsight/annotations/git_annotations.rb +21 -0
  18. data/lib/archsight/annotations/relation_resolver.rb +160 -0
  19. data/lib/archsight/cli.rb +120 -0
  20. data/lib/archsight/configuration.rb +36 -0
  21. data/lib/archsight/database.rb +183 -0
  22. data/lib/archsight/documentation.rb +171 -0
  23. data/lib/archsight/graph.rb +113 -0
  24. data/lib/archsight/helpers.rb +210 -0
  25. data/lib/archsight/linter.rb +77 -0
  26. data/lib/archsight/mcp/analyze_resource_tool.rb +222 -0
  27. data/lib/archsight/mcp/base.rb +48 -0
  28. data/lib/archsight/mcp/query_tool.rb +113 -0
  29. data/lib/archsight/mcp/resource_doc_tool.rb +87 -0
  30. data/lib/archsight/mcp.rb +6 -0
  31. data/lib/archsight/query/ast.rb +279 -0
  32. data/lib/archsight/query/errors.rb +39 -0
  33. data/lib/archsight/query/evaluator.rb +707 -0
  34. data/lib/archsight/query/lexer.rb +289 -0
  35. data/lib/archsight/query/parser.rb +506 -0
  36. data/lib/archsight/query.rb +68 -0
  37. data/lib/archsight/renderer.rb +134 -0
  38. data/lib/archsight/resources/application_component.rb +346 -0
  39. data/lib/archsight/resources/application_interface.rb +54 -0
  40. data/lib/archsight/resources/application_service.rb +222 -0
  41. data/lib/archsight/resources/base.rb +300 -0
  42. data/lib/archsight/resources/business_actor.rb +195 -0
  43. data/lib/archsight/resources/business_constraint.rb +32 -0
  44. data/lib/archsight/resources/business_process.rb +37 -0
  45. data/lib/archsight/resources/business_product.rb +206 -0
  46. data/lib/archsight/resources/business_requirement.rb +56 -0
  47. data/lib/archsight/resources/compliance_evidence.rb +42 -0
  48. data/lib/archsight/resources/data_object.rb +49 -0
  49. data/lib/archsight/resources/motivation_goal.rb +37 -0
  50. data/lib/archsight/resources/motivation_outcome.rb +33 -0
  51. data/lib/archsight/resources/motivation_stakeholder.rb +38 -0
  52. data/lib/archsight/resources/strategy_capability.rb +38 -0
  53. data/lib/archsight/resources/technology_artifact.rb +154 -0
  54. data/lib/archsight/resources/technology_interface.rb +34 -0
  55. data/lib/archsight/resources/technology_node.rb +42 -0
  56. data/lib/archsight/resources/technology_service.rb +35 -0
  57. data/lib/archsight/resources/technology_system_software.rb +37 -0
  58. data/lib/archsight/resources/view.rb +51 -0
  59. data/lib/archsight/resources.rb +49 -0
  60. data/lib/archsight/template.rb +49 -0
  61. data/lib/archsight/version.rb +5 -0
  62. data/lib/archsight/web/application.rb +290 -0
  63. data/lib/archsight/web/doc/archimate.md +215 -0
  64. data/lib/archsight/web/doc/computed_annotations.md +316 -0
  65. data/lib/archsight/web/doc/icons.md +303 -0
  66. data/lib/archsight/web/doc/index.md.erb +74 -0
  67. data/lib/archsight/web/doc/modeling.md +200 -0
  68. data/lib/archsight/web/doc/search.md +227 -0
  69. data/lib/archsight/web/doc/togaf.md +255 -0
  70. data/lib/archsight/web/doc/tool.md +90 -0
  71. data/lib/archsight/web/public/css/artifact.css +985 -0
  72. data/lib/archsight/web/public/css/base.css +201 -0
  73. data/lib/archsight/web/public/css/graph.css +106 -0
  74. data/lib/archsight/web/public/css/highlight.min.css +10 -0
  75. data/lib/archsight/web/public/css/iconoir.css +22 -0
  76. data/lib/archsight/web/public/css/instance.css +329 -0
  77. data/lib/archsight/web/public/css/layout.css +421 -0
  78. data/lib/archsight/web/public/css/mermaid-layers.css +188 -0
  79. data/lib/archsight/web/public/css/pico.min.css +4 -0
  80. data/lib/archsight/web/public/favicon.ico +0 -0
  81. data/lib/archsight/web/public/img/archimate.png +0 -0
  82. data/lib/archsight/web/public/img/togaf-high-level.png +0 -0
  83. data/lib/archsight/web/public/js/graph-zoom.js +18 -0
  84. data/lib/archsight/web/public/js/highlight.min.js +3899 -0
  85. data/lib/archsight/web/public/js/htmx.min.js +1 -0
  86. data/lib/archsight/web/public/js/mermaid-init.js +88 -0
  87. data/lib/archsight/web/public/js/mermaid.min.js +2811 -0
  88. data/lib/archsight/web/public/js/sparkline.js +42 -0
  89. data/lib/archsight/web/public/js/svg-pan-zoom.min.js +3 -0
  90. data/lib/archsight/web/public/js/svg-zoom-controls.js +93 -0
  91. data/lib/archsight/web/views/index.haml +12 -0
  92. data/lib/archsight/web/views/partials/artifact/_activity.haml +55 -0
  93. data/lib/archsight/web/views/partials/artifact/_agentic.haml +25 -0
  94. data/lib/archsight/web/views/partials/artifact/_deployment.haml +29 -0
  95. data/lib/archsight/web/views/partials/artifact/_git_info.haml +16 -0
  96. data/lib/archsight/web/views/partials/artifact/_language_stats.haml +53 -0
  97. data/lib/archsight/web/views/partials/artifact/_links.haml +24 -0
  98. data/lib/archsight/web/views/partials/artifact/_project_estimate.haml +26 -0
  99. data/lib/archsight/web/views/partials/artifact/_repositories.haml +55 -0
  100. data/lib/archsight/web/views/partials/artifact/_team.haml +83 -0
  101. data/lib/archsight/web/views/partials/artifact/_workflow.haml +69 -0
  102. data/lib/archsight/web/views/partials/components/_activity.haml +37 -0
  103. data/lib/archsight/web/views/partials/components/_git.haml +17 -0
  104. data/lib/archsight/web/views/partials/components/_jira.haml +18 -0
  105. data/lib/archsight/web/views/partials/components/_languages.haml +29 -0
  106. data/lib/archsight/web/views/partials/components/_owner.haml +15 -0
  107. data/lib/archsight/web/views/partials/components/_repositories.haml +37 -0
  108. data/lib/archsight/web/views/partials/components/_status.haml +23 -0
  109. data/lib/archsight/web/views/partials/instance/_detail.haml +99 -0
  110. data/lib/archsight/web/views/partials/instance/_graph.haml +6 -0
  111. data/lib/archsight/web/views/partials/instance/_list.haml +84 -0
  112. data/lib/archsight/web/views/partials/instance/_relations.haml +43 -0
  113. data/lib/archsight/web/views/partials/instance/_requirements.haml +41 -0
  114. data/lib/archsight/web/views/partials/instance/_view_detail.haml +57 -0
  115. data/lib/archsight/web/views/partials/layout/_content.haml +40 -0
  116. data/lib/archsight/web/views/partials/layout/_error.haml +22 -0
  117. data/lib/archsight/web/views/partials/layout/_head.haml +24 -0
  118. data/lib/archsight/web/views/partials/layout/_navigation.haml +20 -0
  119. data/lib/archsight/web/views/partials/layout/_sidebar.haml +27 -0
  120. data/lib/archsight/web/views/search.haml +53 -0
  121. data/lib/archsight.rb +17 -0
  122. metadata +311 -0
@@ -0,0 +1,303 @@
1
+ # Icons Reference
2
+
3
+ This tool uses [Iconoir](https://iconoir.com/), an open-source icon library with 1,671 icons. Icons are used to visually represent resource types.
4
+
5
+ ## Resource Type Icons
6
+
7
+ Current icon assignments for each resource type:
8
+
9
+ | Resource | Icon | Preview |
10
+ |----------|------|---------|
11
+ | ApplicationInterface | `usb` | <i class="iconoir-usb"></i> |
12
+ | ApplicationService | `cube` | <i class="iconoir-cube"></i> |
13
+ | BusinessActor | `community` | <i class="iconoir-community"></i> |
14
+ | BusinessConstraint | `prohibition` | <i class="iconoir-prohibition"></i> |
15
+ | BusinessProcess | `kanban-board` | <i class="iconoir-kanban-board"></i> |
16
+ | BusinessProduct | `box-iso` | <i class="iconoir-box-iso"></i> |
17
+ | BusinessRequirement | `task-list` | <i class="iconoir-task-list"></i> |
18
+ | ComplianceEvidence | `shield-check` | <i class="iconoir-shield-check"></i> |
19
+ | DataObject | `database` | <i class="iconoir-database"></i> |
20
+ | ApplicationComponent | `component` | <i class="iconoir-component"></i> |
21
+ | TechnologySystemSoftware | `terminal-tag` | <i class="iconoir-terminal-tag"></i> |
22
+ | MotivationGoal | `archery` | <i class="iconoir-archery"></i> |
23
+ | MotivationOutcome | `badge-check` | <i class="iconoir-badge-check"></i> |
24
+ | MotivationStakeholder | `user-crown` | <i class="iconoir-user-crown"></i> |
25
+ | TechnologyNode | `server-connection` | <i class="iconoir-server-connection"></i> |
26
+ | StrategyCapability | `strategy` | <i class="iconoir-strategy"></i> |
27
+ | TechnologyArtifact | `puzzle` | <i class="iconoir-puzzle"></i> |
28
+ | TechnologyInterface | `data-transfer-both` | <i class="iconoir-data-transfer-both"></i> |
29
+ | TechnologyService | `cloud` | <i class="iconoir-cloud"></i> |
30
+ | View | `view-grid` | <i class="iconoir-view-grid"></i> |
31
+
32
+ ## Icon Categories
33
+
34
+ ### Technology & Development
35
+
36
+ Code, servers, databases, and development tools.
37
+
38
+ | Icon | Name |
39
+ |------|------|
40
+ | code | `code` |
41
+ | code-brackets | `code-brackets` |
42
+ | code-brackets-square | `code-brackets-square` |
43
+ | terminal | `terminal` |
44
+ | terminal-tag | `terminal-tag` |
45
+ | server | `server` |
46
+ | server-connection | `server-connection` |
47
+ | database | `database` |
48
+ | database-tag | `database-tag` |
49
+ | database-backup | `database-backup` |
50
+ | database-check | `database-check` |
51
+ | database-export | `database-export` |
52
+ | database-restore | `database-restore` |
53
+ | database-settings | `database-settings` |
54
+ | database-stats | `database-stats` |
55
+ | cpu | `cpu` |
56
+ | cpu-warning | `cpu-warning` |
57
+ | cloud | `cloud` |
58
+ | cloud-check | `cloud-check` |
59
+ | cloud-download | `cloud-download` |
60
+ | cloud-upload | `cloud-upload` |
61
+ | cloud-sync | `cloud-sync` |
62
+ | git | `git` |
63
+ | git-branch | `git-branch` |
64
+ | git-commit | `git-commit` |
65
+ | git-fork | `git-fork` |
66
+ | git-merge | `git-merge` |
67
+ | git-pull-request | `git-pull-request` |
68
+ | github | `github` |
69
+ | gitlab-full | `gitlab-full` |
70
+ | repository | `repository` |
71
+ | npm | `npm` |
72
+ | bug | `bug` |
73
+ | developer | `developer` |
74
+
75
+ ### Network & Connectivity
76
+
77
+ Network, connections, and data transfer.
78
+
79
+ | Icon | Name |
80
+ |------|------|
81
+ | network | `network` |
82
+ | network-left | `network-left` |
83
+ | network-right | `network-right` |
84
+ | network-reverse | `network-reverse` |
85
+ | wifi | `wifi` |
86
+ | wifi-off | `wifi-off` |
87
+ | internet | `internet` |
88
+ | globe | `globe` |
89
+ | link | `link` |
90
+ | link-slash | `link-slash` |
91
+ | data-transfer-both | `data-transfer-both` |
92
+ | data-transfer-down | `data-transfer-down` |
93
+ | data-transfer-up | `data-transfer-up` |
94
+ | plug-type-a | `plug-type-a` |
95
+ | plug-type-c | `plug-type-c` |
96
+ | plug-type-g | `plug-type-g` |
97
+ | plug-type-l | `plug-type-l` |
98
+ | antenna | `antenna` |
99
+ | antenna-signal | `antenna-signal` |
100
+ | bluetooth | `bluetooth` |
101
+ | dns | `dns` |
102
+ | ip-address-tag | `ip-address-tag` |
103
+
104
+ ### Security & Compliance
105
+
106
+ Security, shields, and access control.
107
+
108
+ | Icon | Name |
109
+ |------|------|
110
+ | shield | `shield` |
111
+ | shield-check | `shield-check` |
112
+ | shield-alert | `shield-alert` |
113
+ | shield-broken | `shield-broken` |
114
+ | shield-eye | `shield-eye` |
115
+ | shield-loading | `shield-loading` |
116
+ | shield-question | `shield-question` |
117
+ | shield-search | `shield-search` |
118
+ | shield-xmark | `shield-xmark` |
119
+ | lock | `lock` |
120
+ | lock-slash | `lock-slash` |
121
+ | key | `key` |
122
+ | key-command | `key-command` |
123
+ | fingerprint | `fingerprint` |
124
+ | fingerprint-check-circle | `fingerprint-check-circle` |
125
+ | security-pass | `security-pass` |
126
+ | password-check | `password-check` |
127
+ | password-cursor | `password-cursor` |
128
+ | privacy-policy | `privacy-policy` |
129
+ | prohibition | `prohibition` |
130
+
131
+ ### Users & People
132
+
133
+ People, teams, and organizations.
134
+
135
+ | Icon | Name |
136
+ |------|------|
137
+ | user | `user` |
138
+ | user-badge-check | `user-badge-check` |
139
+ | user-circle | `user-circle` |
140
+ | user-crown | `user-crown` |
141
+ | user-plus | `user-plus` |
142
+ | user-star | `user-star` |
143
+ | user-xmark | `user-xmark` |
144
+ | community | `community` |
145
+ | group | `group` |
146
+ | people-tag | `people-tag` |
147
+ | male | `male` |
148
+ | female | `female` |
149
+ | profile-circle | `profile-circle` |
150
+
151
+ ### Business & Strategy
152
+
153
+ Business, strategy, and organizational concepts.
154
+
155
+ | Icon | Name |
156
+ |------|------|
157
+ | strategy | `strategy` |
158
+ | kanban-board | `kanban-board` |
159
+ | agile | `agile` |
160
+ | okrs | `okrs` |
161
+ | building | `building` |
162
+ | bank | `bank` |
163
+ | briefcase | - |
164
+ | presentation | `presentation` |
165
+ | leaderboard | `leaderboard` |
166
+ | leaderboard-star | `leaderboard-star` |
167
+ | graph-up | `graph-up` |
168
+ | graph-down | `graph-down` |
169
+ | stats-up-square | `stats-up-square` |
170
+ | stats-down-square | `stats-down-square` |
171
+ | candlestick-chart | `candlestick-chart` |
172
+ | dashboard | `dashboard` |
173
+ | dashboard-dots | `dashboard-dots` |
174
+ | dashboard-speed | `dashboard-speed` |
175
+
176
+ ### Goals & Achievements
177
+
178
+ Goals, targets, and accomplishments.
179
+
180
+ | Icon | Name |
181
+ |------|------|
182
+ | archery | `archery` |
183
+ | archery-match | `archery-match` |
184
+ | trophy | `trophy` |
185
+ | medal | `medal` |
186
+ | medal-1st | `medal-1st` |
187
+ | badge-check | `badge-check` |
188
+ | star | `star` |
189
+ | star-solid | `star-solid` |
190
+ | crown | `crown` |
191
+ | bright-crown | `bright-crown` |
192
+
193
+ ### Documents & Files
194
+
195
+ Documents, pages, and file management.
196
+
197
+ | Icon | Name |
198
+ |------|------|
199
+ | page | `page` |
200
+ | page-edit | `page-edit` |
201
+ | page-plus | `page-plus` |
202
+ | page-search | `page-search` |
203
+ | page-star | `page-star` |
204
+ | multiple-pages | `multiple-pages` |
205
+ | clipboard-check | `clipboard-check` |
206
+ | task-list | `task-list` |
207
+ | list | `list` |
208
+ | numbered-list-left | `numbered-list-left` |
209
+ | journal | `journal` |
210
+ | book | `book` |
211
+ | book-stack | `book-stack` |
212
+ | folder | `folder` |
213
+ | folder-plus | `folder-plus` |
214
+ | folder-settings | `folder-settings` |
215
+ | archive | `archive` |
216
+
217
+ ### Components & Structure
218
+
219
+ Components, boxes, and structural elements.
220
+
221
+ | Icon | Name |
222
+ |------|------|
223
+ | component | `component` |
224
+ | cube | `cube` |
225
+ | box | `box` |
226
+ | box-iso | `box-iso` |
227
+ | package | `package` |
228
+ | package-lock | `package-lock` |
229
+ | packages | `packages` |
230
+ | puzzle | `puzzle` |
231
+ | layers | - |
232
+ | view-grid | `view-grid` |
233
+ | view-columns-2 | `view-columns-2` |
234
+ | view-columns-3 | `view-columns-3` |
235
+
236
+ ### Status & Alerts
237
+
238
+ Warnings, errors, and status indicators.
239
+
240
+ | Icon | Name |
241
+ |------|------|
242
+ | warning-triangle | `warning-triangle` |
243
+ | warning-circle | `warning-circle` |
244
+ | warning-hexagon | `warning-hexagon` |
245
+ | warning-square | `warning-square` |
246
+ | info-circle | `info-circle` |
247
+ | help-circle | `help-circle` |
248
+ | check | `check` |
249
+ | check-circle | `check-circle` |
250
+ | xmark | `xmark` |
251
+ | xmark-circle | `xmark-circle` |
252
+ | bell | `bell` |
253
+ | bell-notification | `bell-notification` |
254
+ | bell-off | `bell-off` |
255
+
256
+ ### Actions & Operations
257
+
258
+ Common action icons.
259
+
260
+ | Icon | Name |
261
+ |------|------|
262
+ | plus | `plus` |
263
+ | plus-circle | `plus-circle` |
264
+ | minus | `minus` |
265
+ | minus-circle | `minus-circle` |
266
+ | refresh | `refresh` |
267
+ | reload-window | `reload-window` |
268
+ | download | `download` |
269
+ | upload | `upload` |
270
+ | import | `import` |
271
+ | settings | `settings` |
272
+ | settings-profiles | `settings-profiles` |
273
+ | tools | `tools` |
274
+ | wrench | `wrench` |
275
+ | edit | `edit` |
276
+ | edit-pencil | `edit-pencil` |
277
+ | trash | `trash` |
278
+ | copy | `copy` |
279
+ | search | `search` |
280
+ | filter | `filter` |
281
+ | sort | `sort` |
282
+
283
+ ## Usage
284
+
285
+ To use an icon in resource definitions, specify the icon name in the resource class:
286
+
287
+ ```ruby
288
+ icon 'shield-check'
289
+ ```
290
+
291
+ Icons are rendered in templates using the CSS class pattern `iconoir-{name}`:
292
+
293
+ ```html
294
+ <i class="iconoir-shield-check"></i>
295
+ ```
296
+
297
+ ## Full Icon List
298
+
299
+ All 1,671 available icons (alphabetical):
300
+
301
+ `accessibility`, `accessibility-sign`, `accessibility-tech`, `activity`, `adobe-after-effects`, `adobe-illustrator`, `adobe-indesign`, `adobe-lightroom`, `adobe-photoshop`, `adobe-xd`, `african-tree`, `agile`, `air-conditioner`, `airplane`, `airplane-helix`, `airplane-off`, `airplane-rotation`, `airplay`, `alarm`, `album`, `album-carousel`, `album-list`, `album-open`, `align-bottom-box`, `align-center`, `align-horizontal-centers`, `align-horizontal-spacing`, `align-justify`, `align-left`, `align-left-box`, `align-right`, `align-right-box`, `align-top-box`, `align-vertical-centers`, `align-vertical-spacing`, `angle-tool`, `antenna`, `antenna-off`, `antenna-signal`, `antenna-signal-tag`, `app-notification`, `app-store`, `app-window`, `apple`, `apple-half`, `apple-imac-2021`, `apple-mac`, `apple-shortcuts`, `apple-swift`, `apple-wallet`, `ar-tag`, `arc-3d`, `arc-3d-center-point`, `arcade`, `archery`, `archery-match`, `archive`, `area-search`, `arrow-archery`, `arrow-down`, `arrow-down-circle`, `arrow-down-left`, `arrow-down-left-circle`, `arrow-down-left-square`, `arrow-down-right`, `arrow-down-right-circle`, `arrow-down-right-square`, `arrow-down-tag`, `arrow-email-forward`, `arrow-enlarge-tag`, `arrow-left`, `arrow-left-circle`, `arrow-left-tag`, `arrow-reduce-tag`, `arrow-right`, `arrow-right-circle`, `arrow-right-tag`, `arrow-separate`, `arrow-separate-vertical`, `arrow-union`, `arrow-union-vertical`, `arrow-up`, `arrow-up-circle`, `arrow-up-left`, `arrow-up-left-circle`, `arrow-up-left-square`, `arrow-up-right`, `arrow-up-right-circle`, `arrow-up-right-square`, `arrow-up-tag`, `arrows-up-from-line`, `asana`, `asterisk`, `at-sign`, `at-sign-circle`, `atom`, `attachment`, `augmented-reality`, `auto-flash`, `avi-format`, `axes`, `backward-15-seconds`, `badge-check`, `bag`, `balcony`, `bank`, `barcode`, `basketball`, `basketball-field`, `bathroom`, `battery-25`, `battery-50`, `battery-75`, `battery-charging`, `battery-empty`, `battery-full`, `battery-indicator`, `battery-slash`, `battery-warning`, `bbq`, `beach-bag`, `bed`, `bed-ready`, `behance`, `behance-tag`, `bell`, `bell-notification`, `bell-off`, `bicycle`, `bin`, `bin-full`, `bin-half`, `bin-minus-in`, `bin-plus-in`, `binocular`, `birthday-cake`, `bishop`, `bitbucket`, `bitcoin-circle`, `bitcoin-rotate-out`, `bluetooth`, `bluetooth-tag`, `bold`, `bold-square`, `bonfire`, `book`, `book-lock`, `book-stack`, `bookmark`, `bookmark-book`, `bookmark-circle`, `border-bl`, `border-bottom`, `border-br`, `border-inner`, `border-left`, `border-out`, `border-right`, `border-tl`, `border-top`, `border-tr`, `bounce-left`, `bounce-right`, `bowling-ball`, `box`, `box-3d-center`, `box-3d-point`, `box-3d-three-points`, `box-iso`, `boxing-glove`, `brain`, `brain-electricity`, `brain-research`, `brain-warning`, `bread-slice`, `bridge-3d`, `bridge-surface`, `bright-crown`, `bright-star`, `brightness`, `brightness-window`, `bubble-download`, `bubble-income`, `bubble-outcome`, `bubble-search`, `bubble-star`, `bubble-upload`, `bubble-warning`, `bubble-xmark`, `bug`, `building`, `bus`, `bus-green`, `bus-stop`, `c-square`, `cable-tag`, `calculator`, `calendar`, `calendar-arrow-down`, `calendar-arrow-up`, `calendar-check`, `calendar-minus`, `calendar-plus`, `calendar-rotate`, `calendar-xmark`, `camera`, `candlestick-chart`, `car`, `card-lock`, `card-no-access`, `card-reader`, `card-shield`, `card-wallet`, `cart`, `cart-alt`, `cart-minus`, `cart-plus`, `cash`, `cell-2x2`, `cellar`, `center-align`, `chat-bubble`, `chat-bubble-check`, `chat-bubble-empty`, `chat-bubble-question`, `chat-bubble-translate`, `chat-bubble-warning`, `chat-bubble-xmark`, `chat-lines`, `chat-minus-in`, `chat-plus-in`, `check`, `check-circle`, `check-square`, `chocolate`, `chromecast`, `chromecast-active`, `church`, `church-side`, `cigarette-slash`, `cinema-old`, `circle`, `circle-spark`, `city`, `clipboard-check`, `clock`, `clock-rotate-right`, `closed-captions-tag`, `closet`, `cloud`, `cloud-bookmark`, `cloud-check`, `cloud-desync`, `cloud-download`, `cloud-square`, `cloud-sunny`, `cloud-sync`, `cloud-upload`, `cloud-xmark`, `code`, `code-brackets`, `code-brackets-square`, `codepen`, `coffee-cup`, `coin-slash`, `coins`, `coins-swap`, `collage-frame`, `collapse`, `color-filter`, `color-picker`, `color-wheel`, `combine`, `commodity`, `community`, `comp-align-bottom`, `comp-align-left`, `comp-align-right`, `comp-align-top`, `compact-disc`, `compass`, `component`, `compress`, `compress-lines`, `computer`, `constrained-surface`, `consumable`, `contactless`, `control-slider`, `cookie`, `cooling-square`, `copy`, `copyright`, `corner-bottom-left`, `corner-bottom-right`, `corner-top-left`, `corner-top-right`, `cpu`, `cpu-warning`, `cracked-egg`, `creative-commons`, `credit-card`, `credit-card-slash`, `credit-cards`, `crib`, `crop`, `crop-rotate-bl`, `crop-rotate-br`, `crop-rotate-tl`, `crop-rotate-tr`, `crown`, `crown-circle`, `css3`, `cube`, `cube-bandage`, `cube-cut-with-curve`, `cube-dots`, `cube-hole`, `cube-replace-face`, `cube-scan`, `cursor-pointer`, `curve-array`, `cut`, `cutlery`, `cycling`, `cylinder`, `dash-flag`, `dashboard`, `dashboard-dots`, `dashboard-speed`, `data-transfer-both`, `data-transfer-check`, `data-transfer-down`, `data-transfer-up`, `data-transfer-warning`, `database`, `database-backup`, `database-check`, `database-export`, `database-monitor`, `database-restore`, `database-script`, `database-script-minus`, `database-script-plus`, `database-search`, `database-settings`, `database-star`, `database-stats`, `database-tag`, `database-warning`, `database-xmark`, `de-compress`, `delivery`, `delivery-truck`, `depth`, `design-nib`, `design-pencil`, `desk`, `developer`, `dew-point`, `dialpad`, `diameter`, `dice-five`, `dice-four`, `dice-one`, `dice-six`, `dice-three`, `dice-two`, `dimmer-switch`, `director-chair`, `discord`, `dishwasher`, `display-4k`, `divide`, `divide-three`, `dna`, `dns`, `doc-magnifying-glass`, `doc-magnifying-glass-in`, `doc-star`, `doc-star-in`, `dogecoin-circle`, `dogecoin-rotate-out`, `dollar`, `dollar-circle`, `domotic-warning`, `donate`, `dot-arrow-down`, `dot-arrow-left`, `dot-arrow-right`, `dot-arrow-up`, `dots-grid-3x3`, `double-check`, `download`, `download-circle`, `download-data-window`, `download-square`, `drag`, `drag-hand-gesture`, `drawer`, `dribbble`, `drone`, `drone-charge-full`, `drone-charge-half`, `drone-charge-low`, `drone-check`, `drone-landing`, `drone-refresh`, `drone-take-off`, `drone-xmark`, `droplet`, `droplet-check`, `droplet-half`, `droplet-snow-flake-in`, `ease-curve-control-points`, `ease-in`, `ease-in-control-point`, `ease-in-out`, `ease-out`, `ease-out-control-point`, `ecology-book`, `edit`, `edit-pencil`, `egg`, `eject`, `electronics-chip`, `electronics-transistor`, `elevator`, `ellipse-3d`, `ellipse-3d-three-points`, `emoji`, `emoji-ball`, `emoji-blink-left`, `emoji-blink-right`, `emoji-look-down`, `emoji-look-left`, `emoji-look-right`, `emoji-look-up`, `emoji-puzzled`, `emoji-quite`, `emoji-really`, `emoji-sad`, `emoji-satisfied`, `emoji-sing-left`, `emoji-sing-left-note`, `emoji-sing-right`, `emoji-sing-right-note`, `emoji-surprise`, `emoji-surprise-alt`, `emoji-talking-angry`, `emoji-talking-happy`, `emoji-think-left`, `emoji-think-right`, `empty-page`, `energy-usage-window`, `enlarge`, `erase`, `ethereum-circle`, `ethereum-rotate-out`, `euro`, `euro-square`, `ev-charge`, `ev-charge-alt`, `ev-plug`, `ev-plug-charging`, `ev-plug-xmark`, `ev-station`, `ev-tag`, `exclude`, `expand`, `expand-lines`, `extrude`, `eye`, `eye-closed`, `f-square`, `face-3d-draft`, `face-id`, `facebook`, `facebook-tag`, `facetime`, `farm`, `fast-arrow-down`, `fast-arrow-down-square`, `fast-arrow-left`, `fast-arrow-left-square`, `fast-arrow-right`, `fast-arrow-right-square`, `fast-arrow-up`, `fast-arrow-up-square`, `fast-down-circle`, `fast-left-circle`, `fast-right-circle`, `fast-up-circle`, `favourite-book`, `favourite-window`, `female`, `figma`, `file-not-found`, `fill-color`, `fillet-3d`, `filter`, `filter-alt`, `filter-list`, `filter-list-circle`, `finder`, `fingerprint`, `fingerprint-check-circle`, `fingerprint-circle`, `fingerprint-lock-circle`, `fingerprint-scan`, `fingerprint-square`, `fingerprint-window`, `fingerprint-xmark-circle`, `fire-flame`, `fish`, `fishing`, `flare`, `flash`, `flash-off`, `flask`, `flip`, `flip-reverse`, `floppy-disk`, `floppy-disk-arrow-in`, `floppy-disk-arrow-out`, `flower`, `fog`, `folder`, `folder-minus`, `folder-plus`, `folder-settings`, `folder-warning`, `font-question`, `football`, `football-ball`, `forward`, `forward-15-seconds`, `forward-message`, `frame`, `frame-alt`, `frame-alt-empty`, `frame-minus-in`, `frame-plus-in`, `frame-select`, `frame-simple`, `frame-tool`, `fridge`, `fx`, `fx-tag`, `gamepad`, `garage`, `gas`, `gas-tank`, `gas-tank-droplet`, `gif-format`, `gift`, `git`, `git-branch`, `git-cherry-pick-commit`, `git-commit`, `git-compare`, `git-fork`, `git-merge`, `git-pull-request`, `git-pull-request-closed`, `github`, `github-circle`, `gitlab-full`, `glass-empty`, `glass-fragile`, `glass-half`, `glass-half-alt`, `glasses`, `globe`, `golf`, `google`, `google-circle`, `google-docs`, `google-drive`, `google-drive-check`, `google-drive-sync`, `google-drive-warning`, `google-home`, `google-one`, `gps`, `graduation-cap`, `graph-down`, `graph-up`, `grid-minus`, `grid-plus`, `grid-xmark`, `group`, `gym`, `h-square`, `half-cookie`, `half-moon`, `hammer`, `hand-brake`, `hand-card`, `hand-cash`, `hand-contactless`, `handbag`, `hard-drive`, `hashtag`, `hat`, `hd`, `hd-display`, `hdr`, `headset`, `headset-bolt`, `headset-help`, `headset-warning`, `health-shield`, `healthcare`, `heart`, `heart-arrow-down`, `heating-square`, `heavy-rain`, `help-circle`, `help-square`, `heptagon`, `hexagon`, `hexagon-dice`, `hexagon-plus`, `historic-shield`, `historic-shield-alt`, `home`, `home-alt`, `home-alt-slim`, `home-alt-slim-horiz`, `home-hospital`, `home-sale`, `home-secure`, `home-shield`, `home-simple`, `home-simple-door`, `home-table`, `home-temperature-in`, `home-temperature-out`, `home-user`, `horiz-distribution-left`, `horiz-distribution-right`, `horizontal-merge`, `horizontal-split`, `hospital`, `hospital-circle`, `hot-air-balloon`, `hourglass`, `house-rooms`, `html5`, `ice-cream`, `iconoir`, `import`, `inclination`, `industry`, `infinite`, `info-circle`, `input-field`, `input-output`, `input-search`, `instagram`, `internet`, `intersect`, `intersect-alt`, `ios-settings`, `ip-address-tag`, `iris-scan`, `italic`, `italic-square`, `jellyfish`, `journal`, `journal-page`, `jpeg-format`, `jpg-format`, `kanban-board`, `key`, `key-back`, `key-command`, `key-minus`, `key-plus`, `key-xmark`, `keyframe`, `keyframe-align-center`, `keyframe-align-horizontal`, `keyframe-align-vertical`, `keyframe-minus`, `keyframe-minus-in`, `keyframe-plus`, `keyframe-plus-in`, `keyframe-position`, `keyframes`, `keyframes-couple`, `keyframes-minus`, `keyframes-plus`, `label`, `lamp`, `language`, `laptop`, `laptop-charging`, `laptop-dev-mode`, `laptop-fix`, `laptop-warning`, `layout-left`, `layout-right`, `leaderboard`, `leaderboard-star`, `leaf`, `learning`, `lens`, `lens-plus`, `lifebelt`, `light-bulb`, `light-bulb-off`, `light-bulb-on`, `line-space`, `linear`, `link`, `link-slash`, `link-xmark`, `linkedin`, `linux`, `list`, `list-select`, `litecoin-circle`, `litecoin-rotate-out`, `lock`, `lock-slash`, `lock-square`, `loft-3d`, `log-in`, `log-no-access`, `log-out`, `long-arrow-down-left`, `long-arrow-down-right`, `long-arrow-left-down`, `long-arrow-left-up`, `long-arrow-right-down`, `long-arrow-right-up`, `long-arrow-up-left`, `long-arrow-up-right`, `lot-of-cash`, `lullaby`, `mac-control-key`, `mac-dock`, `mac-option-key`, `mac-os-window`, `magic-wand`, `magnet`, `magnet-energy`, `mail`, `mail-in`, `mail-open`, `mail-out`, `male`, `map`, `map-pin`, `map-pin-minus`, `map-pin-plus`, `map-pin-xmark`, `map-xmark`, `maps-arrow`, `maps-arrow-diagonal`, `maps-arrow-xmark`, `maps-go-straight`, `maps-turn-back`, `maps-turn-left`, `maps-turn-right`, `mask-square`, `mastercard-card`, `mastodon`, `math-book`, `maximize`, `medal`, `medal-1st`, `media-image`, `media-image-folder`, `media-image-list`, `media-image-plus`, `media-image-xmark`, `media-video`, `media-video-folder`, `media-video-list`, `media-video-plus`, `media-video-xmark`, `medium`, `megaphone`, `menu`, `menu-scale`, `message`, `message-alert`, `message-text`, `meter-arrow-down-right`, `metro`, `microphone`, `microphone-check`, `microphone-minus`, `microphone-mute`, `microphone-plus`, `microphone-speaking`, `microphone-warning`, `microscope`, `minus`, `minus-circle`, `minus-hexagon`, `minus-square`, `minus-square-dashed`, `mirror`, `mobile-dev-mode`, `mobile-fingerprint`, `mobile-voice`, `modern-tv`, `modern-tv-4k`, `money-square`, `moon-sat`, `more-horiz`, `more-horiz-circle`, `more-vert`, `more-vert-circle`, `motorcycle`, `mouse-button-left`, `mouse-button-right`, `mouse-scroll-wheel`, `movie`, `mpeg-format`, `multi-bubble`, `multi-mac-os-window`, `multi-window`, `multiple-pages`, `multiple-pages-empty`, `multiple-pages-minus`, `multiple-pages-plus`, `multiple-pages-xmark`, `music-double-note`, `music-double-note-plus`, `music-note`, `music-note-plus`, `n-square`, `nav-arrow-down`, `nav-arrow-left`, `nav-arrow-right`, `nav-arrow-up`, `navigator`, `navigator-alt`, `neighbourhood`, `network`, `network-left`, `network-reverse`, `network-right`, `new-tab`, `nintendo-switch`, `no-smoking-circle`, `non-binary`, `notes`, `npm`, `npm-square`, `number-0-square`, `number-1-square`, `number-2-square`, `number-3-square`, `number-4-square`, `number-5-square`, `number-6-square`, `number-7-square`, `number-8-square`, `number-9-square`, `numbered-list-left`, `numbered-list-right`, `o-square`, `octagon`, `off-tag`, `oil-industry`, `okrs`, `on-tag`, `one-finger-select-hand-gesture`, `one-point-circle`, `open-book`, `open-in-browser`, `open-in-window`, `open-new-window`, `open-select-hand-gesture`, `open-vpn`, `orange-half`, `orange-slice`, `orange-slice-alt`, `organic-food`, `organic-food-square`, `orthogonal-view`, `package`, `package-lock`, `packages`, `pacman`, `page`, `page-down`, `page-edit`, `page-flip`, `page-left`, `page-minus`, `page-minus-in`, `page-plus`, `page-plus-in`, `page-right`, `page-search`, `page-star`, `page-up`, `palette`, `panorama-enlarge`, `panorama-reduce`, `pants`, `pants-pockets`, `parking`, `password-check`, `password-cursor`, `password-xmark`, `paste-clipboard`, `path-arrow`, `pause`, `pause-window`, `paypal`, `pc-check`, `pc-firewall`, `pc-mouse`, `pc-no-entry`, `pc-warning`, `peace-hand`, `peerlist`, `pen-connect-bluetooth`, `pen-connect-wifi`, `pen-tablet`, `pen-tablet-connect-usb`, `pen-tablet-connect-wifi`, `pentagon`, `people-tag`, `percent-rotate-out`, `percentage`, `percentage-circle`, `percentage-square`, `perspective-view`, `pharmacy-cross-circle`, `pharmacy-cross-tag`, `phone`, `phone-disabled`, `phone-income`, `phone-minus`, `phone-outcome`, `phone-paused`, `phone-plus`, `phone-xmark`, `piggy-bank`, `pillow`, `pin`, `pin-slash`, `pine-tree`, `pinterest`, `pipe-3d`, `pizza-slice`, `planet`, `planet-alt`, `planet-sat`, `planimetry`, `play`, `playlist`, `playlist-play`, `playlist-plus`, `playstation-gamepad`, `plug-type-a`, `plug-type-c`, `plug-type-g`, `plug-type-l`, `plus`, `plus-circle`, `plus-square`, `plus-square-dashed`, `png-format`, `pocket`, `podcast`, `pokeball`, `polar-sh`, `position`, `position-align`, `post`, `potion`, `pound`, `precision-tool`, `presentation`, `printer`, `printing-page`, `priority-down`, `priority-high`, `priority-medium`, `priority-up`, `privacy-policy`, `private-wifi`, `profile-circle`, `prohibition`, `project-curve-3d`, `puzzle`, `qr-code`, `question-mark`, `quote`, `quote-message`, `radiation`, `radius`, `rain`, `raw-format`, `receive-dollars`, `receive-euros`, `receive-pounds`, `receive-yens`, `redo`, `redo-action`, `redo-circle`, `reduce`, `refresh`, `refresh-circle`, `refresh-double`, `reload-window`, `reminder-hand-gesture`, `repeat`, `repeat-once`, `reply`, `reply-to-message`, `report-columns`, `reports`, `repository`, `restart`, `rewind`, `rhombus`, `rhombus-arrow-right`, `rings`, `rocket`, `rook`, `rotate-camera-left`, `rotate-camera-right`, `round-flask`, `rounded-mirror`, `rss-feed`, `rss-feed-tag`, `rubik-cube`, `ruler`, `ruler-arrows`, `ruler-combine`, `ruler-minus`, `ruler-plus`, `running`, `safari`, `safe`, `safe-arrow-left`, `safe-arrow-right`, `safe-open`, `sandals`, `scale-frame-enlarge`, `scale-frame-reduce`, `scan-barcode`, `scan-qr-code`, `scanning`, `scarf`, `scissor`, `scissor-alt`, `screenshot`, `sea-and-sun`, `sea-waves`, `search`, `search-engine`, `search-window`, `secure-window`, `security-pass`, `select-edge-3d`, `select-face-3d`, `select-point-3d`, `select-window`, `selective-tool`, `send`, `send-diagonal`, `send-dollars`, `send-euros`, `send-mail`, `send-pounds`, `send-yens`, `server`, `server-connection`, `settings`, `settings-profiles`, `share-android`, `share-ios`, `shield`, `shield-alert`, `shield-alt`, `shield-broken`, `shield-check`, `shield-download`, `shield-eye`, `shield-loading`, `shield-minus`, `shield-plus-in`, `shield-question`, `shield-search`, `shield-upload`, `shield-xmark`, `shirt`, `shirt-tank-top`, `shop`, `shop-four-tiles`, `shop-four-tiles-window`, `shop-window`, `shopping-bag`, `shopping-bag-arrow-down`, `shopping-bag-arrow-up`, `shopping-bag-check`, `shopping-bag-minus`, `shopping-bag-plus`, `shopping-bag-pocket`, `shopping-bag-warning`, `shopping-code`, `shopping-code-check`, `shopping-code-xmark`, `short-pants`, `short-pants-pockets`, `shortcut-square`, `shuffle`, `sidebar-collapse`, `sidebar-expand`, `sigma-function`, `simple-cart`, `sine-wave`, `single-tap-gesture`, `skateboard`, `skateboarding`, `skip-next`, `skip-prev`, `slash`, `slash-square`, `sleeper-chair`, `slips`, `small-lamp`, `small-lamp-alt`, `smartphone-device`, `smoking`, `snapchat`, `snow`, `snow-flake`, `soap`, `soccer-ball`, `sofa`, `soil`, `soil-alt`, `sort`, `sort-down`, `sort-up`, `sound-high`, `sound-low`, `sound-min`, `sound-off`, `spades`, `spark`, `sparks`, `sphere`, `spiral`, `split-area`, `split-square-dashed`, `spock-hand-gesture`, `spotify`, `square`, `square-3d-corner-to-corner`, `square-3d-from-center`, `square-3d-three-points`, `square-cursor`, `square-dashed`, `square-wave`, `stackoverflow`, `star`, `star-dashed`, `star-half-dashed`, `stat-down`, `stat-up`, `stats-down-square`, `stats-report`, `stats-up-square`, `strategy`, `stretching`, `strikethrough`, `stroller`, `style-border`, `submit-document`, `substract`, `suggestion`, `suitcase`, `sun-light`, `svg-format`, `sweep-3d`, `swimming`, `swipe-down-gesture`, `swipe-left-gesture`, `swipe-right-gesture`, `swipe-two-fingers-down-gesture`, `swipe-two-fingers-left-gesture`, `swipe-two-fingers-right-gesture`, `swipe-two-fingers-up-gesture`, `swipe-up-gesture`, `switch-off`, `switch-on`, `system-restart`, `system-shut`, `table`, `table-2-columns`, `table-rows`, `task-list`, `telegram`, `telegram-circle`, `temperature-down`, `temperature-high`, `temperature-low`, `temperature-up`, `tennis-ball`, `tennis-ball-alt`, `terminal`, `terminal-tag`, `test-tube`, `text`, `text-arrows-up-down`, `text-box`, `text-magnifying-glass`, `text-size`, `text-square`, `threads`, `three-points-circle`, `three-stars`, `thumbs-down`, `thumbs-up`, `thunderstorm`, `tif-format`, `tiff-format`, `tiktok`, `time-zone`, `timer`, `timer-off`, `tools`, `tournament`, `tower`, `tower-check`, `tower-no-access`, `tower-warning`, `trademark`, `train`, `tram`, `transition-down`, `transition-left`, `transition-right`, `transition-up`, `translate`, `trash`, `treadmill`, `tree`, `trekking`, `trello`, `triangle`, `triangle-flag`, `triangle-flag-circle`, `triangle-flag-two-stripes`, `trophy`, `truck`, `truck-green`, `truck-length`, `tunnel`, `tv`, `tv-fix`, `tv-warning`, `twitter`, `two-points-circle`, `two-seater-sofa`, `type`, `u-turn-arrow-left`, `u-turn-arrow-right`, `umbrella`, `underline`, `underline-square`, `undo`, `undo-action`, `undo-circle`, `union`, `union-alt`, `union-horiz-alt`, `unity`, `unity-5`, `unjoin-3d`, `upload`, `upload-data-window`, `upload-square`, `usb`, `user`, `user-badge-check`, `user-bag`, `user-cart`, `user-circle`, `user-crown`, `user-love`, `user-plus`, `user-scan`, `user-square`, `user-star`, `user-xmark`, `vegan`, `vegan-circle`, `vegan-square`, `vehicle-green`, `vertical-merge`, `vertical-split`, `vials`, `video-camera`, `video-camera-off`, `video-projector`, `view-360`, `view-columns-2`, `view-columns-3`, `view-grid`, `view-structure-down`, `view-structure-up`, `voice`, `voice-check`, `voice-circle`, `voice-lock-circle`, `voice-scan`, `voice-square`, `voice-xmark`, `vr-tag`, `vue-js`, `waist`, `walking`, `wallet`, `warning-circle`, `warning-hexagon`, `warning-square`, `warning-triangle`, `warning-window`, `wash`, `washing-machine`, `watering-soil`, `web-window`, `web-window-energy-consumption`, `web-window-xmark`, `webp-format`, `weight`, `weight-alt`, `whatsapp`, `white-flag`, `wifi`, `wifi-off`, `wifi-signal-none`, `wifi-tag`, `wifi-warning`, `wifi-xmark`, `wind`, `window-check`, `window-lock`, `window-no-access`, `window-tabs`, `window-xmark`, `windows`, `wolf`, `wrap-text`, `wrench`, `wristwatch`, `www`, `x`, `x-square`, `xbox-a`, `xbox-b`, `xbox-x`, `xbox-y`, `xmark`, `xmark-circle`, `xmark-square`, `xray-view`, `y-square`, `yelp`, `yen`, `yen-square`, `yoga`, `youtube`, `z-square`, `zoom-in`, `zoom-out`
302
+
303
+ For the complete visual reference, visit [iconoir.com](https://iconoir.com/).
@@ -0,0 +1,74 @@
1
+ # Documentation
2
+
3
+ Welcome to the Architecture Documentation System. This documentation covers how to use the tool, architecture modeling concepts, and reference material for all resource types.
4
+
5
+ ## Getting Started
6
+
7
+ - [Tool Guide](/doc/tool) - How to use the architecture tool
8
+ - [Query Syntax](/doc/search) - Search and filter resources
9
+ - [Architecture Modeling](/doc/modeling) - How to model your architecture
10
+
11
+ ## Resource Model
12
+
13
+ The following diagram shows all resource types organized by layer and their relationships:
14
+
15
+ ```mermaid
16
+ <%= Documentation.generate_mermaid_diagram %>
17
+ ```
18
+
19
+ ## Resource Types
20
+
21
+ ### Motivation Layer
22
+
23
+ Resources representing stakeholders, goals, and outcomes that drive architectural decisions.
24
+
25
+ - [MotivationStakeholder](/doc/resources/motivation_stakeholder) - Roles with interests in the architecture
26
+ - [MotivationGoal](/doc/resources/motivation_goal) - High-level statements of intent
27
+ - [MotivationOutcome](/doc/resources/motivation_outcome) - End results or consequences
28
+
29
+ ### Business Layer
30
+
31
+ Resources representing business processes, actors, and products.
32
+
33
+ - [BusinessActor](/doc/resources/business_actor) - Teams and organizations
34
+ - [BusinessProcess](/doc/resources/business_process) - Structured business workflows
35
+ - [BusinessProduct](/doc/resources/business_product) - Products offered to customers
36
+ - [BusinessRequirement](/doc/resources/business_requirement) - Business and compliance requirements
37
+ - [BusinessConstraint](/doc/resources/business_constraint) - Limitations and restrictions
38
+
39
+ ### Strategy Layer
40
+
41
+ Resources representing strategic capabilities and planning.
42
+
43
+ - [StrategyCapability](/doc/resources/strategy_capability) - Strategic abilities and functions
44
+
45
+ ### Application Layer
46
+
47
+ Resources representing application services, components, and interfaces.
48
+
49
+ - [ApplicationService](/doc/resources/application_service) - High-level application services
50
+ - [ApplicationComponent](/doc/resources/application_component) - Logical parts of services
51
+ - [ApplicationInterface](/doc/resources/application_interface) - APIs and interfaces between components
52
+ - [DataObject](/doc/resources/data_object) - Data structures and schemas
53
+
54
+ ### Technology Layer
55
+
56
+ Resources representing technology infrastructure and artifacts.
57
+
58
+ - [TechnologyService](/doc/resources/technology_service) - Infrastructure services
59
+ - [TechnologyArtifact](/doc/resources/technology_artifact) - Source code repositories
60
+ - [TechnologyInterface](/doc/resources/technology_interface) - Technical interfaces
61
+ - [TechnologySystemSoftware](/doc/resources/technology_system_software) - Logical infrastructure components
62
+ - [TechnologyNode](/doc/resources/technology_node) - Physical infrastructure
63
+
64
+ ### Other
65
+
66
+ - [ComplianceEvidence](/doc/resources/compliance_evidence) - Evidence for compliance requirements
67
+ - [View](/doc/resources/view) - Saved queries and custom views
68
+
69
+ ## References
70
+
71
+ - [ArchiMate](/doc/archimate) - ArchiMate 3.2 specification reference
72
+ - [TOGAF](/doc/togaf) - TOGAF framework reference
73
+ - [Icons Reference](/doc/icons) - Available icons for resource types
74
+ - [Computed Annotations](/doc/computed_annotations) - Available computed annotations
@@ -0,0 +1,200 @@
1
+ # Architecture Modeling Guide
2
+
3
+ This guide explains how to model your architecture using ArchiMate concepts and this tool's resource types.
4
+
5
+ ## Modeling Approach
6
+
7
+ Architecture modeling follows a layered approach, from business motivation down to technical implementation:
8
+
9
+ ```
10
+ Motivation Layer Why we do things (goals, stakeholders, requirements)
11
+ |
12
+ Strategy Layer What capabilities we need
13
+ |
14
+ Business Layer How business operates (processes, actors, products)
15
+ |
16
+ Application Layer What software supports the business
17
+ |
18
+ Technology Layer How software is built and deployed
19
+ ```
20
+
21
+ ## Starting Points
22
+
23
+ ### Top-Down Modeling
24
+
25
+ Start from business motivation and work down:
26
+
27
+ 1. **Define Stakeholders** - Who has interest in the architecture?
28
+ 2. **Capture Goals** - What do stakeholders want to achieve?
29
+ 3. **Derive Requirements** - What must the system do?
30
+ 4. **Design Capabilities** - What abilities are needed?
31
+ 5. **Implement Services** - What applications realize capabilities?
32
+ 6. **Deploy Artifacts** - What code and infrastructure supports services?
33
+
34
+ ### Bottom-Up Modeling
35
+
36
+ Start from existing infrastructure and work up:
37
+
38
+ 1. **Inventory Artifacts** - What repositories and code exist?
39
+ 2. **Identify Components** - What logical components are deployed?
40
+ 3. **Map Services** - What application services do components provide?
41
+ 4. **Trace to Business** - What business needs do services fulfill?
42
+ 5. **Link to Requirements** - What compliance/business requirements are met?
43
+
44
+ ## Layer-by-Layer Guidance
45
+
46
+ ### Motivation Layer
47
+
48
+ Model **why** the architecture exists.
49
+
50
+ | Resource | When to Use |
51
+ |----------|-------------|
52
+ | MotivationStakeholder | For roles that have interest in architecture outcomes (CTO, Security Team, Customers) |
53
+ | MotivationGoal | For high-level objectives ("Achieve SOC 2 compliance", "Reduce latency") |
54
+ | MotivationOutcome | For measurable results ("99.9% availability", "Sub-100ms response") |
55
+
56
+ **Example chain:** Stakeholder "Security Team" → hasConcern → Goal "Achieve Compliance" → realizes → Requirement "Encrypt data at rest"
57
+
58
+ ### Business Layer
59
+
60
+ Model **who** does **what** in business terms.
61
+
62
+ | Resource | When to Use |
63
+ |----------|-------------|
64
+ | BusinessActor | For teams, departments, or organizations |
65
+ | BusinessProcess | For workflows that produce business value |
66
+ | BusinessProduct | For offerings to customers (cloud services, APIs) |
67
+ | BusinessRequirement | For must-have capabilities (compliance, functional needs) |
68
+ | BusinessConstraint | For limitations (budget, regulations, technical debt) |
69
+
70
+ **Example chain:** Actor "Platform Team" → performedBy → Process "Incident Response" → servedBy → Service "Monitoring"
71
+
72
+ ### Strategy Layer
73
+
74
+ Model strategic **capabilities**.
75
+
76
+ | Resource | When to Use |
77
+ |----------|-------------|
78
+ | StrategyCapability | For abilities the organization needs ("Container Orchestration", "Data Analytics") |
79
+
80
+ **Example chain:** Capability "Managed Kubernetes" → realizes → Requirement "Container Platform" and servedBy → Service "ManagedKubernetes"
81
+
82
+ ### Application Layer
83
+
84
+ Model **software** that supports the business.
85
+
86
+ | Resource | When to Use |
87
+ |----------|-------------|
88
+ | ApplicationService | For high-level services (ManagedKubernetes, ObjectStorage) |
89
+ | ApplicationComponent | For deployable parts of services (API server, worker, scheduler) |
90
+ | ApplicationInterface | For APIs and integration points |
91
+ | DataObject | For data structures and schemas |
92
+
93
+ **Example chain:** Service "ManagedKubernetes" → realizedThrough → Component "kube-apiserver" → exposes → Interface "Kubernetes:RestAPI"
94
+
95
+ ### Technology Layer
96
+
97
+ Model **infrastructure** and **code**.
98
+
99
+ | Resource | When to Use |
100
+ |----------|-------------|
101
+ | TechnologyArtifact | For source code repositories |
102
+ | TechnologyService | For infrastructure services (Postgres, Redis, Kubernetes platform) |
103
+ | TechnologySystemSoftware | For logical infrastructure (database cluster, message queue) |
104
+ | TechnologyArtifact | For deployed containers/binaries |
105
+ | TechnologyNode | For infrastructure instances |
106
+ | TechnologyInterface | For technical protocols and endpoints |
107
+
108
+ **Example chain:** Component "kube-apiserver" → realizedThrough → Artifact "kubernetes/kubernetes" → maintainedBy → Actor "Platform Team"
109
+
110
+ ## Relation Patterns
111
+
112
+ ### Realization Chain
113
+
114
+ Shows how abstract concepts become concrete:
115
+
116
+ ```
117
+ BusinessRequirement
118
+ ↓ realizes
119
+ ApplicationService
120
+ ↓ realizedThrough
121
+ ApplicationComponent
122
+ ↓ realizedThrough
123
+ TechnologyArtifact
124
+ ```
125
+
126
+ ### Service Chain
127
+
128
+ Shows how services depend on each other:
129
+
130
+ ```
131
+ ApplicationService
132
+ ↓ servedBy
133
+ TechnologyService
134
+ ↓ suppliedBy
135
+ TechnologySystemSoftware
136
+ ```
137
+
138
+ ### Compliance Chain
139
+
140
+ Shows how requirements are satisfied:
141
+
142
+ ```
143
+ BusinessRequirement
144
+ ↑ satisfies
145
+ ComplianceEvidence
146
+ ↑ evidencedBy
147
+ ApplicationService
148
+ ```
149
+
150
+ ## Annotation Best Practices
151
+
152
+ Use annotations to capture metadata:
153
+
154
+ - `activity/status` - Track active vs abandoned resources
155
+ - `repository/artifacts` - Container, chart, binary, etc.
156
+ - `architecture/plane` - Control plane vs data plane
157
+ - `requirement/reference` - Link to compliance standards (C5, GDPR, etc.)
158
+
159
+ ## Common Patterns
160
+
161
+ ### Microservice
162
+
163
+ ```yaml
164
+ kind: ApplicationService
165
+ name: UserManagement
166
+ relations:
167
+ realizedThrough:
168
+ applicationComponents:
169
+ - user-api
170
+ - user-worker
171
+ ```
172
+
173
+ ### API Gateway Pattern
174
+
175
+ ```yaml
176
+ kind: ApplicationComponent
177
+ name: api-gateway
178
+ relations:
179
+ exposes:
180
+ applicationInterfaces:
181
+ - Public:RestAPI
182
+ dependsOn:
183
+ applicationInterfaces:
184
+ - UserService:RestAPI
185
+ - OrderService:RestAPI
186
+ ```
187
+
188
+ ### Compliance Mapping
189
+
190
+ ```yaml
191
+ kind: BusinessRequirement
192
+ name: DataEncryption
193
+ annotations:
194
+ requirement/reference: c5-2020, gdpr-2018
195
+ requirement/type: compliance
196
+ relations:
197
+ realizes:
198
+ outcomes:
199
+ - DataProtection
200
+ ```