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.
- checksums.yaml +7 -0
- data/CHANGELOG.md +24 -0
- data/CODE_OF_CONDUCT.md +10 -0
- data/CONTRIBUTING.md +186 -0
- data/Dockerfile +39 -0
- data/LICENSE.txt +201 -0
- data/README.md +170 -0
- data/SECURITY.md +27 -0
- data/exe/archsight +9 -0
- data/lib/archsight/annotations/aggregators.rb +109 -0
- data/lib/archsight/annotations/annotation.rb +168 -0
- data/lib/archsight/annotations/architecture_annotations.rb +59 -0
- data/lib/archsight/annotations/backup_annotations.rb +21 -0
- data/lib/archsight/annotations/computed.rb +264 -0
- data/lib/archsight/annotations/email_recipient.rb +35 -0
- data/lib/archsight/annotations/generated_annotations.rb +17 -0
- data/lib/archsight/annotations/git_annotations.rb +21 -0
- data/lib/archsight/annotations/relation_resolver.rb +160 -0
- data/lib/archsight/cli.rb +120 -0
- data/lib/archsight/configuration.rb +36 -0
- data/lib/archsight/database.rb +183 -0
- data/lib/archsight/documentation.rb +171 -0
- data/lib/archsight/graph.rb +113 -0
- data/lib/archsight/helpers.rb +210 -0
- data/lib/archsight/linter.rb +77 -0
- data/lib/archsight/mcp/analyze_resource_tool.rb +222 -0
- data/lib/archsight/mcp/base.rb +48 -0
- data/lib/archsight/mcp/query_tool.rb +113 -0
- data/lib/archsight/mcp/resource_doc_tool.rb +87 -0
- data/lib/archsight/mcp.rb +6 -0
- data/lib/archsight/query/ast.rb +279 -0
- data/lib/archsight/query/errors.rb +39 -0
- data/lib/archsight/query/evaluator.rb +707 -0
- data/lib/archsight/query/lexer.rb +289 -0
- data/lib/archsight/query/parser.rb +506 -0
- data/lib/archsight/query.rb +68 -0
- data/lib/archsight/renderer.rb +134 -0
- data/lib/archsight/resources/application_component.rb +346 -0
- data/lib/archsight/resources/application_interface.rb +54 -0
- data/lib/archsight/resources/application_service.rb +222 -0
- data/lib/archsight/resources/base.rb +300 -0
- data/lib/archsight/resources/business_actor.rb +195 -0
- data/lib/archsight/resources/business_constraint.rb +32 -0
- data/lib/archsight/resources/business_process.rb +37 -0
- data/lib/archsight/resources/business_product.rb +206 -0
- data/lib/archsight/resources/business_requirement.rb +56 -0
- data/lib/archsight/resources/compliance_evidence.rb +42 -0
- data/lib/archsight/resources/data_object.rb +49 -0
- data/lib/archsight/resources/motivation_goal.rb +37 -0
- data/lib/archsight/resources/motivation_outcome.rb +33 -0
- data/lib/archsight/resources/motivation_stakeholder.rb +38 -0
- data/lib/archsight/resources/strategy_capability.rb +38 -0
- data/lib/archsight/resources/technology_artifact.rb +154 -0
- data/lib/archsight/resources/technology_interface.rb +34 -0
- data/lib/archsight/resources/technology_node.rb +42 -0
- data/lib/archsight/resources/technology_service.rb +35 -0
- data/lib/archsight/resources/technology_system_software.rb +37 -0
- data/lib/archsight/resources/view.rb +51 -0
- data/lib/archsight/resources.rb +49 -0
- data/lib/archsight/template.rb +49 -0
- data/lib/archsight/version.rb +5 -0
- data/lib/archsight/web/application.rb +290 -0
- data/lib/archsight/web/doc/archimate.md +215 -0
- data/lib/archsight/web/doc/computed_annotations.md +316 -0
- data/lib/archsight/web/doc/icons.md +303 -0
- data/lib/archsight/web/doc/index.md.erb +74 -0
- data/lib/archsight/web/doc/modeling.md +200 -0
- data/lib/archsight/web/doc/search.md +227 -0
- data/lib/archsight/web/doc/togaf.md +255 -0
- data/lib/archsight/web/doc/tool.md +90 -0
- data/lib/archsight/web/public/css/artifact.css +985 -0
- data/lib/archsight/web/public/css/base.css +201 -0
- data/lib/archsight/web/public/css/graph.css +106 -0
- data/lib/archsight/web/public/css/highlight.min.css +10 -0
- data/lib/archsight/web/public/css/iconoir.css +22 -0
- data/lib/archsight/web/public/css/instance.css +329 -0
- data/lib/archsight/web/public/css/layout.css +421 -0
- data/lib/archsight/web/public/css/mermaid-layers.css +188 -0
- data/lib/archsight/web/public/css/pico.min.css +4 -0
- data/lib/archsight/web/public/favicon.ico +0 -0
- data/lib/archsight/web/public/img/archimate.png +0 -0
- data/lib/archsight/web/public/img/togaf-high-level.png +0 -0
- data/lib/archsight/web/public/js/graph-zoom.js +18 -0
- data/lib/archsight/web/public/js/highlight.min.js +3899 -0
- data/lib/archsight/web/public/js/htmx.min.js +1 -0
- data/lib/archsight/web/public/js/mermaid-init.js +88 -0
- data/lib/archsight/web/public/js/mermaid.min.js +2811 -0
- data/lib/archsight/web/public/js/sparkline.js +42 -0
- data/lib/archsight/web/public/js/svg-pan-zoom.min.js +3 -0
- data/lib/archsight/web/public/js/svg-zoom-controls.js +93 -0
- data/lib/archsight/web/views/index.haml +12 -0
- data/lib/archsight/web/views/partials/artifact/_activity.haml +55 -0
- data/lib/archsight/web/views/partials/artifact/_agentic.haml +25 -0
- data/lib/archsight/web/views/partials/artifact/_deployment.haml +29 -0
- data/lib/archsight/web/views/partials/artifact/_git_info.haml +16 -0
- data/lib/archsight/web/views/partials/artifact/_language_stats.haml +53 -0
- data/lib/archsight/web/views/partials/artifact/_links.haml +24 -0
- data/lib/archsight/web/views/partials/artifact/_project_estimate.haml +26 -0
- data/lib/archsight/web/views/partials/artifact/_repositories.haml +55 -0
- data/lib/archsight/web/views/partials/artifact/_team.haml +83 -0
- data/lib/archsight/web/views/partials/artifact/_workflow.haml +69 -0
- data/lib/archsight/web/views/partials/components/_activity.haml +37 -0
- data/lib/archsight/web/views/partials/components/_git.haml +17 -0
- data/lib/archsight/web/views/partials/components/_jira.haml +18 -0
- data/lib/archsight/web/views/partials/components/_languages.haml +29 -0
- data/lib/archsight/web/views/partials/components/_owner.haml +15 -0
- data/lib/archsight/web/views/partials/components/_repositories.haml +37 -0
- data/lib/archsight/web/views/partials/components/_status.haml +23 -0
- data/lib/archsight/web/views/partials/instance/_detail.haml +99 -0
- data/lib/archsight/web/views/partials/instance/_graph.haml +6 -0
- data/lib/archsight/web/views/partials/instance/_list.haml +84 -0
- data/lib/archsight/web/views/partials/instance/_relations.haml +43 -0
- data/lib/archsight/web/views/partials/instance/_requirements.haml +41 -0
- data/lib/archsight/web/views/partials/instance/_view_detail.haml +57 -0
- data/lib/archsight/web/views/partials/layout/_content.haml +40 -0
- data/lib/archsight/web/views/partials/layout/_error.haml +22 -0
- data/lib/archsight/web/views/partials/layout/_head.haml +24 -0
- data/lib/archsight/web/views/partials/layout/_navigation.haml +20 -0
- data/lib/archsight/web/views/partials/layout/_sidebar.haml +27 -0
- data/lib/archsight/web/views/search.haml +53 -0
- data/lib/archsight.rb +17 -0
- 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
|
+
```
|