@atlashub/smartstack-cli 2.6.3 → 2.7.1
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.
- package/.documentation/agents.html +1 -1
- package/.documentation/apex.html +1 -1
- package/.documentation/business-analyse.html +749 -1419
- package/.documentation/cli-commands.html +1 -1
- package/.documentation/commands.html +1 -1
- package/.documentation/css/styles.css +160 -0
- package/.documentation/efcore.html +1 -1
- package/.documentation/gitflow.html +3 -453
- package/.documentation/hooks.html +1 -1
- package/.documentation/index.html +177 -68
- package/.documentation/init.html +747 -290
- package/.documentation/installation.html +63 -8
- package/.documentation/ralph-loop.html +1 -1
- package/.documentation/test-web.html +1 -1
- package/dist/index.js +552 -304
- package/dist/index.js.map +1 -1
- package/dist/mcp-entry.mjs +12 -10
- package/dist/mcp-entry.mjs.map +1 -1
- package/package.json +2 -2
- package/templates/agents/ba-reader.md +23 -0
- package/templates/agents/ba-writer.md +63 -4
- package/templates/skills/business-analyse/questionnaire/00-application.md +1 -1
- package/templates/skills/business-analyse/questionnaire/03-scope.md +2 -2
- package/templates/skills/business-analyse/questionnaire.md +1 -1
- package/templates/skills/business-analyse/react/application-viewer.md +1 -1
- package/templates/skills/business-analyse/react/schema.md +88 -1
- package/templates/skills/business-analyse/schemas/application-schema.json +16 -1
- package/templates/skills/business-analyse/schemas/feature-schema.json +19 -986
- package/templates/skills/business-analyse/schemas/sections/analysis-schema.json +157 -0
- package/templates/skills/business-analyse/schemas/sections/discovery-schema.json +82 -0
- package/templates/skills/business-analyse/schemas/sections/handoff-schema.json +80 -0
- package/templates/skills/business-analyse/schemas/sections/metadata-schema.json +69 -0
- package/templates/skills/business-analyse/schemas/sections/specification-schema.json +445 -0
- package/templates/skills/business-analyse/schemas/sections/validation-schema.json +93 -0
- package/templates/skills/business-analyse/schemas/shared/common-defs.json +133 -0
- package/templates/skills/business-analyse/steps/step-01-cadrage.md +22 -3
- package/templates/skills/business-analyse/steps/step-03-specify.md +129 -0
- package/templates/skills/business-analyse/steps/step-04-consolidation.md +38 -5
- package/templates/skills/business-analyse/steps/step-05-handoff.md +94 -218
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
<header class="global-header">
|
|
13
13
|
<div class="logo">SS</div>
|
|
14
14
|
<span class="site-title">SmartStack CLI</span>
|
|
15
|
-
<span class="version-badge">v2.
|
|
15
|
+
<span class="version-badge">v2.6.3</span>
|
|
16
16
|
<div class="header-divider"></div>
|
|
17
17
|
<span class="page-title">@atlashub/smartstack-cli</span>
|
|
18
18
|
<!-- Language Select -->
|
|
@@ -57,7 +57,7 @@
|
|
|
57
57
|
</a>
|
|
58
58
|
<a href="init.html" class="nav-item">
|
|
59
59
|
<span class="icon">🚀</span>
|
|
60
|
-
<span class="nav-text">
|
|
60
|
+
<span class="nav-text">Projet Client</span>
|
|
61
61
|
</a>
|
|
62
62
|
</div>
|
|
63
63
|
|
|
@@ -120,19 +120,73 @@
|
|
|
120
120
|
<!-- Main Content -->
|
|
121
121
|
<main class="main-content">
|
|
122
122
|
<div class="content content-wide">
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
<div class="
|
|
127
|
-
<
|
|
128
|
-
<
|
|
129
|
-
|
|
123
|
+
|
|
124
|
+
<!-- Hero Section -->
|
|
125
|
+
<div class="hero-section">
|
|
126
|
+
<div class="hero-tagline">
|
|
127
|
+
<span data-lang="fr"><span class="highlight">SmartStack</span> transforme Claude Code en plateforme de developpement .NET enterprise</span>
|
|
128
|
+
<span data-lang="en"><span class="highlight">SmartStack</span> transforms Claude Code into an enterprise .NET development platform</span>
|
|
129
|
+
</div>
|
|
130
|
+
<p class="hero-description" data-lang="fr">
|
|
131
|
+
SmartStack est un ecosysteme de developpement compose de 3 projets interdependants. Il fournit des workflows automatises, des methodologies eprouvees et des outils de validation pour accelerer le developpement d'applications .NET multi-tenant securisees.
|
|
132
|
+
</p>
|
|
133
|
+
<p class="hero-description" data-lang="en">
|
|
134
|
+
SmartStack is a development ecosystem composed of 3 interdependent projects. It provides automated workflows, battle-tested methodologies and validation tools to accelerate the development of secure multi-tenant .NET applications.
|
|
135
|
+
</p>
|
|
136
|
+
</div>
|
|
137
|
+
|
|
138
|
+
<!-- Ecosystem -->
|
|
139
|
+
<h2 data-lang="fr">L'ecosysteme</h2>
|
|
140
|
+
<h2 data-lang="en">The Ecosystem</h2>
|
|
141
|
+
|
|
142
|
+
<div class="ecosystem-grid">
|
|
143
|
+
<div class="ecosystem-card">
|
|
144
|
+
<div class="eco-icon eco-app">⚙</div>
|
|
145
|
+
<div class="eco-name">SmartStack.app</div>
|
|
146
|
+
<div class="eco-role" data-lang="fr">Application socle contenant l'architecture de reference, les conventions et les patterns de securite (OWASP, RBAC, multi-tenant).</div>
|
|
147
|
+
<div class="eco-role" data-lang="en">Foundation application containing the reference architecture, conventions and security patterns (OWASP, RBAC, multi-tenant).</div>
|
|
148
|
+
</div>
|
|
149
|
+
<div class="ecosystem-card">
|
|
150
|
+
<div class="eco-icon eco-cli">▶</div>
|
|
151
|
+
<div class="eco-name">SmartStack.cli</div>
|
|
152
|
+
<div class="eco-role" data-lang="fr">Orchestrateur qui deploie skills, agents, hooks et commandes dans Claude Code. Ne genere jamais de contenu.</div>
|
|
153
|
+
<div class="eco-role" data-lang="en">Orchestrator that deploys skills, agents, hooks and commands into Claude Code. Never generates content.</div>
|
|
154
|
+
</div>
|
|
155
|
+
<div class="ecosystem-card">
|
|
156
|
+
<div class="eco-icon eco-mcp">✓</div>
|
|
157
|
+
<div class="eco-name">SmartStack.mcp</div>
|
|
158
|
+
<div class="eco-role" data-lang="fr">Serveur MCP qui valide les conventions, genere le code conforme et assure la coherence de l'ensemble.</div>
|
|
159
|
+
<div class="eco-role" data-lang="en">MCP server that validates conventions, generates compliant code and ensures overall consistency.</div>
|
|
160
|
+
</div>
|
|
161
|
+
</div>
|
|
162
|
+
|
|
163
|
+
<!-- Stats Bar -->
|
|
164
|
+
<h2 data-lang="fr">Ce que la CLI installe</h2>
|
|
165
|
+
<h2 data-lang="en">What the CLI installs</h2>
|
|
166
|
+
|
|
167
|
+
<div class="stats-bar">
|
|
168
|
+
<div class="stat-item">
|
|
169
|
+
<div class="stat-number">26</div>
|
|
170
|
+
<div class="stat-label">Skills</div>
|
|
171
|
+
</div>
|
|
172
|
+
<div class="stat-item">
|
|
173
|
+
<div class="stat-number">33</div>
|
|
174
|
+
<div class="stat-label">Agents</div>
|
|
175
|
+
</div>
|
|
176
|
+
<div class="stat-item">
|
|
177
|
+
<div class="stat-number">6</div>
|
|
178
|
+
<div class="stat-label">Hooks</div>
|
|
179
|
+
</div>
|
|
180
|
+
<div class="stat-item">
|
|
181
|
+
<div class="stat-number">13</div>
|
|
182
|
+
<div class="stat-label" data-lang="fr">Commandes CLI</div>
|
|
183
|
+
<div class="stat-label" data-lang="en">CLI Commands</div>
|
|
130
184
|
</div>
|
|
131
185
|
</div>
|
|
132
186
|
|
|
133
187
|
<!-- Features Grid -->
|
|
134
|
-
<h2 data-lang="fr">
|
|
135
|
-
<h2 data-lang="en">
|
|
188
|
+
<h2 data-lang="fr">Workflows et outils</h2>
|
|
189
|
+
<h2 data-lang="en">Workflows & tools</h2>
|
|
136
190
|
|
|
137
191
|
<div class="card-grid">
|
|
138
192
|
<a href="gitflow.html" class="card">
|
|
@@ -145,8 +199,8 @@
|
|
|
145
199
|
</div>
|
|
146
200
|
</div>
|
|
147
201
|
<div class="card-body">
|
|
148
|
-
<p data-lang="fr">
|
|
149
|
-
<p data-lang="en">
|
|
202
|
+
<p data-lang="fr">Gestion de branches feature, release et hotfix avec versioning SemVer, worktrees Git, creation de PR Azure DevOps et validation des migrations EF Core.</p>
|
|
203
|
+
<p data-lang="en">Feature, release and hotfix branch management with SemVer versioning, Git worktrees, Azure DevOps PR creation and EF Core migration validation.</p>
|
|
150
204
|
<span class="tag tag-workflow">12 commands</span>
|
|
151
205
|
</div>
|
|
152
206
|
</a>
|
|
@@ -156,13 +210,13 @@
|
|
|
156
210
|
<div class="card-icon">🗄️</div>
|
|
157
211
|
<div>
|
|
158
212
|
<div class="card-title">EF Core Migrations</div>
|
|
159
|
-
<div class="card-subtitle" data-lang="fr">
|
|
160
|
-
<div class="card-subtitle" data-lang="en">
|
|
213
|
+
<div class="card-subtitle" data-lang="fr">Multi-context + Cross-Branch</div>
|
|
214
|
+
<div class="card-subtitle" data-lang="en">Multi-context + Cross-Branch</div>
|
|
161
215
|
</div>
|
|
162
216
|
</div>
|
|
163
217
|
<div class="card-body">
|
|
164
|
-
<p data-lang="fr">Gestion des migrations Entity Framework Core : multi-context, resolution de conflits ModelSnapshot,
|
|
165
|
-
<p data-lang="en">Entity Framework Core
|
|
218
|
+
<p data-lang="fr">Gestion des migrations Entity Framework Core : multi-context, detection et resolution de conflits ModelSnapshot, scan cross-branch, squash et scripts idempotents.</p>
|
|
219
|
+
<p data-lang="en">Entity Framework Core migration management: multi-context, ModelSnapshot conflict detection and resolution, cross-branch scan, squash and idempotent scripts.</p>
|
|
166
220
|
<span class="tag tag-command">9 commands</span>
|
|
167
221
|
</div>
|
|
168
222
|
</a>
|
|
@@ -171,14 +225,14 @@
|
|
|
171
225
|
<div class="card-header">
|
|
172
226
|
<div class="card-icon">🎯</div>
|
|
173
227
|
<div>
|
|
174
|
-
<div class="card-title">APEX
|
|
175
|
-
<div class="card-subtitle">Analyze-Plan-Execute-eXamine</div>
|
|
228
|
+
<div class="card-title">APEX</div>
|
|
229
|
+
<div class="card-subtitle">Analyze - Plan - Execute - eXamine</div>
|
|
176
230
|
</div>
|
|
177
231
|
</div>
|
|
178
232
|
<div class="card-body">
|
|
179
|
-
<p data-lang="fr">Methodologie systematique pour l'implementation de features. Analyse, planification, execution et validation
|
|
180
|
-
<p data-lang="en">Systematic methodology for feature implementation.
|
|
181
|
-
<span class="tag tag-workflow">
|
|
233
|
+
<p data-lang="fr">Methodologie systematique pour l'implementation de features. Analyse du contexte, planification, execution guidee et validation finale avec code review.</p>
|
|
234
|
+
<p data-lang="en">Systematic methodology for feature implementation. Context analysis, planning, guided execution and final validation with code review.</p>
|
|
235
|
+
<span class="tag tag-workflow">4 phases</span>
|
|
182
236
|
</div>
|
|
183
237
|
</a>
|
|
184
238
|
|
|
@@ -187,14 +241,14 @@
|
|
|
187
241
|
<div class="card-icon">📊</div>
|
|
188
242
|
<div>
|
|
189
243
|
<div class="card-title">Business Analyse</div>
|
|
190
|
-
<div class="card-subtitle" data-lang="fr">
|
|
191
|
-
<div class="card-subtitle" data-lang="en">
|
|
244
|
+
<div class="card-subtitle" data-lang="fr">De l'idee au code</div>
|
|
245
|
+
<div class="card-subtitle" data-lang="en">From idea to code</div>
|
|
192
246
|
</div>
|
|
193
247
|
</div>
|
|
194
248
|
<div class="card-body">
|
|
195
|
-
<p data-lang="fr">Workflow de specification fonctionnelle et technique
|
|
196
|
-
<p data-lang="en">Functional and technical specification workflow
|
|
197
|
-
<span class="tag tag-workflow">
|
|
249
|
+
<p data-lang="fr">Workflow de specification fonctionnelle et technique. Questions adaptatives, exigences metier, generation de feature.json et prompts autonomes pour developpeurs.</p>
|
|
250
|
+
<p data-lang="en">Functional and technical specification workflow. Adaptive questions, business requirements, feature.json generation and autonomous prompts for developers.</p>
|
|
251
|
+
<span class="tag tag-workflow">6 phases</span>
|
|
198
252
|
</div>
|
|
199
253
|
</a>
|
|
200
254
|
|
|
@@ -202,16 +256,33 @@
|
|
|
202
256
|
<div class="card-header">
|
|
203
257
|
<div class="card-icon">🤖</div>
|
|
204
258
|
<div>
|
|
205
|
-
<div class="card-title" data-lang="fr">Agents
|
|
259
|
+
<div class="card-title" data-lang="fr">Agents specialises</div>
|
|
206
260
|
<div class="card-title" data-lang="en">Specialized Agents</div>
|
|
207
261
|
<div class="card-subtitle" data-lang="fr">Automatisation intelligente</div>
|
|
208
262
|
<div class="card-subtitle" data-lang="en">Intelligent automation</div>
|
|
209
263
|
</div>
|
|
210
264
|
</div>
|
|
211
265
|
<div class="card-body">
|
|
212
|
-
<p data-lang="fr">
|
|
213
|
-
<p data-lang="en">
|
|
214
|
-
<span class="tag tag-agent">
|
|
266
|
+
<p data-lang="fr">33 agents autonomes : GitFlow (12), EF Core (9), code review, exploration de code, recherche de documentation, debugging, correction de grammaire et plus.</p>
|
|
267
|
+
<p data-lang="en">33 autonomous agents: GitFlow (12), EF Core (9), code review, code exploration, documentation search, debugging, grammar correction and more.</p>
|
|
268
|
+
<span class="tag tag-agent">33 agents</span>
|
|
269
|
+
</div>
|
|
270
|
+
</a>
|
|
271
|
+
|
|
272
|
+
<a href="cli-commands.html" class="card">
|
|
273
|
+
<div class="card-header">
|
|
274
|
+
<div class="card-icon">💻</div>
|
|
275
|
+
<div>
|
|
276
|
+
<div class="card-title" data-lang="fr">CLI SmartStack</div>
|
|
277
|
+
<div class="card-title" data-lang="en">SmartStack CLI</div>
|
|
278
|
+
<div class="card-subtitle" data-lang="fr">Commandes terminal</div>
|
|
279
|
+
<div class="card-subtitle" data-lang="en">Terminal commands</div>
|
|
280
|
+
</div>
|
|
281
|
+
</div>
|
|
282
|
+
<div class="card-body">
|
|
283
|
+
<p data-lang="fr">Commandes CLI pour installer, mettre a jour, diagnostiquer et gerer SmartStack : install, update, upgrade, doctor, init, docs, mcp et plus.</p>
|
|
284
|
+
<p data-lang="en">CLI commands to install, update, diagnose and manage SmartStack: install, update, upgrade, doctor, init, docs, mcp and more.</p>
|
|
285
|
+
<span class="tag tag-command">13 commands</span>
|
|
215
286
|
</div>
|
|
216
287
|
</a>
|
|
217
288
|
</div>
|
|
@@ -225,57 +296,85 @@
|
|
|
225
296
|
<thead>
|
|
226
297
|
<tr>
|
|
227
298
|
<th>
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
299
|
+
<span data-lang="fr">Besoin</span>
|
|
300
|
+
<span data-lang="en">Need</span>
|
|
301
|
+
</th>
|
|
231
302
|
<th>
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
303
|
+
<span data-lang="fr">Commande</span>
|
|
304
|
+
<span data-lang="en">Command</span>
|
|
305
|
+
</th>
|
|
235
306
|
</tr>
|
|
236
307
|
</thead>
|
|
237
308
|
<tbody>
|
|
238
309
|
<tr>
|
|
239
310
|
<td>
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
311
|
+
<span data-lang="fr">Demarrer une feature</span>
|
|
312
|
+
<span data-lang="en">Start a feature</span>
|
|
313
|
+
</td>
|
|
243
314
|
<td><code>/gitflow start feature nom</code></td>
|
|
244
315
|
</tr>
|
|
245
316
|
<tr>
|
|
246
317
|
<td>
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
318
|
+
<span data-lang="fr">Commit intelligent</span>
|
|
319
|
+
<span data-lang="en">Smart commit</span>
|
|
320
|
+
</td>
|
|
321
|
+
<td><code>/gitflow commit</code></td>
|
|
322
|
+
</tr>
|
|
323
|
+
<tr>
|
|
324
|
+
<td>
|
|
325
|
+
<span data-lang="fr">Creer une release</span>
|
|
326
|
+
<span data-lang="en">Create a release</span>
|
|
327
|
+
</td>
|
|
250
328
|
<td><code>/gitflow start release</code></td>
|
|
251
329
|
</tr>
|
|
252
330
|
<tr>
|
|
253
331
|
<td>
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
<td><code>/
|
|
332
|
+
<span data-lang="fr">Implementer une feature</span>
|
|
333
|
+
<span data-lang="en">Implement a feature</span>
|
|
334
|
+
</td>
|
|
335
|
+
<td><code>/apex Description de la feature</code></td>
|
|
336
|
+
</tr>
|
|
337
|
+
<tr>
|
|
338
|
+
<td>
|
|
339
|
+
<span data-lang="fr">Analyser un besoin metier</span>
|
|
340
|
+
<span data-lang="en">Analyze a business need</span>
|
|
341
|
+
</td>
|
|
342
|
+
<td><code>/business-analyse</code></td>
|
|
258
343
|
</tr>
|
|
259
344
|
<tr>
|
|
260
345
|
<td>
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
<td><code>/
|
|
346
|
+
<span data-lang="fr">Creer une migration EF Core</span>
|
|
347
|
+
<span data-lang="en">Create an EF Core migration</span>
|
|
348
|
+
</td>
|
|
349
|
+
<td><code>/efcore migration</code></td>
|
|
265
350
|
</tr>
|
|
266
351
|
<tr>
|
|
267
352
|
<td>
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
353
|
+
<span data-lang="fr">Debugger une erreur</span>
|
|
354
|
+
<span data-lang="en">Debug an error</span>
|
|
355
|
+
</td>
|
|
271
356
|
<td><code>/debug Message d'erreur</code></td>
|
|
272
357
|
</tr>
|
|
273
358
|
<tr>
|
|
274
359
|
<td>
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
<td><code>/
|
|
360
|
+
<span data-lang="fr">Revoir du code</span>
|
|
361
|
+
<span data-lang="en">Review code</span>
|
|
362
|
+
</td>
|
|
363
|
+
<td><code>/review-code</code></td>
|
|
364
|
+
</tr>
|
|
365
|
+
<tr>
|
|
366
|
+
<td>
|
|
367
|
+
<span data-lang="fr">Mettre a jour SmartStack</span>
|
|
368
|
+
<span data-lang="en">Update SmartStack</span>
|
|
369
|
+
</td>
|
|
370
|
+
<td><code>ss update</code></td>
|
|
371
|
+
</tr>
|
|
372
|
+
<tr>
|
|
373
|
+
<td>
|
|
374
|
+
<span data-lang="fr">Diagnostiquer l'installation</span>
|
|
375
|
+
<span data-lang="en">Diagnose the installation</span>
|
|
376
|
+
</td>
|
|
377
|
+
<td><code>ss doctor</code></td>
|
|
279
378
|
</tr>
|
|
280
379
|
</tbody>
|
|
281
380
|
</table>
|
|
@@ -295,29 +394,39 @@
|
|
|
295
394
|
</li>
|
|
296
395
|
<li>
|
|
297
396
|
<div class="step-content">
|
|
298
|
-
<h5 data-lang="fr">
|
|
299
|
-
<h5 data-lang="en">
|
|
397
|
+
<h5 data-lang="fr">Deployer skills, agents et hooks</h5>
|
|
398
|
+
<h5 data-lang="en">Deploy skills, agents and hooks</h5>
|
|
300
399
|
<p data-lang="fr"><code>smartstack install</code> (global) ou <code>smartstack install --local</code> (projet)</p>
|
|
301
400
|
<p data-lang="en"><code>smartstack install</code> (global) or <code>smartstack install --local</code> (project)</p>
|
|
302
401
|
</div>
|
|
303
402
|
</li>
|
|
304
403
|
<li>
|
|
305
404
|
<div class="step-content">
|
|
306
|
-
<h5 data-lang="fr">Initialiser
|
|
307
|
-
<h5 data-lang="en">Initialize
|
|
308
|
-
<p data-lang="fr">Dans votre projet : <code
|
|
309
|
-
<p data-lang="en">In your project: <code
|
|
405
|
+
<h5 data-lang="fr">Initialiser un projet</h5>
|
|
406
|
+
<h5 data-lang="en">Initialize a project</h5>
|
|
407
|
+
<p data-lang="fr">Dans votre projet .NET : <code>ss init</code> pour configurer SmartStack et GitFlow.</p>
|
|
408
|
+
<p data-lang="en">In your .NET project: <code>ss init</code> to configure SmartStack and GitFlow.</p>
|
|
310
409
|
</div>
|
|
311
410
|
</li>
|
|
312
411
|
<li>
|
|
313
412
|
<div class="step-content">
|
|
314
|
-
<h5 data-lang="fr">Commencer a
|
|
315
|
-
<h5 data-lang="en">Start
|
|
316
|
-
<p data-lang="fr"><code>/gitflow start feature ma-feature</code></p>
|
|
317
|
-
<p data-lang="en"><code>/gitflow start feature my-feature</code></p>
|
|
413
|
+
<h5 data-lang="fr">Commencer a developper</h5>
|
|
414
|
+
<h5 data-lang="en">Start developing</h5>
|
|
415
|
+
<p data-lang="fr"><code>/gitflow start feature ma-feature</code> ou <code>/apex Description</code></p>
|
|
416
|
+
<p data-lang="en"><code>/gitflow start feature my-feature</code> or <code>/apex Description</code></p>
|
|
318
417
|
</div>
|
|
319
418
|
</li>
|
|
320
419
|
</ol>
|
|
420
|
+
|
|
421
|
+
<!-- Footer -->
|
|
422
|
+
<div style="margin-top: 3rem; padding-top: 1.5rem; border-top: 1px solid var(--border); text-align: center; color: var(--text-muted); font-size: 0.85rem;">
|
|
423
|
+
<span data-lang="fr">Developpe par</span>
|
|
424
|
+
<span data-lang="en">Developed by</span>
|
|
425
|
+
<a href="https://www.atlashub.ch" style="color: var(--primary-light);">AtlasHub</a> •
|
|
426
|
+
<a href="mailto:support@atlashub.ch" style="color: var(--primary-light);">support@atlashub.ch</a> •
|
|
427
|
+
MIT License
|
|
428
|
+
</div>
|
|
429
|
+
|
|
321
430
|
</div>
|
|
322
431
|
</main>
|
|
323
432
|
</div>
|