@atlashub/smartstack-cli 1.5.0 → 1.5.2

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 (159) hide show
  1. package/.documentation/agents.html +920 -916
  2. package/.documentation/apex.html +1022 -1018
  3. package/.documentation/business-analyse.html +1505 -1501
  4. package/.documentation/commands.html +684 -680
  5. package/.documentation/css/styles.css +2168 -2168
  6. package/.documentation/efcore.html +2509 -2505
  7. package/.documentation/gitflow.html +2622 -2618
  8. package/.documentation/hooks.html +417 -413
  9. package/.documentation/index.html +327 -323
  10. package/.documentation/init.html +565 -0
  11. package/.documentation/installation.html +548 -462
  12. package/.documentation/js/app.js +794 -794
  13. package/.documentation/ralph-loop.html +534 -530
  14. package/.documentation/test-web.html +517 -513
  15. package/config/default-config.json +86 -86
  16. package/config/settings.json +53 -53
  17. package/config/settings.local.example.json +16 -16
  18. package/dist/index.js +18 -8
  19. package/dist/index.js.map +1 -1
  20. package/package.json +88 -88
  21. package/templates/agents/action.md +36 -36
  22. package/templates/agents/efcore/conflicts.md +84 -84
  23. package/templates/agents/efcore/db-deploy.md +51 -51
  24. package/templates/agents/efcore/db-reset.md +59 -59
  25. package/templates/agents/efcore/db-seed.md +56 -56
  26. package/templates/agents/efcore/db-status.md +64 -64
  27. package/templates/agents/efcore/migration.md +85 -85
  28. package/templates/agents/efcore/rebase-snapshot.md +62 -62
  29. package/templates/agents/efcore/scan.md +90 -90
  30. package/templates/agents/efcore/squash.md +67 -67
  31. package/templates/agents/explore-codebase.md +65 -65
  32. package/templates/agents/explore-docs.md +97 -97
  33. package/templates/agents/fix-grammar.md +49 -49
  34. package/templates/agents/gitflow/abort.md +45 -45
  35. package/templates/agents/gitflow/cleanup.md +85 -85
  36. package/templates/agents/gitflow/commit.md +40 -40
  37. package/templates/agents/gitflow/exec.md +48 -48
  38. package/templates/agents/gitflow/finish.md +92 -92
  39. package/templates/agents/gitflow/init.md +139 -139
  40. package/templates/agents/gitflow/merge.md +62 -62
  41. package/templates/agents/gitflow/plan.md +42 -42
  42. package/templates/agents/gitflow/pr.md +78 -78
  43. package/templates/agents/gitflow/review.md +49 -49
  44. package/templates/agents/gitflow/start.md +61 -61
  45. package/templates/agents/gitflow/status.md +32 -32
  46. package/templates/agents/snipper.md +36 -36
  47. package/templates/agents/websearch.md +46 -46
  48. package/templates/commands/_resources/formatting-guide.md +124 -124
  49. package/templates/commands/ai-prompt.md +315 -315
  50. package/templates/commands/apex/1-analyze.md +100 -100
  51. package/templates/commands/apex/2-plan.md +145 -145
  52. package/templates/commands/apex/3-execute.md +171 -171
  53. package/templates/commands/apex/4-examine.md +116 -116
  54. package/templates/commands/apex/5-tasks.md +209 -209
  55. package/templates/commands/apex.md +76 -76
  56. package/templates/commands/application/create.md +362 -362
  57. package/templates/commands/application/templates-backend.md +463 -463
  58. package/templates/commands/application/templates-frontend.md +517 -517
  59. package/templates/commands/application/templates-i18n.md +478 -478
  60. package/templates/commands/application/templates-seed.md +362 -362
  61. package/templates/commands/application.md +303 -303
  62. package/templates/commands/business-analyse/0-orchestrate.md +640 -640
  63. package/templates/commands/business-analyse/1-init.md +269 -269
  64. package/templates/commands/business-analyse/2-discover.md +520 -520
  65. package/templates/commands/business-analyse/3-analyse.md +408 -408
  66. package/templates/commands/business-analyse/4-specify.md +598 -598
  67. package/templates/commands/business-analyse/5-validate.md +326 -326
  68. package/templates/commands/business-analyse/6-handoff.md +746 -746
  69. package/templates/commands/business-analyse/7-doc-html.md +602 -602
  70. package/templates/commands/business-analyse/bug.md +325 -325
  71. package/templates/commands/business-analyse/change-request.md +368 -368
  72. package/templates/commands/business-analyse/hotfix.md +200 -200
  73. package/templates/commands/business-analyse.md +640 -640
  74. package/templates/commands/controller/create.md +216 -216
  75. package/templates/commands/controller/postman-templates.md +528 -528
  76. package/templates/commands/controller/templates.md +600 -600
  77. package/templates/commands/controller.md +337 -337
  78. package/templates/commands/create/agent.md +138 -138
  79. package/templates/commands/create/command.md +166 -166
  80. package/templates/commands/create/hook.md +234 -234
  81. package/templates/commands/create/plugin.md +329 -329
  82. package/templates/commands/create/project.md +507 -507
  83. package/templates/commands/create/skill.md +199 -199
  84. package/templates/commands/create.md +220 -220
  85. package/templates/commands/debug.md +95 -95
  86. package/templates/commands/documentation/module.md +202 -202
  87. package/templates/commands/documentation/templates.md +432 -432
  88. package/templates/commands/documentation.md +190 -190
  89. package/templates/commands/efcore/_env-check.md +153 -153
  90. package/templates/commands/efcore/conflicts.md +186 -186
  91. package/templates/commands/efcore/db-deploy.md +193 -193
  92. package/templates/commands/efcore/db-reset.md +426 -426
  93. package/templates/commands/efcore/db-seed.md +326 -326
  94. package/templates/commands/efcore/db-status.md +226 -226
  95. package/templates/commands/efcore/migration.md +400 -400
  96. package/templates/commands/efcore/rebase-snapshot.md +264 -264
  97. package/templates/commands/efcore/scan.md +198 -198
  98. package/templates/commands/efcore/squash.md +298 -298
  99. package/templates/commands/efcore.md +224 -224
  100. package/templates/commands/epct.md +69 -69
  101. package/templates/commands/explain.md +186 -186
  102. package/templates/commands/explore.md +45 -45
  103. package/templates/commands/feature-full.md +267 -267
  104. package/templates/commands/gitflow/1-init.md +1038 -1038
  105. package/templates/commands/gitflow/10-start.md +768 -768
  106. package/templates/commands/gitflow/11-finish.md +457 -457
  107. package/templates/commands/gitflow/12-cleanup.md +276 -276
  108. package/templates/commands/gitflow/13-sync.md +216 -216
  109. package/templates/commands/gitflow/14-rebase.md +251 -251
  110. package/templates/commands/gitflow/2-status.md +277 -277
  111. package/templates/commands/gitflow/3-commit.md +344 -344
  112. package/templates/commands/gitflow/4-plan.md +145 -145
  113. package/templates/commands/gitflow/5-exec.md +147 -147
  114. package/templates/commands/gitflow/6-abort.md +344 -344
  115. package/templates/commands/gitflow/7-pull-request.md +453 -355
  116. package/templates/commands/gitflow/8-review.md +240 -176
  117. package/templates/commands/gitflow/9-merge.md +451 -365
  118. package/templates/commands/gitflow.md +128 -128
  119. package/templates/commands/implement.md +663 -663
  120. package/templates/commands/init.md +567 -562
  121. package/templates/commands/mcp-integration.md +330 -330
  122. package/templates/commands/notification.md +129 -129
  123. package/templates/commands/oneshot.md +57 -57
  124. package/templates/commands/quick-search.md +72 -72
  125. package/templates/commands/ralph-loop/cancel-ralph.md +18 -18
  126. package/templates/commands/ralph-loop/help.md +126 -126
  127. package/templates/commands/ralph-loop/ralph-loop.md +18 -18
  128. package/templates/commands/review.md +106 -106
  129. package/templates/commands/utils/test-web-config.md +160 -160
  130. package/templates/commands/utils/test-web.md +151 -151
  131. package/templates/commands/validate.md +233 -233
  132. package/templates/commands/workflow.md +193 -193
  133. package/templates/gitflow/config.json +138 -138
  134. package/templates/hooks/ef-migration-check.md +139 -139
  135. package/templates/hooks/hooks.json +25 -25
  136. package/templates/hooks/stop-hook.sh +177 -177
  137. package/templates/skills/ai-prompt/SKILL.md +778 -778
  138. package/templates/skills/application/SKILL.md +563 -563
  139. package/templates/skills/application/templates-backend.md +450 -450
  140. package/templates/skills/application/templates-frontend.md +531 -531
  141. package/templates/skills/application/templates-i18n.md +520 -520
  142. package/templates/skills/application/templates-seed.md +647 -647
  143. package/templates/skills/business-analyse/SKILL.md +191 -191
  144. package/templates/skills/business-analyse/questionnaire.md +283 -283
  145. package/templates/skills/business-analyse/templates-frd.md +477 -477
  146. package/templates/skills/business-analyse/templates-react.md +580 -580
  147. package/templates/skills/controller/SKILL.md +240 -240
  148. package/templates/skills/controller/postman-templates.md +614 -614
  149. package/templates/skills/controller/templates.md +1468 -1468
  150. package/templates/skills/documentation/SKILL.md +133 -133
  151. package/templates/skills/documentation/templates.md +476 -476
  152. package/templates/skills/feature-full/SKILL.md +838 -838
  153. package/templates/skills/notification/SKILL.md +555 -555
  154. package/templates/skills/ui-components/SKILL.md +870 -870
  155. package/templates/skills/workflow/SKILL.md +582 -582
  156. package/templates/test-web/api-health.json +38 -38
  157. package/templates/test-web/minimal.json +19 -19
  158. package/templates/test-web/npm-package.json +46 -46
  159. package/templates/test-web/seo-check.json +54 -54
@@ -0,0 +1,565 @@
1
+ <!DOCTYPE html>
2
+ <html lang="fr">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>Project Init - SmartStack CLI</title>
7
+ <link rel="stylesheet" href="css/styles.css">
8
+ </head>
9
+ <body>
10
+ <div class="app-container">
11
+ <!-- Global Header (single unified element) -->
12
+ <header class="global-header">
13
+ <div class="logo">SS</div>
14
+ <span class="site-title">SmartStack CLI</span>
15
+ <span class="version-badge">v1.5.0</span>
16
+ <div class="header-divider"></div>
17
+ <span class="page-title">Project Init</span>
18
+ <nav class="breadcrumb">
19
+ <a href="index.html">
20
+ <span data-lang="fr">Accueil</span>
21
+ <span data-lang="en">Home</span>
22
+ </a>
23
+ <span class="breadcrumb-separator">&#8250;</span>
24
+ <span class="breadcrumb-current">Project Init</span>
25
+ </nav>
26
+ <!-- Language Select -->
27
+ <select class="lang-select" id="lang-select" onchange="setLanguage(this.value); localStorage.setItem('doc-language', this.value);">
28
+ <option value="fr">&#127467;&#127479; FR</option>
29
+ <option value="en">&#127468;&#127463; EN</option>
30
+ </select>
31
+ <!-- Search -->
32
+ <div class="header-search">
33
+ <div class="search-input-wrapper">
34
+ <span class="search-icon">&#128269;</span>
35
+ <input type="text" id="search-input" class="search-input" placeholder="Rechercher..." data-placeholder-fr="Rechercher..." data-placeholder-en="Search..." autocomplete="off">
36
+ <span class="search-shortcut">Ctrl+K</span>
37
+ </div>
38
+ <div id="search-results" class="search-results"></div>
39
+ </div>
40
+ </header>
41
+
42
+ <!-- App Body -->
43
+ <div class="app-body">
44
+ <!-- Sidebar -->
45
+ <aside class="sidebar">
46
+ <button class="sidebar-toggle" title="Toggle sidebar">
47
+ <span class="toggle-icon-collapse">&#171;</span>
48
+ <span class="toggle-icon-expand">&#187;</span>
49
+ </button>
50
+
51
+ <nav class="sidebar-nav">
52
+ <div class="nav-section">
53
+ <div class="nav-section-title">
54
+ <span data-lang="fr">Demarrage</span>
55
+ <span data-lang="en">Getting Started</span>
56
+ </div>
57
+ <a href="index.html" class="nav-item">
58
+ <span class="icon">&#127968;</span>
59
+ <span class="nav-text" data-lang="fr">Accueil</span>
60
+ <span class="nav-text" data-lang="en">Home</span>
61
+ </a>
62
+ <a href="installation.html" class="nav-item">
63
+ <span class="icon">&#128230;</span>
64
+ <span class="nav-text">Installation</span>
65
+ </a>
66
+ <a href="init.html" class="nav-item active">
67
+ <span class="icon">&#128640;</span>
68
+ <span class="nav-text">Project Init</span>
69
+ </a>
70
+ </div>
71
+
72
+ <div class="nav-section">
73
+ <div class="nav-section-title">Workflows</div>
74
+ <a href="gitflow.html" class="nav-item">
75
+ <span class="icon">&#128256;</span>
76
+ <span class="nav-text">GitFlow</span>
77
+ </a>
78
+ <a href="efcore.html" class="nav-item">
79
+ <span class="icon">&#128452;</span>
80
+ <span class="nav-text">EF Core</span>
81
+ </a>
82
+ <a href="apex.html" class="nav-item">
83
+ <span class="icon">&#127919;</span>
84
+ <span class="nav-text">APEX</span>
85
+ </a>
86
+ <a href="business-analyse.html" class="nav-item">
87
+ <span class="icon">&#128202;</span>
88
+ <span class="nav-text">Business Analyse</span>
89
+ </a>
90
+ <a href="ralph-loop.html" class="nav-item">
91
+ <span class="icon">&#128260;</span>
92
+ <span class="nav-text">Ralph Loop</span>
93
+ </a>
94
+ </div>
95
+
96
+ <div class="nav-section">
97
+ <div class="nav-section-title">
98
+ <span data-lang="fr">Outils</span>
99
+ <span data-lang="en">Tools</span>
100
+ </div>
101
+ <a href="agents.html" class="nav-item">
102
+ <span class="icon">&#129302;</span>
103
+ <span class="nav-text">Agents</span>
104
+ </a>
105
+ <a href="commands.html" class="nav-item">
106
+ <span class="icon">&#9889;</span>
107
+ <span class="nav-text" data-lang="fr">Commandes</span>
108
+ <span class="nav-text" data-lang="en">Commands</span>
109
+ </a>
110
+ <a href="hooks.html" class="nav-item">
111
+ <span class="icon">&#128279;</span>
112
+ <span class="nav-text">Hooks</span>
113
+ </a>
114
+ <a href="test-web.html" class="nav-item">
115
+ <span class="icon">&#127760;</span>
116
+ <span class="nav-text">Test Web</span>
117
+ </a>
118
+ </div>
119
+ </nav>
120
+
121
+ </aside>
122
+
123
+ <!-- Main Content -->
124
+ <main class="main-content">
125
+ <div class="content content-wide">
126
+ <!-- Introduction -->
127
+ <section id="introduction">
128
+ <h2>
129
+ <span data-lang="fr">Initialisation de projet SmartStack</span>
130
+ <span data-lang="en">SmartStack Project Initialization</span>
131
+ </h2>
132
+
133
+ <p data-lang="fr">
134
+ La commande <code>smartstack init</code> permet de creer rapidement un nouveau projet SmartStack avec une architecture Clean Architecture (.NET) et un frontend React pre-configure.
135
+ </p>
136
+ <p data-lang="en">
137
+ The <code>smartstack init</code> command allows you to quickly create a new SmartStack project with Clean Architecture (.NET) and a pre-configured React frontend.
138
+ </p>
139
+
140
+ <div class="alert alert-info">
141
+ <span class="alert-icon">&#128161;</span>
142
+ <div class="alert-content">
143
+ <p><code>smartstack init MyProject</code></p>
144
+ </div>
145
+ </div>
146
+ </section>
147
+
148
+ <!-- Prerequisites -->
149
+ <section id="prerequisites">
150
+ <h2>
151
+ <span data-lang="fr">Prerequis</span>
152
+ <span data-lang="en">Prerequisites</span>
153
+ </h2>
154
+
155
+ <div class="feature-grid">
156
+ <div class="feature-item">
157
+ <span class="feature-icon">&#128736;</span>
158
+ <span class="feature-text"><strong>.NET SDK</strong> &gt;= 10.0</span>
159
+ </div>
160
+ <div class="feature-item">
161
+ <span class="feature-icon">&#128215;</span>
162
+ <span class="feature-text"><strong>Node.js</strong> &gt;= 18.0</span>
163
+ </div>
164
+ <div class="feature-item">
165
+ <span class="feature-icon">&#128230;</span>
166
+ <span class="feature-text"><strong>npm</strong> &gt;= 9.0</span>
167
+ </div>
168
+ </div>
169
+ </section>
170
+
171
+ <!-- MCP Servers -->
172
+ <section id="mcp-servers">
173
+ <h2>
174
+ <span data-lang="fr">Serveurs MCP requis</span>
175
+ <span data-lang="en">Required MCP Servers</span>
176
+ </h2>
177
+
178
+ <p data-lang="fr">
179
+ SmartStack utilise des serveurs MCP pour ameliorer l'experience de developpement. La commande <code>init</code> verifie automatiquement leur presence.
180
+ </p>
181
+ <p data-lang="en">
182
+ SmartStack uses MCP servers to enhance the development experience. The <code>init</code> command automatically checks for their presence.
183
+ </p>
184
+
185
+ <div class="table-container">
186
+ <table>
187
+ <thead>
188
+ <tr>
189
+ <th>Serveur</th>
190
+ <th>
191
+ <span data-lang="fr">Fonction</span>
192
+ <span data-lang="en">Function</span>
193
+ </th>
194
+ <th>Installation</th>
195
+ </tr>
196
+ </thead>
197
+ <tbody>
198
+ <tr>
199
+ <td><strong>SmartStack MCP</strong></td>
200
+ <td>
201
+ <span data-lang="fr">Validation conventions, scaffolding, API docs</span>
202
+ <span data-lang="en">Conventions validation, scaffolding, API docs</span>
203
+ </td>
204
+ <td><code>claude mcp add smartstack</code></td>
205
+ </tr>
206
+ <tr>
207
+ <td><strong>Context7 MCP</strong></td>
208
+ <td>
209
+ <span data-lang="fr">Documentation libraries, exemples de code</span>
210
+ <span data-lang="en">Library documentation, code examples</span>
211
+ </td>
212
+ <td><code>claude mcp add context7 -- npx @upstash/context7-mcp -- --api-key YOUR_API_KEY</code></td>
213
+ </tr>
214
+ </tbody>
215
+ </table>
216
+ </div>
217
+
218
+ <div class="alert alert-warning">
219
+ <span class="alert-icon">&#9888;</span>
220
+ <div class="alert-content">
221
+ <h5 data-lang="fr">MCP manquants</h5>
222
+ <h5 data-lang="en">Missing MCP</h5>
223
+ <p data-lang="fr">
224
+ Si les serveurs MCP ne sont pas installes, vous pouvez continuer avec l'option <code>--skip-mcp-check</code>, mais certaines fonctionnalites seront limitees.
225
+ </p>
226
+ <p data-lang="en">
227
+ If MCP servers are not installed, you can continue with the <code>--skip-mcp-check</code> option, but some features will be limited.
228
+ </p>
229
+ </div>
230
+ </div>
231
+ </section>
232
+
233
+ <!-- Usage -->
234
+ <section id="usage">
235
+ <h2>
236
+ <span data-lang="fr">Utilisation</span>
237
+ <span data-lang="en">Usage</span>
238
+ </h2>
239
+
240
+ <div class="code-block">
241
+ <button class="copy-btn">Copy</button>
242
+ <pre><code>smartstack init &lt;project-name&gt; [options]</code></pre>
243
+ </div>
244
+
245
+ <h3>Options</h3>
246
+
247
+ <div class="table-container">
248
+ <table>
249
+ <thead>
250
+ <tr>
251
+ <th>Option</th>
252
+ <th>
253
+ <span data-lang="fr">Description</span>
254
+ <span data-lang="en">Description</span>
255
+ </th>
256
+ </tr>
257
+ </thead>
258
+ <tbody>
259
+ <tr>
260
+ <td><code>--full-stack</code></td>
261
+ <td>
262
+ <span data-lang="fr">Creer un projet Full Stack (Backend .NET + Frontend React) - par defaut</span>
263
+ <span data-lang="en">Create Full Stack project (Backend .NET + Frontend React) - default</span>
264
+ </td>
265
+ </tr>
266
+ <tr>
267
+ <td><code>--backend</code></td>
268
+ <td>
269
+ <span data-lang="fr">Creer uniquement le backend .NET</span>
270
+ <span data-lang="en">Create backend .NET only</span>
271
+ </td>
272
+ </tr>
273
+ <tr>
274
+ <td><code>--frontend</code></td>
275
+ <td>
276
+ <span data-lang="fr">Creer uniquement le frontend React</span>
277
+ <span data-lang="en">Create frontend React only</span>
278
+ </td>
279
+ </tr>
280
+ <tr>
281
+ <td><code>--db &lt;type&gt;</code></td>
282
+ <td>
283
+ <span data-lang="fr">Base de donnees: <code>sqlserver</code> (defaut), <code>postgresql</code>, <code>sqlite</code></span>
284
+ <span data-lang="en">Database: <code>sqlserver</code> (default), <code>postgresql</code>, <code>sqlite</code></span>
285
+ </td>
286
+ </tr>
287
+ <tr>
288
+ <td><code>--dry-run</code></td>
289
+ <td>
290
+ <span data-lang="fr">Simulation - affiche ce qui serait cree sans rien creer</span>
291
+ <span data-lang="en">Simulation - shows what would be created without creating anything</span>
292
+ </td>
293
+ </tr>
294
+ <tr>
295
+ <td><code>-y, --yes</code></td>
296
+ <td>
297
+ <span data-lang="fr">Mode non-interactif - utilise les valeurs par defaut</span>
298
+ <span data-lang="en">Non-interactive mode - uses default values</span>
299
+ </td>
300
+ </tr>
301
+ <tr>
302
+ <td><code>--skip-mcp-check</code></td>
303
+ <td>
304
+ <span data-lang="fr">Ignorer la verification des serveurs MCP</span>
305
+ <span data-lang="en">Skip MCP servers verification</span>
306
+ </td>
307
+ </tr>
308
+ </tbody>
309
+ </table>
310
+ </div>
311
+ </section>
312
+
313
+ <!-- Examples -->
314
+ <section id="examples">
315
+ <h2>
316
+ <span data-lang="fr">Exemples</span>
317
+ <span data-lang="en">Examples</span>
318
+ </h2>
319
+
320
+ <div class="code-block">
321
+ <button class="copy-btn">Copy</button>
322
+ <pre><code># Projet Full Stack avec wizard interactif
323
+ smartstack init MyApp
324
+
325
+ # Projet Full Stack avec SQL Server (mode rapide)
326
+ smartstack init MyApp -y
327
+
328
+ # Backend .NET uniquement avec PostgreSQL
329
+ smartstack init MyApi --backend --db postgresql
330
+
331
+ # Frontend React uniquement
332
+ smartstack init MyWebApp --frontend
333
+
334
+ # Simulation (dry-run)
335
+ smartstack init MyApp --dry-run</code></pre>
336
+ </div>
337
+ </section>
338
+
339
+ <!-- Project Structure -->
340
+ <section id="structure">
341
+ <h2>
342
+ <span data-lang="fr">Structure du projet</span>
343
+ <span data-lang="en">Project Structure</span>
344
+ </h2>
345
+
346
+ <p data-lang="fr">La commande cree la structure suivante (Clean Architecture) :</p>
347
+ <p data-lang="en">The command creates the following structure (Clean Architecture):</p>
348
+
349
+ <div class="code-block">
350
+ <pre><code>{ProjectName}/
351
+ ├── src/
352
+ │ ├── {ProjectName}.Domain/ # Entites, Interfaces
353
+ │ │ ├── Entities/
354
+ │ │ ├── Interfaces/
355
+ │ │ └── {ProjectName}.Domain.csproj
356
+ │ ├── {ProjectName}.Application/ # Services, DTOs
357
+ │ │ ├── Services/
358
+ │ │ ├── DTOs/
359
+ │ │ └── {ProjectName}.Application.csproj
360
+ │ ├── {ProjectName}.Infrastructure/ # Data, Repositories
361
+ │ │ ├── Data/
362
+ │ │ │ └── {ProjectName}DbContext.cs
363
+ │ │ ├── Repositories/
364
+ │ │ └── {ProjectName}.Infrastructure.csproj
365
+ │ └── {ProjectName}.Api/ # Controllers, Program.cs
366
+ │ ├── Controllers/
367
+ │ ├── Program.cs
368
+ │ └── {ProjectName}.Api.csproj
369
+ ├── tests/
370
+ │ └── {ProjectName}.Tests/
371
+ ├── web/
372
+ │ └── {projectname}-web/ # Frontend React
373
+ │ ├── src/
374
+ │ ├── package.json
375
+ │ └── vite.config.ts
376
+ ├── {ProjectName}.sln
377
+ ├── Directory.Build.props
378
+ └── README.md</code></pre>
379
+ </div>
380
+ </section>
381
+
382
+ <!-- Packages -->
383
+ <section id="packages">
384
+ <h2>
385
+ <span data-lang="fr">Packages installes</span>
386
+ <span data-lang="en">Installed Packages</span>
387
+ </h2>
388
+
389
+ <h3>NuGet (Backend)</h3>
390
+ <ul>
391
+ <li><code>Microsoft.EntityFrameworkCore</code></li>
392
+ <li><code>Microsoft.EntityFrameworkCore.Design</code></li>
393
+ <li><code>Microsoft.EntityFrameworkCore.SqlServer</code> (ou PostgreSQL/SQLite)</li>
394
+ <li><code>Microsoft.AspNetCore.Authentication.JwtBearer</code></li>
395
+ <li><code>Swashbuckle.AspNetCore</code></li>
396
+ </ul>
397
+
398
+ <h3>npm (Frontend)</h3>
399
+ <ul>
400
+ <li><code>@atlashub/smartstack-react</code></li>
401
+ <li><code>react-router-dom</code></li>
402
+ <li><code>axios</code></li>
403
+ <li><code>i18next</code> / <code>react-i18next</code></li>
404
+ <li><code>tailwindcss</code></li>
405
+ </ul>
406
+ </section>
407
+
408
+ <!-- Next Steps -->
409
+ <section id="next-steps">
410
+ <h2>
411
+ <span data-lang="fr">Prochaines etapes</span>
412
+ <span data-lang="en">Next Steps</span>
413
+ </h2>
414
+
415
+ <ol class="steps-list">
416
+ <li>
417
+ <div class="step-content">
418
+ <h5 data-lang="fr">Configurer la connection string</h5>
419
+ <h5 data-lang="en">Configure connection string</h5>
420
+ <p data-lang="fr">Editez <code>appsettings.json</code> pour configurer votre base de donnees.</p>
421
+ <p data-lang="en">Edit <code>appsettings.json</code> to configure your database.</p>
422
+ </div>
423
+ </li>
424
+ <li>
425
+ <div class="step-content">
426
+ <h5 data-lang="fr">Creer la migration initiale</h5>
427
+ <h5 data-lang="en">Create initial migration</h5>
428
+ <div class="code-block">
429
+ <button class="copy-btn">Copy</button>
430
+ <pre><code>dotnet ef migrations add InitialCreate \
431
+ -p src/{ProjectName}.Infrastructure \
432
+ -s src/{ProjectName}.Api</code></pre>
433
+ </div>
434
+ </div>
435
+ </li>
436
+ <li>
437
+ <div class="step-content">
438
+ <h5 data-lang="fr">Appliquer la migration</h5>
439
+ <h5 data-lang="en">Apply migration</h5>
440
+ <div class="code-block">
441
+ <button class="copy-btn">Copy</button>
442
+ <pre><code>dotnet ef database update \
443
+ -p src/{ProjectName}.Infrastructure \
444
+ -s src/{ProjectName}.Api</code></pre>
445
+ </div>
446
+ </div>
447
+ </li>
448
+ <li>
449
+ <div class="step-content">
450
+ <h5 data-lang="fr">Lancer le backend</h5>
451
+ <h5 data-lang="en">Start backend</h5>
452
+ <div class="code-block">
453
+ <button class="copy-btn">Copy</button>
454
+ <pre><code>dotnet run --project src/{ProjectName}.Api</code></pre>
455
+ </div>
456
+ </div>
457
+ </li>
458
+ <li>
459
+ <div class="step-content">
460
+ <h5 data-lang="fr">Lancer le frontend</h5>
461
+ <h5 data-lang="en">Start frontend</h5>
462
+ <div class="code-block">
463
+ <button class="copy-btn">Copy</button>
464
+ <pre><code>cd web/{projectname}-web && npm run dev</code></pre>
465
+ </div>
466
+ </div>
467
+ </li>
468
+ </ol>
469
+ </section>
470
+
471
+ <!-- MCP Server Features -->
472
+ <section id="mcp-features">
473
+ <h2>
474
+ <span data-lang="fr">Fonctionnalites MCP</span>
475
+ <span data-lang="en">MCP Features</span>
476
+ </h2>
477
+
478
+ <h3>SmartStack MCP</h3>
479
+ <div class="table-container">
480
+ <table>
481
+ <thead>
482
+ <tr>
483
+ <th>Tool</th>
484
+ <th>
485
+ <span data-lang="fr">Description</span>
486
+ <span data-lang="en">Description</span>
487
+ </th>
488
+ </tr>
489
+ </thead>
490
+ <tbody>
491
+ <tr>
492
+ <td><code>validate_conventions</code></td>
493
+ <td>
494
+ <span data-lang="fr">Valide les conventions SQL, migrations, services, namespaces</span>
495
+ <span data-lang="en">Validates SQL conventions, migrations, services, namespaces</span>
496
+ </td>
497
+ </tr>
498
+ <tr>
499
+ <td><code>check_migrations</code></td>
500
+ <td>
501
+ <span data-lang="fr">Analyse les conflits EF Core entre branches</span>
502
+ <span data-lang="en">Analyzes EF Core conflicts between branches</span>
503
+ </td>
504
+ </tr>
505
+ <tr>
506
+ <td><code>scaffold_extension</code></td>
507
+ <td>
508
+ <span data-lang="fr">Genere du code (services, entites, controllers, components)</span>
509
+ <span data-lang="en">Generates code (services, entities, controllers, components)</span>
510
+ </td>
511
+ </tr>
512
+ <tr>
513
+ <td><code>api_docs</code></td>
514
+ <td>
515
+ <span data-lang="fr">Documentation API Swagger/OpenAPI</span>
516
+ <span data-lang="en">Swagger/OpenAPI API documentation</span>
517
+ </td>
518
+ </tr>
519
+ </tbody>
520
+ </table>
521
+ </div>
522
+
523
+ <h3>Context7 MCP</h3>
524
+ <div class="table-container">
525
+ <table>
526
+ <thead>
527
+ <tr>
528
+ <th>Tool</th>
529
+ <th>
530
+ <span data-lang="fr">Description</span>
531
+ <span data-lang="en">Description</span>
532
+ </th>
533
+ </tr>
534
+ </thead>
535
+ <tbody>
536
+ <tr>
537
+ <td><code>resolve-library-id</code></td>
538
+ <td>
539
+ <span data-lang="fr">Trouve l'ID Context7 d'une bibliotheque</span>
540
+ <span data-lang="en">Finds the Context7 ID of a library</span>
541
+ </td>
542
+ </tr>
543
+ <tr>
544
+ <td><code>query-docs</code></td>
545
+ <td>
546
+ <span data-lang="fr">Recupere la documentation et exemples de code a jour</span>
547
+ <span data-lang="en">Retrieves up-to-date documentation and code examples</span>
548
+ </td>
549
+ </tr>
550
+ </tbody>
551
+ </table>
552
+ </div>
553
+ </section>
554
+ </div>
555
+ </main>
556
+ </div>
557
+ </div>
558
+
559
+ <!-- Mobile Menu Button -->
560
+ <button class="mobile-menu-btn">&#9776;</button>
561
+ <div class="overlay"></div>
562
+
563
+ <script src="js/app.js"></script>
564
+ </body>
565
+ </html>