@atlashub/smartstack-cli 4.31.0 → 4.32.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.
|
@@ -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">
|
|
15
|
+
<span class="version-badge">v4.32.0</span>
|
|
16
16
|
<div class="header-divider"></div>
|
|
17
17
|
<span class="page-title" data-lang="fr">Référence des commandes</span>
|
|
18
18
|
<span class="page-title" data-lang="en">Command Reference</span>
|
|
@@ -138,6 +138,539 @@
|
|
|
138
138
|
<!-- Main Content -->
|
|
139
139
|
<main class="main-content">
|
|
140
140
|
<div class="content content-wide">
|
|
141
|
+
|
|
142
|
+
<!-- Project Guide -->
|
|
143
|
+
<section id="project-guide">
|
|
144
|
+
<h2>
|
|
145
|
+
<span data-lang="fr">Guide Projet : quoi utiliser et quand ?</span>
|
|
146
|
+
<span data-lang="en">Project Guide: what to use and when?</span>
|
|
147
|
+
</h2>
|
|
148
|
+
|
|
149
|
+
<p style="margin-bottom: 1.5rem;">
|
|
150
|
+
<span data-lang="fr">Choisissez votre situation pour decouvrir le parcours recommande.</span>
|
|
151
|
+
<span data-lang="en">Choose your situation to discover the recommended path.</span>
|
|
152
|
+
</p>
|
|
153
|
+
|
|
154
|
+
<!-- Scenario 1: New Project -->
|
|
155
|
+
<h3 id="scenario-new-project" style="margin-top: 2rem;">
|
|
156
|
+
<span data-lang="fr">🏠 Scenario 1 — Nouveau projet, partir de zero</span>
|
|
157
|
+
<span data-lang="en">🏠 Scenario 1 — New project, starting from scratch</span>
|
|
158
|
+
</h3>
|
|
159
|
+
|
|
160
|
+
<div class="alert alert-info" style="margin-bottom: 1rem;">
|
|
161
|
+
<span class="alert-icon">💬</span>
|
|
162
|
+
<div class="alert-content">
|
|
163
|
+
<p data-lang="fr"><em>« On demarre un nouveau projet de gestion RH, je veux tout faire dans les regles. »</em></p>
|
|
164
|
+
<p data-lang="en"><em>« We're starting a new HR management project, I want to do it by the book. »</em></p>
|
|
165
|
+
</div>
|
|
166
|
+
</div>
|
|
167
|
+
|
|
168
|
+
<ol class="steps-list">
|
|
169
|
+
<li>
|
|
170
|
+
<div class="step-content">
|
|
171
|
+
<h5><code>/gitflow init</code> + <code>/gitflow -f my-project</code></h5>
|
|
172
|
+
<p data-lang="fr">Initialiser le repository GitFlow et creer la branche feature.</p>
|
|
173
|
+
<p data-lang="en">Initialize GitFlow repository and create the feature branch.</p>
|
|
174
|
+
</div>
|
|
175
|
+
</li>
|
|
176
|
+
<li>
|
|
177
|
+
<div class="step-content">
|
|
178
|
+
<h5><code>/business-analyse</code> <span class="badge badge-purple">steps 00-04</span></h5>
|
|
179
|
+
<p data-lang="fr">Analyser le besoin : cadrage, structure App/Module/Section/Resource, specification par module, consolidation cross-module.</p>
|
|
180
|
+
<p data-lang="en">Analyze requirements: framing, App/Module/Section/Resource structure, per-module specification, cross-module consolidation.</p>
|
|
181
|
+
</div>
|
|
182
|
+
</li>
|
|
183
|
+
<li>
|
|
184
|
+
<div class="step-content">
|
|
185
|
+
<h5><code>/ba-design-ui</code> → <code>/ba-generate-html</code> → <code>/ba-review</code></h5>
|
|
186
|
+
<p data-lang="fr">Designer les ecrans, generer le livrable HTML interactif, iterer avec le client jusqu'a validation.</p>
|
|
187
|
+
<p data-lang="en">Design screens, generate interactive HTML deliverable, iterate with client until validation.</p>
|
|
188
|
+
</div>
|
|
189
|
+
</li>
|
|
190
|
+
<li>
|
|
191
|
+
<div class="step-content">
|
|
192
|
+
<h5><code>/derive-prd</code></h5>
|
|
193
|
+
<p data-lang="fr">Transformer la BA validee en PRD (Product Requirement Documents) pour le developpement.</p>
|
|
194
|
+
<p data-lang="en">Transform validated BA into PRD (Product Requirement Documents) for development.</p>
|
|
195
|
+
</div>
|
|
196
|
+
</li>
|
|
197
|
+
<li>
|
|
198
|
+
<div class="step-content">
|
|
199
|
+
<h5><code>/ralph-loop</code></h5>
|
|
200
|
+
<p data-lang="fr">Lancer la boucle de developpement autonome : lit les PRDs, orchestre les taches, genere tout le code (entites, migrations, API, frontend).</p>
|
|
201
|
+
<p data-lang="en">Launch autonomous development loop: reads PRDs, orchestrates tasks, generates all code (entities, migrations, API, frontend).</p>
|
|
202
|
+
</div>
|
|
203
|
+
</li>
|
|
204
|
+
<li>
|
|
205
|
+
<div class="step-content">
|
|
206
|
+
<h5><code>/validate-feature</code> + <code>/review-code</code></h5>
|
|
207
|
+
<p data-lang="fr">Valider la compilation, les tests, le smoke test API. Puis revue de code securite/architecture.</p>
|
|
208
|
+
<p data-lang="en">Validate compilation, tests, API smoke test. Then security/architecture code review.</p>
|
|
209
|
+
</div>
|
|
210
|
+
</li>
|
|
211
|
+
<li>
|
|
212
|
+
<div class="step-content">
|
|
213
|
+
<h5><code>/gitflow commit</code> → <code>/gitflow pr</code> → <code>/gitflow merge</code></h5>
|
|
214
|
+
<p data-lang="fr">Commiter, creer la PR, merger apres review.</p>
|
|
215
|
+
<p data-lang="en">Commit, create PR, merge after review.</p>
|
|
216
|
+
</div>
|
|
217
|
+
</li>
|
|
218
|
+
</ol>
|
|
219
|
+
|
|
220
|
+
<!-- Scenario 2: Add Feature to Existing -->
|
|
221
|
+
<h3 id="scenario-add-feature" style="margin-top: 2rem;">
|
|
222
|
+
<span data-lang="fr">⚙ Scenario 2 — Ajouter une feature a un projet existant</span>
|
|
223
|
+
<span data-lang="en">⚙ Scenario 2 — Add a feature to an existing project</span>
|
|
224
|
+
</h3>
|
|
225
|
+
|
|
226
|
+
<div class="alert alert-info" style="margin-bottom: 1rem;">
|
|
227
|
+
<span class="alert-icon">💬</span>
|
|
228
|
+
<div class="alert-content">
|
|
229
|
+
<p data-lang="fr"><em>« J'ai deja un module RH, je veux ajouter la gestion des absences. »</em></p>
|
|
230
|
+
<p data-lang="en"><em>« I already have an HR module, I want to add absence management. »</em></p>
|
|
231
|
+
</div>
|
|
232
|
+
</div>
|
|
233
|
+
|
|
234
|
+
<ol class="steps-list">
|
|
235
|
+
<li>
|
|
236
|
+
<div class="step-content">
|
|
237
|
+
<h5><code>/gitflow -f add-absences</code></h5>
|
|
238
|
+
<p data-lang="fr">Creer la branche feature dans un worktree isole.</p>
|
|
239
|
+
<p data-lang="en">Create the feature branch in an isolated worktree.</p>
|
|
240
|
+
</div>
|
|
241
|
+
</li>
|
|
242
|
+
<li>
|
|
243
|
+
<div class="step-content">
|
|
244
|
+
<h5><code>/apex</code></h5>
|
|
245
|
+
<p data-lang="fr">Developpement incremental : analyse le code existant, planifie les fichiers, genere couche par couche (domain, seed, backend, frontend, devdata).</p>
|
|
246
|
+
<p data-lang="en">Incremental development: analyze existing code, plan files, generate layer by layer (domain, seed, backend, frontend, devdata).</p>
|
|
247
|
+
</div>
|
|
248
|
+
</li>
|
|
249
|
+
<li>
|
|
250
|
+
<div class="step-content">
|
|
251
|
+
<h5><code>/validate-feature</code></h5>
|
|
252
|
+
<p data-lang="fr">Verifier que tout compile, que les tests passent et que l'API repond.</p>
|
|
253
|
+
<p data-lang="en">Verify compilation, passing tests, and API responses.</p>
|
|
254
|
+
</div>
|
|
255
|
+
</li>
|
|
256
|
+
<li>
|
|
257
|
+
<div class="step-content">
|
|
258
|
+
<h5><code>/gitflow commit</code> → <code>/gitflow pr</code></h5>
|
|
259
|
+
<p data-lang="fr">Commiter et creer la PR.</p>
|
|
260
|
+
<p data-lang="en">Commit and create the PR.</p>
|
|
261
|
+
</div>
|
|
262
|
+
</li>
|
|
263
|
+
</ol>
|
|
264
|
+
|
|
265
|
+
<!-- Scenario 3: Create a Complete Module -->
|
|
266
|
+
<h3 id="scenario-new-module" style="margin-top: 2rem;">
|
|
267
|
+
<span data-lang="fr">📦 Scenario 3 — Creer un module complet rapidement</span>
|
|
268
|
+
<span data-lang="en">📦 Scenario 3 — Create a complete module quickly</span>
|
|
269
|
+
</h3>
|
|
270
|
+
|
|
271
|
+
<div class="alert alert-info" style="margin-bottom: 1rem;">
|
|
272
|
+
<span class="alert-icon">💬</span>
|
|
273
|
+
<div class="alert-content">
|
|
274
|
+
<p data-lang="fr"><em>« Je connais deja le besoin, je veux generer le module Produits avec navigation, permissions, API et pages React. »</em></p>
|
|
275
|
+
<p data-lang="en"><em>« I already know the requirements, I want to generate the Products module with navigation, permissions, API and React pages. »</em></p>
|
|
276
|
+
</div>
|
|
277
|
+
</div>
|
|
278
|
+
|
|
279
|
+
<ol class="steps-list">
|
|
280
|
+
<li>
|
|
281
|
+
<div class="step-content">
|
|
282
|
+
<h5><code>/application</code></h5>
|
|
283
|
+
<p data-lang="fr">Genere tout le module full-stack : navigation, permissions, roles, entity, service, controller, DTOs, pages React, routes, migration, tests, i18n (4 langues).</p>
|
|
284
|
+
<p data-lang="en">Generates the complete full-stack module: navigation, permissions, roles, entity, service, controller, DTOs, React pages, routes, migration, tests, i18n (4 languages).</p>
|
|
285
|
+
</div>
|
|
286
|
+
</li>
|
|
287
|
+
<li>
|
|
288
|
+
<div class="step-content">
|
|
289
|
+
<h5><code>/efcore db-deploy</code></h5>
|
|
290
|
+
<p data-lang="fr">Appliquer la migration generee en base de donnees.</p>
|
|
291
|
+
<p data-lang="en">Apply the generated migration to the database.</p>
|
|
292
|
+
</div>
|
|
293
|
+
</li>
|
|
294
|
+
<li>
|
|
295
|
+
<div class="step-content">
|
|
296
|
+
<h5><code>/validate-feature</code></h5>
|
|
297
|
+
<p data-lang="fr">Verifier que le module fonctionne de bout en bout.</p>
|
|
298
|
+
<p data-lang="en">Verify the module works end-to-end.</p>
|
|
299
|
+
</div>
|
|
300
|
+
</li>
|
|
301
|
+
</ol>
|
|
302
|
+
|
|
303
|
+
<!-- Scenario 4: Fix a Bug -->
|
|
304
|
+
<h3 id="scenario-debug" style="margin-top: 2rem;">
|
|
305
|
+
<span data-lang="fr">🐛 Scenario 4 — Corriger un bug</span>
|
|
306
|
+
<span data-lang="en">🐛 Scenario 4 — Fix a bug</span>
|
|
307
|
+
</h3>
|
|
308
|
+
|
|
309
|
+
<div class="alert alert-info" style="margin-bottom: 1rem;">
|
|
310
|
+
<span class="alert-icon">💬</span>
|
|
311
|
+
<div class="alert-content">
|
|
312
|
+
<p data-lang="fr"><em>« L'API des commandes retourne une erreur 500 quand on filtre par date. »</em></p>
|
|
313
|
+
<p data-lang="en"><em>« The orders API returns a 500 error when filtering by date. »</em></p>
|
|
314
|
+
</div>
|
|
315
|
+
</div>
|
|
316
|
+
|
|
317
|
+
<ol class="steps-list">
|
|
318
|
+
<li>
|
|
319
|
+
<div class="step-content">
|
|
320
|
+
<h5><code>/gitflow -h fix-order-filter</code></h5>
|
|
321
|
+
<p data-lang="fr">Creer une branche hotfix (ou <code>-f</code> pour feature si non-urgent).</p>
|
|
322
|
+
<p data-lang="en">Create a hotfix branch (or <code>-f</code> for feature if non-urgent).</p>
|
|
323
|
+
</div>
|
|
324
|
+
</li>
|
|
325
|
+
<li>
|
|
326
|
+
<div class="step-content">
|
|
327
|
+
<h5><code>/debug</code></h5>
|
|
328
|
+
<p data-lang="fr">Investigation systematique : analyse les logs, le code, les tests. Propose et applique le correctif.</p>
|
|
329
|
+
<p data-lang="en">Systematic investigation: analyze logs, code, tests. Proposes and applies the fix.</p>
|
|
330
|
+
</div>
|
|
331
|
+
</li>
|
|
332
|
+
<li>
|
|
333
|
+
<div class="step-content">
|
|
334
|
+
<h5><code>/review-code</code></h5>
|
|
335
|
+
<p data-lang="fr">Verifier que le fix n'introduit pas de regression ou de faille de securite.</p>
|
|
336
|
+
<p data-lang="en">Verify the fix doesn't introduce regressions or security vulnerabilities.</p>
|
|
337
|
+
</div>
|
|
338
|
+
</li>
|
|
339
|
+
<li>
|
|
340
|
+
<div class="step-content">
|
|
341
|
+
<h5><code>/gitflow commit</code> → <code>/gitflow pr</code> → <code>/gitflow finish</code></h5>
|
|
342
|
+
<p data-lang="fr">Commiter, PR, puis finaliser le hotfix (tag + merge dans main + develop).</p>
|
|
343
|
+
<p data-lang="en">Commit, PR, then finalize the hotfix (tag + merge into main + develop).</p>
|
|
344
|
+
</div>
|
|
345
|
+
</li>
|
|
346
|
+
</ol>
|
|
347
|
+
|
|
348
|
+
<!-- Scenario 5: Release -->
|
|
349
|
+
<h3 id="scenario-release" style="margin-top: 2rem;">
|
|
350
|
+
<span data-lang="fr">🚀 Scenario 5 — Preparer une release</span>
|
|
351
|
+
<span data-lang="en">🚀 Scenario 5 — Prepare a release</span>
|
|
352
|
+
</h3>
|
|
353
|
+
|
|
354
|
+
<div class="alert alert-info" style="margin-bottom: 1rem;">
|
|
355
|
+
<span class="alert-icon">💬</span>
|
|
356
|
+
<div class="alert-content">
|
|
357
|
+
<p data-lang="fr"><em>« On est prets pour la v2.0.0, je veux tout valider et publier. »</em></p>
|
|
358
|
+
<p data-lang="en"><em>« We're ready for v2.0.0, I want to validate everything and publish. »</em></p>
|
|
359
|
+
</div>
|
|
360
|
+
</div>
|
|
361
|
+
|
|
362
|
+
<ol class="steps-list">
|
|
363
|
+
<li>
|
|
364
|
+
<div class="step-content">
|
|
365
|
+
<h5><code>/gitflow -r 2.0.0</code></h5>
|
|
366
|
+
<p data-lang="fr">Creer la branche release avec bump de version.</p>
|
|
367
|
+
<p data-lang="en">Create the release branch with version bump.</p>
|
|
368
|
+
</div>
|
|
369
|
+
</li>
|
|
370
|
+
<li>
|
|
371
|
+
<div class="step-content">
|
|
372
|
+
<h5><code>/validate-feature</code> + <code>/review-code</code></h5>
|
|
373
|
+
<p data-lang="fr">Validation complete et revue de securite avant release.</p>
|
|
374
|
+
<p data-lang="en">Full validation and security review before release.</p>
|
|
375
|
+
</div>
|
|
376
|
+
</li>
|
|
377
|
+
<li>
|
|
378
|
+
<div class="step-content">
|
|
379
|
+
<h5><code>/efcore squash</code></h5>
|
|
380
|
+
<p data-lang="fr">Consolider les migrations de la feature en une seule migration propre (si necessaire).</p>
|
|
381
|
+
<p data-lang="en">Consolidate feature migrations into a single clean migration (if needed).</p>
|
|
382
|
+
</div>
|
|
383
|
+
</li>
|
|
384
|
+
<li>
|
|
385
|
+
<div class="step-content">
|
|
386
|
+
<h5><code>/gitflow finish</code></h5>
|
|
387
|
+
<p data-lang="fr">Finaliser : merge dans main, tag, merge-back dans develop, cleanup.</p>
|
|
388
|
+
<p data-lang="en">Finalize: merge into main, tag, merge-back into develop, cleanup.</p>
|
|
389
|
+
</div>
|
|
390
|
+
</li>
|
|
391
|
+
</ol>
|
|
392
|
+
|
|
393
|
+
<!-- Scenario 6: Database Operations -->
|
|
394
|
+
<h3 id="scenario-database" style="margin-top: 2rem;">
|
|
395
|
+
<span data-lang="fr">🗄 Scenario 6 — Gerer la base de donnees</span>
|
|
396
|
+
<span data-lang="en">🗄 Scenario 6 — Manage the database</span>
|
|
397
|
+
</h3>
|
|
398
|
+
|
|
399
|
+
<div class="alert alert-info" style="margin-bottom: 1rem;">
|
|
400
|
+
<span class="alert-icon">💬</span>
|
|
401
|
+
<div class="alert-content">
|
|
402
|
+
<p data-lang="fr"><em>« J'ai modifie une entite, je veux creer la migration et l'appliquer. »</em></p>
|
|
403
|
+
<p data-lang="en"><em>« I modified an entity, I want to create the migration and apply it. »</em></p>
|
|
404
|
+
</div>
|
|
405
|
+
</div>
|
|
406
|
+
|
|
407
|
+
<ol class="steps-list">
|
|
408
|
+
<li>
|
|
409
|
+
<div class="step-content">
|
|
410
|
+
<h5><code>/efcore migration</code></h5>
|
|
411
|
+
<p data-lang="fr">Creer la migration avec nommage automatique via MCP (convention respectee).</p>
|
|
412
|
+
<p data-lang="en">Create the migration with automatic naming via MCP (convention enforced).</p>
|
|
413
|
+
</div>
|
|
414
|
+
</li>
|
|
415
|
+
<li>
|
|
416
|
+
<div class="step-content">
|
|
417
|
+
<h5><code>/efcore db-deploy</code></h5>
|
|
418
|
+
<p data-lang="fr">Appliquer les migrations en attente sur la base locale.</p>
|
|
419
|
+
<p data-lang="en">Apply pending migrations to the local database.</p>
|
|
420
|
+
</div>
|
|
421
|
+
</li>
|
|
422
|
+
</ol>
|
|
423
|
+
|
|
424
|
+
<div class="alert alert-warning" style="margin-top: 0.5rem;">
|
|
425
|
+
<span class="alert-icon">⚠</span>
|
|
426
|
+
<div class="alert-content">
|
|
427
|
+
<p data-lang="fr">
|
|
428
|
+
<strong>Conflits de migrations ?</strong> Utilisez <code>/efcore scan</code> pour detecter les conflits cross-branches, puis <code>/efcore rebase-snapshot</code> pour resynchroniser.
|
|
429
|
+
</p>
|
|
430
|
+
<p data-lang="en">
|
|
431
|
+
<strong>Migration conflicts?</strong> Use <code>/efcore scan</code> to detect cross-branch conflicts, then <code>/efcore rebase-snapshot</code> to resync.
|
|
432
|
+
</p>
|
|
433
|
+
</div>
|
|
434
|
+
</div>
|
|
435
|
+
|
|
436
|
+
<!-- Scenario 7: Run / Stop Application -->
|
|
437
|
+
<h3 id="scenario-run-app" style="margin-top: 2rem;">
|
|
438
|
+
<span data-lang="fr">▶ Scenario 7 — Lancer ou arreter l'application</span>
|
|
439
|
+
<span data-lang="en">▶ Scenario 7 — Run or stop the application</span>
|
|
440
|
+
</h3>
|
|
441
|
+
|
|
442
|
+
<div class="alert alert-info" style="margin-bottom: 1rem;">
|
|
443
|
+
<span class="alert-icon">💬</span>
|
|
444
|
+
<div class="alert-content">
|
|
445
|
+
<p data-lang="fr"><em>« Je veux lancer le backend et le frontend pour tester en local. »</em></p>
|
|
446
|
+
<p data-lang="en"><em>« I want to launch the backend and frontend to test locally. »</em></p>
|
|
447
|
+
</div>
|
|
448
|
+
</div>
|
|
449
|
+
|
|
450
|
+
<div class="table-container">
|
|
451
|
+
<table>
|
|
452
|
+
<thead>
|
|
453
|
+
<tr>
|
|
454
|
+
<th>
|
|
455
|
+
<span data-lang="fr">Commande</span>
|
|
456
|
+
<span data-lang="en">Command</span>
|
|
457
|
+
</th>
|
|
458
|
+
<th>
|
|
459
|
+
<span data-lang="fr">Description</span>
|
|
460
|
+
<span data-lang="en">Description</span>
|
|
461
|
+
</th>
|
|
462
|
+
</tr>
|
|
463
|
+
</thead>
|
|
464
|
+
<tbody>
|
|
465
|
+
<tr>
|
|
466
|
+
<td><code>/dev-start</code></td>
|
|
467
|
+
<td>
|
|
468
|
+
<span data-lang="fr">Lancer tout (backend + frontend). Idempotent : detecte les processus deja en cours.</span>
|
|
469
|
+
<span data-lang="en">Launch everything (backend + frontend). Idempotent: detects already-running processes.</span>
|
|
470
|
+
</td>
|
|
471
|
+
</tr>
|
|
472
|
+
<tr>
|
|
473
|
+
<td><code>/dev-start --stop</code></td>
|
|
474
|
+
<td>
|
|
475
|
+
<span data-lang="fr">Arreter le backend et le frontend.</span>
|
|
476
|
+
<span data-lang="en">Stop backend and frontend.</span>
|
|
477
|
+
</td>
|
|
478
|
+
</tr>
|
|
479
|
+
<tr>
|
|
480
|
+
<td><code>/dev-start --backend-only</code></td>
|
|
481
|
+
<td>
|
|
482
|
+
<span data-lang="fr">Lancer uniquement le backend (.NET).</span>
|
|
483
|
+
<span data-lang="en">Launch only the backend (.NET).</span>
|
|
484
|
+
</td>
|
|
485
|
+
</tr>
|
|
486
|
+
<tr>
|
|
487
|
+
<td><code>/dev-start --frontend-only</code></td>
|
|
488
|
+
<td>
|
|
489
|
+
<span data-lang="fr">Lancer uniquement le frontend (Vite/React).</span>
|
|
490
|
+
<span data-lang="en">Launch only the frontend (Vite/React).</span>
|
|
491
|
+
</td>
|
|
492
|
+
</tr>
|
|
493
|
+
<tr>
|
|
494
|
+
<td><code>/dev-start --reset</code></td>
|
|
495
|
+
<td>
|
|
496
|
+
<span data-lang="fr">Forcer le reset du mot de passe admin.</span>
|
|
497
|
+
<span data-lang="en">Force admin password reset.</span>
|
|
498
|
+
</td>
|
|
499
|
+
</tr>
|
|
500
|
+
</tbody>
|
|
501
|
+
</table>
|
|
502
|
+
</div>
|
|
503
|
+
|
|
504
|
+
<div class="alert alert-success" style="margin-top: 0.5rem;">
|
|
505
|
+
<span class="alert-icon">💡</span>
|
|
506
|
+
<div class="alert-content">
|
|
507
|
+
<p data-lang="fr">
|
|
508
|
+
<code>/dev-start</code> detecte automatiquement le profil (<strong>Local</strong> ou <strong>Development</strong>), valide la coherence des ports entre backend et frontend, et affiche les credentials admin.
|
|
509
|
+
</p>
|
|
510
|
+
<p data-lang="en">
|
|
511
|
+
<code>/dev-start</code> automatically detects the profile (<strong>Local</strong> or <strong>Development</strong>), validates port coherence between backend and frontend, and displays admin credentials.
|
|
512
|
+
</p>
|
|
513
|
+
</div>
|
|
514
|
+
</div>
|
|
515
|
+
|
|
516
|
+
<!-- Scenario 8: Understand Code -->
|
|
517
|
+
<h3 id="scenario-understand" style="margin-top: 2rem;">
|
|
518
|
+
<span data-lang="fr">🔎 Scenario 8 — Comprendre le code existant</span>
|
|
519
|
+
<span data-lang="en">🔎 Scenario 8 — Understand existing code</span>
|
|
520
|
+
</h3>
|
|
521
|
+
|
|
522
|
+
<div class="alert alert-info" style="margin-bottom: 1rem;">
|
|
523
|
+
<span class="alert-icon">💬</span>
|
|
524
|
+
<div class="alert-content">
|
|
525
|
+
<p data-lang="fr"><em>« Je debarque sur le projet, comment fonctionne le systeme de permissions ? »</em></p>
|
|
526
|
+
<p data-lang="en"><em>« I'm new to the project, how does the permission system work? »</em></p>
|
|
527
|
+
</div>
|
|
528
|
+
</div>
|
|
529
|
+
|
|
530
|
+
<div class="card-grid">
|
|
531
|
+
<div class="card">
|
|
532
|
+
<div class="card-header">
|
|
533
|
+
<span class="card-icon">🔍</span>
|
|
534
|
+
<h4 class="card-title"><code>/quick-search</code></h4>
|
|
535
|
+
</div>
|
|
536
|
+
<div class="card-body">
|
|
537
|
+
<p data-lang="fr">Question simple, reponse rapide. <em>« Ou est defini le PermissionService ? »</em></p>
|
|
538
|
+
<p data-lang="en">Simple question, fast answer. <em>« Where is PermissionService defined? »</em></p>
|
|
539
|
+
</div>
|
|
540
|
+
</div>
|
|
541
|
+
<div class="card">
|
|
542
|
+
<div class="card-header">
|
|
543
|
+
<span class="card-icon">🔬</span>
|
|
544
|
+
<h4 class="card-title"><code>/explore</code></h4>
|
|
545
|
+
</div>
|
|
546
|
+
<div class="card-body">
|
|
547
|
+
<p data-lang="fr">Analyse approfondie d'un mecanisme. <em>« Comment fonctionne l'isolation multi-tenant ? »</em></p>
|
|
548
|
+
<p data-lang="en">Deep analysis of a mechanism. <em>« How does multi-tenant isolation work? »</em></p>
|
|
549
|
+
</div>
|
|
550
|
+
</div>
|
|
551
|
+
<div class="card">
|
|
552
|
+
<div class="card-header">
|
|
553
|
+
<span class="card-icon">📊</span>
|
|
554
|
+
<h4 class="card-title"><code>/documentation</code></h4>
|
|
555
|
+
</div>
|
|
556
|
+
<div class="card-body">
|
|
557
|
+
<p data-lang="fr">Generer la doc technique d'un module existant (ERD, guides, schemas).</p>
|
|
558
|
+
<p data-lang="en">Generate technical docs for an existing module (ERD, guides, schemas).</p>
|
|
559
|
+
</div>
|
|
560
|
+
</div>
|
|
561
|
+
</div>
|
|
562
|
+
|
|
563
|
+
<!-- Decision Tree -->
|
|
564
|
+
<h3 id="decision-tree" style="margin-top: 2.5rem;">
|
|
565
|
+
<span data-lang="fr">🌳 Arbre de decision rapide</span>
|
|
566
|
+
<span data-lang="en">🌳 Quick decision tree</span>
|
|
567
|
+
</h3>
|
|
568
|
+
|
|
569
|
+
<div class="code-block" style="margin-top: 1rem;">
|
|
570
|
+
<button class="copy-btn">Copy</button>
|
|
571
|
+
<pre><code data-lang="fr">Que voulez-vous faire ?
|
|
572
|
+
│
|
|
573
|
+
├─ Nouveau projet complet
|
|
574
|
+
│ └─ /business-analyse → /ba-design-ui → /ba-generate-html
|
|
575
|
+
│ → /ba-review → /derive-prd → /ralph-loop
|
|
576
|
+
│
|
|
577
|
+
├─ Ajouter une feature a un projet existant
|
|
578
|
+
│ ├─ Feature simple (1 entite) → /application
|
|
579
|
+
│ ├─ Feature complexe (multi) → /apex
|
|
580
|
+
│ └─ Feature avec IA/notif/wf → /apex (orchestre /ai-prompt, /notification, /workflow)
|
|
581
|
+
│
|
|
582
|
+
├─ Generer du code specifique
|
|
583
|
+
│ ├─ API controller + DTOs → /controller
|
|
584
|
+
│ ├─ Composants React → /ui-components
|
|
585
|
+
│ ├─ Notifications → /notification
|
|
586
|
+
│ ├─ Workflows automatises → /workflow
|
|
587
|
+
│ └─ Integration IA → /ai-prompt
|
|
588
|
+
│
|
|
589
|
+
├─ Base de donnees
|
|
590
|
+
│ ├─ Creer une migration → /efcore migration
|
|
591
|
+
│ ├─ Appliquer les migrations → /efcore db-deploy
|
|
592
|
+
│ ├─ Reset complet → /efcore db-reset
|
|
593
|
+
│ └─ Conflits de migrations → /efcore scan + /efcore rebase-snapshot
|
|
594
|
+
│
|
|
595
|
+
├─ Qualite et validation
|
|
596
|
+
│ ├─ Valider une feature E2E → /validate-feature
|
|
597
|
+
│ ├─ Revue de code/securite → /review-code
|
|
598
|
+
│ ├─ Valider les conventions → /validate
|
|
599
|
+
│ └─ Refactoring → /refactor
|
|
600
|
+
│
|
|
601
|
+
├─ Corriger un bug → /debug
|
|
602
|
+
│
|
|
603
|
+
├─ Lancer / arreter l'app
|
|
604
|
+
│ ├─ Tout lancer → /dev-start
|
|
605
|
+
│ ├─ Tout arreter → /dev-start --stop
|
|
606
|
+
│ ├─ Backend seul → /dev-start --backend-only
|
|
607
|
+
│ └─ Frontend seul → /dev-start --frontend-only
|
|
608
|
+
│
|
|
609
|
+
├─ Comprendre le code
|
|
610
|
+
│ ├─ Question rapide → /quick-search
|
|
611
|
+
│ └─ Analyse approfondie → /explore
|
|
612
|
+
│
|
|
613
|
+
└─ Gestion des branches
|
|
614
|
+
├─ Nouvelle feature → /gitflow -f <name>
|
|
615
|
+
├─ Release → /gitflow -r <version>
|
|
616
|
+
├─ Hotfix → /gitflow -h <name>
|
|
617
|
+
├─ Commit → /gitflow commit
|
|
618
|
+
├─ Pull Request → /gitflow pr
|
|
619
|
+
└─ Finaliser → /gitflow finish</code><code data-lang="en">What do you want to do?
|
|
620
|
+
│
|
|
621
|
+
├─ New complete project
|
|
622
|
+
│ └─ /business-analyse → /ba-design-ui → /ba-generate-html
|
|
623
|
+
│ → /ba-review → /derive-prd → /ralph-loop
|
|
624
|
+
│
|
|
625
|
+
├─ Add a feature to an existing project
|
|
626
|
+
│ ├─ Simple feature (1 entity) → /application
|
|
627
|
+
│ ├─ Complex feature (multi) → /apex
|
|
628
|
+
│ └─ Feature with AI/notif/wf → /apex (orchestrates /ai-prompt, /notification, /workflow)
|
|
629
|
+
│
|
|
630
|
+
├─ Generate specific code
|
|
631
|
+
│ ├─ API controller + DTOs → /controller
|
|
632
|
+
│ ├─ React components → /ui-components
|
|
633
|
+
│ ├─ Notifications → /notification
|
|
634
|
+
│ ├─ Automated workflows → /workflow
|
|
635
|
+
│ └─ AI integration → /ai-prompt
|
|
636
|
+
│
|
|
637
|
+
├─ Database
|
|
638
|
+
│ ├─ Create a migration → /efcore migration
|
|
639
|
+
│ ├─ Apply migrations → /efcore db-deploy
|
|
640
|
+
│ ├─ Full reset → /efcore db-reset
|
|
641
|
+
│ └─ Migration conflicts → /efcore scan + /efcore rebase-snapshot
|
|
642
|
+
│
|
|
643
|
+
├─ Quality & validation
|
|
644
|
+
│ ├─ Validate feature E2E → /validate-feature
|
|
645
|
+
│ ├─ Code/security review → /review-code
|
|
646
|
+
│ ├─ Validate conventions → /validate
|
|
647
|
+
│ └─ Refactoring → /refactor
|
|
648
|
+
│
|
|
649
|
+
├─ Fix a bug → /debug
|
|
650
|
+
│
|
|
651
|
+
├─ Run / stop the app
|
|
652
|
+
│ ├─ Launch all → /dev-start
|
|
653
|
+
│ ├─ Stop all → /dev-start --stop
|
|
654
|
+
│ ├─ Backend only → /dev-start --backend-only
|
|
655
|
+
│ └─ Frontend only → /dev-start --frontend-only
|
|
656
|
+
│
|
|
657
|
+
├─ Understand code
|
|
658
|
+
│ ├─ Quick question → /quick-search
|
|
659
|
+
│ └─ Deep analysis → /explore
|
|
660
|
+
│
|
|
661
|
+
└─ Branch management
|
|
662
|
+
├─ New feature → /gitflow -f <name>
|
|
663
|
+
├─ Release → /gitflow -r <version>
|
|
664
|
+
├─ Hotfix → /gitflow -h <name>
|
|
665
|
+
├─ Commit → /gitflow commit
|
|
666
|
+
├─ Pull Request → /gitflow pr
|
|
667
|
+
└─ Finalize → /gitflow finish</code></pre>
|
|
668
|
+
</div>
|
|
669
|
+
|
|
670
|
+
</section>
|
|
671
|
+
|
|
672
|
+
<hr style="border-color: var(--border); margin: 2.5rem 0;">
|
|
673
|
+
|
|
141
674
|
<!-- GitFlow Commands -->
|
|
142
675
|
<section id="gitflow">
|
|
143
676
|
<h2>GitFlow Workflow</h2>
|
|
@@ -169,16 +702,16 @@
|
|
|
169
702
|
<tr>
|
|
170
703
|
<td><code>/gitflow init</code></td>
|
|
171
704
|
<td>
|
|
172
|
-
<span data-lang="fr">Initialiser la structure GitFlow</span>
|
|
173
|
-
<span data-lang="en">Initialize GitFlow structure</span>
|
|
705
|
+
<span data-lang="fr">Initialiser la structure GitFlow (bare clone + worktrees)</span>
|
|
706
|
+
<span data-lang="en">Initialize GitFlow structure (bare clone + worktrees)</span>
|
|
174
707
|
</td>
|
|
175
708
|
<td><a href="gitflow.html#commands">GitFlow</a></td>
|
|
176
709
|
</tr>
|
|
177
710
|
<tr>
|
|
178
|
-
<td><code>/gitflow
|
|
711
|
+
<td><code>/gitflow start</code></td>
|
|
179
712
|
<td>
|
|
180
|
-
<span data-lang="fr">
|
|
181
|
-
<span data-lang="en">
|
|
713
|
+
<span data-lang="fr">Demarrer une branche + worktree (feature/release/hotfix)</span>
|
|
714
|
+
<span data-lang="en">Start a branch + worktree (feature/release/hotfix)</span>
|
|
182
715
|
</td>
|
|
183
716
|
<td><a href="gitflow.html#commands">GitFlow</a></td>
|
|
184
717
|
</tr>
|
|
@@ -191,53 +724,97 @@
|
|
|
191
724
|
<td><a href="gitflow.html#commands">GitFlow</a></td>
|
|
192
725
|
</tr>
|
|
193
726
|
<tr>
|
|
194
|
-
<td><code>/gitflow
|
|
727
|
+
<td><code>/gitflow sync</code></td>
|
|
195
728
|
<td>
|
|
196
|
-
<span data-lang="fr">
|
|
197
|
-
<span data-lang="en">
|
|
729
|
+
<span data-lang="fr">Synchroniser et rebaser avec le distant</span>
|
|
730
|
+
<span data-lang="en">Sync and rebase with remote</span>
|
|
198
731
|
</td>
|
|
199
732
|
<td><a href="gitflow.html#commands">GitFlow</a></td>
|
|
200
733
|
</tr>
|
|
201
734
|
<tr>
|
|
202
|
-
<td><code>/gitflow
|
|
735
|
+
<td><code>/gitflow plan</code></td>
|
|
203
736
|
<td>
|
|
204
|
-
<span data-lang="fr">
|
|
205
|
-
<span data-lang="en">
|
|
737
|
+
<span data-lang="fr">Creer un plan d'integration avec analyse EF Core</span>
|
|
738
|
+
<span data-lang="en">Create integration plan with EF Core analysis</span>
|
|
206
739
|
</td>
|
|
207
740
|
<td><a href="gitflow.html#commands">GitFlow</a></td>
|
|
208
741
|
</tr>
|
|
209
742
|
<tr>
|
|
210
|
-
<td><code>/gitflow
|
|
743
|
+
<td><code>/gitflow pr</code></td>
|
|
211
744
|
<td>
|
|
212
|
-
<span data-lang="fr">
|
|
213
|
-
<span data-lang="en">
|
|
745
|
+
<span data-lang="fr">Creer une Pull Request avec description automatique</span>
|
|
746
|
+
<span data-lang="en">Create Pull Request with auto-description</span>
|
|
214
747
|
</td>
|
|
215
748
|
<td><a href="gitflow.html#commands">GitFlow</a></td>
|
|
216
749
|
</tr>
|
|
217
750
|
<tr>
|
|
218
|
-
<td><code>/gitflow
|
|
751
|
+
<td><code>/gitflow merge</code></td>
|
|
219
752
|
<td>
|
|
220
|
-
<span data-lang="fr">
|
|
221
|
-
<span data-lang="en">
|
|
753
|
+
<span data-lang="fr">Merger la PR apres review</span>
|
|
754
|
+
<span data-lang="en">Merge PR after review</span>
|
|
222
755
|
</td>
|
|
223
756
|
<td><a href="gitflow.html#commands">GitFlow</a></td>
|
|
224
757
|
</tr>
|
|
225
758
|
<tr>
|
|
226
759
|
<td><code>/gitflow finish</code></td>
|
|
227
760
|
<td>
|
|
228
|
-
<span data-lang="fr">
|
|
229
|
-
<span data-lang="en">
|
|
761
|
+
<span data-lang="fr">Finaliser une branche (tag + cleanup)</span>
|
|
762
|
+
<span data-lang="en">Finalize a branch (tag + cleanup)</span>
|
|
763
|
+
</td>
|
|
764
|
+
<td><a href="gitflow.html#commands">GitFlow</a></td>
|
|
765
|
+
</tr>
|
|
766
|
+
<tr>
|
|
767
|
+
<td><code>/gitflow status</code></td>
|
|
768
|
+
<td>
|
|
769
|
+
<span data-lang="fr">Afficher l'etat complet du repository</span>
|
|
770
|
+
<span data-lang="en">Show complete repository state</span>
|
|
771
|
+
</td>
|
|
772
|
+
<td><a href="gitflow.html#commands">GitFlow</a></td>
|
|
773
|
+
</tr>
|
|
774
|
+
<tr>
|
|
775
|
+
<td><code>/gitflow abort</code></td>
|
|
776
|
+
<td>
|
|
777
|
+
<span data-lang="fr">Rollback et recuperation</span>
|
|
778
|
+
<span data-lang="en">Rollback and recovery</span>
|
|
779
|
+
</td>
|
|
780
|
+
<td><a href="gitflow.html#commands">GitFlow</a></td>
|
|
781
|
+
</tr>
|
|
782
|
+
<tr>
|
|
783
|
+
<td><code>/gitflow cleanup</code></td>
|
|
784
|
+
<td>
|
|
785
|
+
<span data-lang="fr">Auditer et nettoyer les worktrees orphelins</span>
|
|
786
|
+
<span data-lang="en">Audit and clean orphan worktrees</span>
|
|
230
787
|
</td>
|
|
231
788
|
<td><a href="gitflow.html#commands">GitFlow</a></td>
|
|
232
789
|
</tr>
|
|
233
790
|
</tbody>
|
|
234
791
|
</table>
|
|
235
792
|
</div>
|
|
793
|
+
|
|
794
|
+
<div class="alert alert-info" style="margin-top: 1rem;">
|
|
795
|
+
<span class="alert-icon">💡</span>
|
|
796
|
+
<div class="alert-content">
|
|
797
|
+
<p data-lang="fr">
|
|
798
|
+
<strong>Mode auto</strong> : Sans <code>-a</code>, chaque commande execute UNIQUEMENT son etape puis s'arrete. Avec <code>-a</code>, toutes les etapes s'enchainent automatiquement.
|
|
799
|
+
</p>
|
|
800
|
+
<p data-lang="en">
|
|
801
|
+
<strong>Auto mode</strong>: Without <code>-a</code>, each command executes ONLY its own step then stops. With <code>-a</code>, all steps chain automatically.
|
|
802
|
+
</p>
|
|
803
|
+
</div>
|
|
804
|
+
</div>
|
|
236
805
|
</section>
|
|
237
806
|
|
|
238
|
-
<!-- Business Analyse
|
|
807
|
+
<!-- Business Analyse Pipeline -->
|
|
239
808
|
<section id="business-analyse">
|
|
240
|
-
<h2>
|
|
809
|
+
<h2>
|
|
810
|
+
<span data-lang="fr">Pipeline Business Analyse</span>
|
|
811
|
+
<span data-lang="en">Business Analysis Pipeline</span>
|
|
812
|
+
</h2>
|
|
813
|
+
|
|
814
|
+
<h3>
|
|
815
|
+
<span data-lang="fr">Phase 1 - Macro (Identification + Challenge)</span>
|
|
816
|
+
<span data-lang="en">Phase 1 - Macro (Identification + Challenge)</span>
|
|
817
|
+
</h3>
|
|
241
818
|
|
|
242
819
|
<div class="table-container">
|
|
243
820
|
<table>
|
|
@@ -259,59 +836,136 @@
|
|
|
259
836
|
</tr>
|
|
260
837
|
</thead>
|
|
261
838
|
<tbody>
|
|
839
|
+
<tr style="background: rgba(34, 197, 94, 0.1);">
|
|
840
|
+
<td><code>/business-analyse</code> (step 00)</td>
|
|
841
|
+
<td><span class="badge badge-green">Sonnet</span></td>
|
|
842
|
+
<td>
|
|
843
|
+
<span data-lang="fr">Initialisation : detection nouveau/existant, scan, creation index.json</span>
|
|
844
|
+
<span data-lang="en">Init: detect new/existing, scan, create index.json</span>
|
|
845
|
+
</td>
|
|
846
|
+
<td><a href="business-analyse.html">BA</a></td>
|
|
847
|
+
</tr>
|
|
262
848
|
<tr style="background: rgba(139, 92, 246, 0.1);">
|
|
263
|
-
<td><code>/business-analyse
|
|
264
|
-
<td><span class="badge badge-purple">
|
|
849
|
+
<td><code>/business-analyse</code> (step 01)</td>
|
|
850
|
+
<td><span class="badge badge-purple">Opus</span></td>
|
|
265
851
|
<td>
|
|
266
|
-
<span data-lang="fr">
|
|
267
|
-
<span data-lang="en">
|
|
852
|
+
<span data-lang="fr">Cadrage : contexte, parties prenantes, perimetre, risques (~40 questions)</span>
|
|
853
|
+
<span data-lang="en">Framing: context, stakeholders, scope, risks (~40 questions)</span>
|
|
268
854
|
</td>
|
|
269
|
-
<td><a href="business-analyse.html
|
|
855
|
+
<td><a href="business-analyse.html">BA</a></td>
|
|
270
856
|
</tr>
|
|
271
|
-
<tr style="background: rgba(
|
|
272
|
-
<td><code>/business-analyse
|
|
273
|
-
<td><span class="badge badge-
|
|
857
|
+
<tr style="background: rgba(139, 92, 246, 0.1);">
|
|
858
|
+
<td><code>/business-analyse</code> (step 02)</td>
|
|
859
|
+
<td><span class="badge badge-purple">Opus</span></td>
|
|
274
860
|
<td>
|
|
275
|
-
<span data-lang="fr">
|
|
276
|
-
<span data-lang="en">
|
|
861
|
+
<span data-lang="fr">Structure : hierarchie App > Module > Section > Resource avec challenge</span>
|
|
862
|
+
<span data-lang="en">Structure: App > Module > Section > Resource hierarchy with challenge</span>
|
|
277
863
|
</td>
|
|
278
|
-
<td><a href="business-analyse.html
|
|
864
|
+
<td><a href="business-analyse.html">BA</a></td>
|
|
279
865
|
</tr>
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
866
|
+
</tbody>
|
|
867
|
+
</table>
|
|
868
|
+
</div>
|
|
869
|
+
|
|
870
|
+
<h3>
|
|
871
|
+
<span data-lang="fr">Phase 2 - Specification (Deep dive + Consolidation)</span>
|
|
872
|
+
<span data-lang="en">Phase 2 - Specification (Deep dive + Consolidation)</span>
|
|
873
|
+
</h3>
|
|
874
|
+
|
|
875
|
+
<div class="table-container">
|
|
876
|
+
<table>
|
|
877
|
+
<thead>
|
|
878
|
+
<tr>
|
|
879
|
+
<th>
|
|
880
|
+
<span data-lang="fr">Commande</span>
|
|
881
|
+
<span data-lang="en">Command</span>
|
|
882
|
+
</th>
|
|
883
|
+
<th>
|
|
884
|
+
<span data-lang="fr">Modele</span>
|
|
885
|
+
<span data-lang="en">Model</span>
|
|
886
|
+
</th>
|
|
887
|
+
<th>
|
|
888
|
+
<span data-lang="fr">Description</span>
|
|
889
|
+
<span data-lang="en">Description</span>
|
|
890
|
+
</th>
|
|
891
|
+
<th>Page</th>
|
|
892
|
+
</tr>
|
|
893
|
+
</thead>
|
|
894
|
+
<tbody>
|
|
895
|
+
<tr style="background: rgba(139, 92, 246, 0.1);">
|
|
896
|
+
<td><code>/business-analyse</code> (step 03)</td>
|
|
897
|
+
<td><span class="badge badge-purple">Opus</span></td>
|
|
283
898
|
<td>
|
|
284
|
-
<span data-lang="fr">
|
|
285
|
-
<span data-lang="en">
|
|
899
|
+
<span data-lang="fr">Specification : entites, regles metier, cas d'usage, permissions par module</span>
|
|
900
|
+
<span data-lang="en">Specification: entities, business rules, use cases, permissions per module</span>
|
|
286
901
|
</td>
|
|
287
|
-
<td><a href="business-analyse.html
|
|
902
|
+
<td><a href="business-analyse.html">BA</a></td>
|
|
288
903
|
</tr>
|
|
289
|
-
<tr style="background: rgba(
|
|
290
|
-
<td><code>/business-analyse
|
|
291
|
-
<td><span class="badge badge-purple">
|
|
904
|
+
<tr style="background: rgba(139, 92, 246, 0.1);">
|
|
905
|
+
<td><code>/business-analyse</code> (step 04)</td>
|
|
906
|
+
<td><span class="badge badge-purple">Opus</span></td>
|
|
292
907
|
<td>
|
|
293
|
-
<span data-lang="fr">
|
|
294
|
-
<span data-lang="en">
|
|
908
|
+
<span data-lang="fr">Consolidation : validation cross-module, modele de donnees, coherence permissions</span>
|
|
909
|
+
<span data-lang="en">Consolidation: cross-module validation, data model, permission coherence</span>
|
|
295
910
|
</td>
|
|
296
|
-
<td><a href="business-analyse.html
|
|
911
|
+
<td><a href="business-analyse.html">BA</a></td>
|
|
297
912
|
</tr>
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
913
|
+
</tbody>
|
|
914
|
+
</table>
|
|
915
|
+
</div>
|
|
916
|
+
|
|
917
|
+
<h3>
|
|
918
|
+
<span data-lang="fr">Post-BA : Design, HTML, Review, PRD</span>
|
|
919
|
+
<span data-lang="en">Post-BA: Design, HTML, Review, PRD</span>
|
|
920
|
+
</h3>
|
|
921
|
+
|
|
922
|
+
<div class="table-container">
|
|
923
|
+
<table>
|
|
924
|
+
<thead>
|
|
925
|
+
<tr>
|
|
926
|
+
<th>
|
|
927
|
+
<span data-lang="fr">Commande</span>
|
|
928
|
+
<span data-lang="en">Command</span>
|
|
929
|
+
</th>
|
|
930
|
+
<th>
|
|
931
|
+
<span data-lang="fr">Description</span>
|
|
932
|
+
<span data-lang="en">Description</span>
|
|
933
|
+
</th>
|
|
934
|
+
<th>Page</th>
|
|
935
|
+
</tr>
|
|
936
|
+
</thead>
|
|
937
|
+
<tbody>
|
|
938
|
+
<tr>
|
|
939
|
+
<td><code>/ba-design-ui</code></td>
|
|
940
|
+
<td>
|
|
941
|
+
<span data-lang="fr">Designer les interfaces (ecrans, wireframes, arbre de navigation)</span>
|
|
942
|
+
<span data-lang="en">Design interfaces (screens, wireframes, navigation tree)</span>
|
|
943
|
+
</td>
|
|
944
|
+
<td><a href="business-analyse.html">BA</a></td>
|
|
945
|
+
</tr>
|
|
946
|
+
<tr>
|
|
947
|
+
<td><code>/ba-generate-html</code></td>
|
|
301
948
|
<td>
|
|
302
|
-
<span data-lang="fr">
|
|
303
|
-
<span data-lang="en">
|
|
949
|
+
<span data-lang="fr">Generer le document HTML interactif (mockups, ERD, permissions)</span>
|
|
950
|
+
<span data-lang="en">Generate interactive HTML document (mockups, ERD, permissions)</span>
|
|
304
951
|
</td>
|
|
305
|
-
<td><a href="business-analyse.html
|
|
952
|
+
<td><a href="business-analyse.html">BA</a></td>
|
|
306
953
|
</tr>
|
|
307
|
-
<tr
|
|
308
|
-
<td><code>/
|
|
309
|
-
<td><span class="badge badge-orange">ULTRATHINK</span></td>
|
|
954
|
+
<tr>
|
|
955
|
+
<td><code>/ba-review</code></td>
|
|
310
956
|
<td>
|
|
311
|
-
<span data-lang="fr">
|
|
312
|
-
<span data-lang="en">
|
|
957
|
+
<span data-lang="fr">Appliquer les corrections client et regenerer le HTML</span>
|
|
958
|
+
<span data-lang="en">Apply client corrections and regenerate HTML</span>
|
|
313
959
|
</td>
|
|
314
|
-
<td><a href="business-analyse.html
|
|
960
|
+
<td><a href="business-analyse.html">BA</a></td>
|
|
961
|
+
</tr>
|
|
962
|
+
<tr>
|
|
963
|
+
<td><code>/derive-prd</code></td>
|
|
964
|
+
<td>
|
|
965
|
+
<span data-lang="fr">Transformer la BA consolidee en PRD pour /ralph-loop</span>
|
|
966
|
+
<span data-lang="en">Transform consolidated BA into PRD for /ralph-loop</span>
|
|
967
|
+
</td>
|
|
968
|
+
<td><a href="business-analyse.html">BA</a></td>
|
|
315
969
|
</tr>
|
|
316
970
|
</tbody>
|
|
317
971
|
</table>
|
|
@@ -321,18 +975,81 @@
|
|
|
321
975
|
<span class="alert-icon">💡</span>
|
|
322
976
|
<div class="alert-content">
|
|
323
977
|
<p data-lang="fr">
|
|
324
|
-
<strong>
|
|
978
|
+
<strong>Pipeline complet</strong> : /business-analyse (steps 00-04) → /ba-design-ui → /ba-generate-html → /ba-review → /derive-prd → /ralph-loop
|
|
325
979
|
</p>
|
|
326
980
|
<p data-lang="en">
|
|
327
|
-
<strong>
|
|
981
|
+
<strong>Full pipeline</strong>: /business-analyse (steps 00-04) → /ba-design-ui → /ba-generate-html → /ba-review → /derive-prd → /ralph-loop
|
|
328
982
|
</p>
|
|
329
983
|
</div>
|
|
330
984
|
</div>
|
|
331
985
|
</section>
|
|
332
986
|
|
|
333
|
-
<!--
|
|
334
|
-
<section id="
|
|
335
|
-
<h2>
|
|
987
|
+
<!-- Development Pipeline -->
|
|
988
|
+
<section id="development-pipeline">
|
|
989
|
+
<h2>
|
|
990
|
+
<span data-lang="fr">Pipeline de developpement</span>
|
|
991
|
+
<span data-lang="en">Development Pipeline</span>
|
|
992
|
+
</h2>
|
|
993
|
+
|
|
994
|
+
<div class="table-container">
|
|
995
|
+
<table>
|
|
996
|
+
<thead>
|
|
997
|
+
<tr>
|
|
998
|
+
<th>
|
|
999
|
+
<span data-lang="fr">Commande</span>
|
|
1000
|
+
<span data-lang="en">Command</span>
|
|
1001
|
+
</th>
|
|
1002
|
+
<th>
|
|
1003
|
+
<span data-lang="fr">Description</span>
|
|
1004
|
+
<span data-lang="en">Description</span>
|
|
1005
|
+
</th>
|
|
1006
|
+
<th>Page</th>
|
|
1007
|
+
</tr>
|
|
1008
|
+
</thead>
|
|
1009
|
+
<tbody>
|
|
1010
|
+
<tr>
|
|
1011
|
+
<td><code>/ralph-loop</code></td>
|
|
1012
|
+
<td>
|
|
1013
|
+
<span data-lang="fr">Boucle de developpement iterative IA : lit les PRDs et orchestre les taches</span>
|
|
1014
|
+
<span data-lang="en">Iterative AI development loop: reads PRDs and orchestrates tasks</span>
|
|
1015
|
+
</td>
|
|
1016
|
+
<td><a href="ralph-loop.html">Ralph Loop</a></td>
|
|
1017
|
+
</tr>
|
|
1018
|
+
<tr>
|
|
1019
|
+
<td><code>/apex</code></td>
|
|
1020
|
+
<td>
|
|
1021
|
+
<span data-lang="fr">Developpement incremental APEX (Analyze-Plan-Execute-eXamine)</span>
|
|
1022
|
+
<span data-lang="en">APEX incremental development (Analyze-Plan-Execute-eXamine)</span>
|
|
1023
|
+
</td>
|
|
1024
|
+
<td><a href="apex.html">APEX</a></td>
|
|
1025
|
+
</tr>
|
|
1026
|
+
<tr>
|
|
1027
|
+
<td><code>/dev-start</code></td>
|
|
1028
|
+
<td>
|
|
1029
|
+
<span data-lang="fr">Lancer l'environnement de dev (backend + frontend + credentials admin)</span>
|
|
1030
|
+
<span data-lang="en">Launch dev environment (backend + frontend + admin credentials)</span>
|
|
1031
|
+
</td>
|
|
1032
|
+
<td>-</td>
|
|
1033
|
+
</tr>
|
|
1034
|
+
<tr>
|
|
1035
|
+
<td><code>/dev-start --stop</code></td>
|
|
1036
|
+
<td>
|
|
1037
|
+
<span data-lang="fr">Arreter le backend et le frontend</span>
|
|
1038
|
+
<span data-lang="en">Stop backend and frontend</span>
|
|
1039
|
+
</td>
|
|
1040
|
+
<td>-</td>
|
|
1041
|
+
</tr>
|
|
1042
|
+
</tbody>
|
|
1043
|
+
</table>
|
|
1044
|
+
</div>
|
|
1045
|
+
</section>
|
|
1046
|
+
|
|
1047
|
+
<!-- Code Generation Commands -->
|
|
1048
|
+
<section id="code-generation">
|
|
1049
|
+
<h2>
|
|
1050
|
+
<span data-lang="fr">Generation de code</span>
|
|
1051
|
+
<span data-lang="en">Code Generation</span>
|
|
1052
|
+
</h2>
|
|
336
1053
|
|
|
337
1054
|
<div class="table-container">
|
|
338
1055
|
<table>
|
|
@@ -350,38 +1067,52 @@
|
|
|
350
1067
|
</thead>
|
|
351
1068
|
<tbody>
|
|
352
1069
|
<tr>
|
|
353
|
-
<td><code>/
|
|
1070
|
+
<td><code>/application</code></td>
|
|
1071
|
+
<td>
|
|
1072
|
+
<span data-lang="fr">Creer une application/module full-stack (Application → Module → Section → Resource)</span>
|
|
1073
|
+
<span data-lang="en">Create full-stack application/module (Application → Module → Section → Resource)</span>
|
|
1074
|
+
</td>
|
|
1075
|
+
</tr>
|
|
1076
|
+
<tr>
|
|
1077
|
+
<td><code>/controller</code></td>
|
|
354
1078
|
<td>
|
|
355
|
-
<span data-lang="fr">
|
|
356
|
-
<span data-lang="en">
|
|
1079
|
+
<span data-lang="fr">Generer un controleur API avec CRUD, DTOs, permissions et tests Postman</span>
|
|
1080
|
+
<span data-lang="en">Generate API controller with CRUD, DTOs, permissions and Postman tests</span>
|
|
357
1081
|
</td>
|
|
358
1082
|
</tr>
|
|
359
1083
|
<tr>
|
|
360
|
-
<td><code>/
|
|
1084
|
+
<td><code>/ui-components</code></td>
|
|
361
1085
|
<td>
|
|
362
|
-
<span data-lang="fr">
|
|
363
|
-
<span data-lang="en">
|
|
1086
|
+
<span data-lang="fr">Generer des composants UI standardises (EntityCard, DataTable, Kanban, Dashboard, Charts)</span>
|
|
1087
|
+
<span data-lang="en">Generate standardized UI components (EntityCard, DataTable, Kanban, Dashboard, Charts)</span>
|
|
364
1088
|
</td>
|
|
365
1089
|
</tr>
|
|
366
1090
|
<tr>
|
|
367
|
-
<td><code>/
|
|
1091
|
+
<td><code>/ai-prompt</code></td>
|
|
368
1092
|
<td>
|
|
369
|
-
<span data-lang="fr">
|
|
370
|
-
<span data-lang="en">
|
|
1093
|
+
<span data-lang="fr">Integrer des capacites IA dans une feature (prompts, schemas, providers)</span>
|
|
1094
|
+
<span data-lang="en">Integrate AI capabilities into a feature (prompts, schemas, providers)</span>
|
|
371
1095
|
</td>
|
|
372
1096
|
</tr>
|
|
373
1097
|
<tr>
|
|
374
|
-
<td><code>/
|
|
1098
|
+
<td><code>/notification</code></td>
|
|
375
1099
|
<td>
|
|
376
|
-
<span data-lang="fr">
|
|
377
|
-
<span data-lang="en">
|
|
1100
|
+
<span data-lang="fr">Integrer le systeme de notifications (in-app DB + SignalR, email via workflows)</span>
|
|
1101
|
+
<span data-lang="en">Integrate notification system (in-app DB + SignalR, email via workflows)</span>
|
|
378
1102
|
</td>
|
|
379
1103
|
</tr>
|
|
380
1104
|
<tr>
|
|
381
|
-
<td><code>/
|
|
1105
|
+
<td><code>/workflow</code></td>
|
|
382
1106
|
<td>
|
|
383
|
-
<span data-lang="fr">
|
|
384
|
-
<span data-lang="en">
|
|
1107
|
+
<span data-lang="fr">Creer des workflows automatises (SendEmail, Wait, Condition, Webhook)</span>
|
|
1108
|
+
<span data-lang="en">Create automated workflows (SendEmail, Wait, Condition, Webhook)</span>
|
|
1109
|
+
</td>
|
|
1110
|
+
</tr>
|
|
1111
|
+
<tr>
|
|
1112
|
+
<td><code>/documentation</code></td>
|
|
1113
|
+
<td>
|
|
1114
|
+
<span data-lang="fr">Generer la documentation technique (guides, ERD, outils dev)</span>
|
|
1115
|
+
<span data-lang="en">Generate technical documentation (guides, ERD, dev tools)</span>
|
|
385
1116
|
</td>
|
|
386
1117
|
</tr>
|
|
387
1118
|
</tbody>
|
|
@@ -389,11 +1120,11 @@
|
|
|
389
1120
|
</div>
|
|
390
1121
|
</section>
|
|
391
1122
|
|
|
392
|
-
<!--
|
|
393
|
-
<section id="
|
|
1123
|
+
<!-- Quality & Analysis Commands -->
|
|
1124
|
+
<section id="quality">
|
|
394
1125
|
<h2>
|
|
395
|
-
<span data-lang="fr">
|
|
396
|
-
<span data-lang="en">
|
|
1126
|
+
<span data-lang="fr">Qualite et analyse</span>
|
|
1127
|
+
<span data-lang="en">Quality & Analysis</span>
|
|
397
1128
|
</h2>
|
|
398
1129
|
|
|
399
1130
|
<div class="table-container">
|
|
@@ -412,64 +1143,161 @@
|
|
|
412
1143
|
</thead>
|
|
413
1144
|
<tbody>
|
|
414
1145
|
<tr>
|
|
415
|
-
<td><code>/
|
|
1146
|
+
<td><code>/review-code</code></td>
|
|
1147
|
+
<td>
|
|
1148
|
+
<span data-lang="fr">Revue de code experte : securite (OWASP), architecture, clean code (SOLID), performance</span>
|
|
1149
|
+
<span data-lang="en">Expert code review: security (OWASP), architecture, clean code (SOLID), performance</span>
|
|
1150
|
+
</td>
|
|
1151
|
+
</tr>
|
|
1152
|
+
<tr>
|
|
1153
|
+
<td><code>/validate</code></td>
|
|
416
1154
|
<td>
|
|
417
|
-
<span data-lang="fr">
|
|
418
|
-
<span data-lang="en">
|
|
1155
|
+
<span data-lang="fr">Valider les conventions SmartStack via MCP (tables, migrations, services, namespaces)</span>
|
|
1156
|
+
<span data-lang="en">Validate SmartStack conventions via MCP (tables, migrations, services, namespaces)</span>
|
|
419
1157
|
</td>
|
|
420
1158
|
</tr>
|
|
421
1159
|
<tr>
|
|
422
|
-
<td><code>/
|
|
1160
|
+
<td><code>/validate-feature</code></td>
|
|
423
1161
|
<td>
|
|
424
|
-
<span data-lang="fr">
|
|
425
|
-
<span data-lang="en">
|
|
1162
|
+
<span data-lang="fr">Valider une feature de bout en bout (compile, test, API smoke test, DB)</span>
|
|
1163
|
+
<span data-lang="en">Validate a feature end-to-end (compile, test, API smoke test, DB)</span>
|
|
426
1164
|
</td>
|
|
427
1165
|
</tr>
|
|
428
1166
|
<tr>
|
|
429
1167
|
<td><code>/debug</code></td>
|
|
430
1168
|
<td>
|
|
431
|
-
<span data-lang="fr">Debugging systematique
|
|
432
|
-
<span data-lang="en">Systematic
|
|
1169
|
+
<span data-lang="fr">Debugging systematique avec analyse approfondie et resolution</span>
|
|
1170
|
+
<span data-lang="en">Systematic debugging with deep analysis and resolution</span>
|
|
433
1171
|
</td>
|
|
434
1172
|
</tr>
|
|
435
1173
|
<tr>
|
|
436
1174
|
<td><code>/explore</code></td>
|
|
437
1175
|
<td>
|
|
438
|
-
<span data-lang="fr">Exploration profonde du codebase</span>
|
|
439
|
-
<span data-lang="en">Deep codebase exploration</span>
|
|
1176
|
+
<span data-lang="fr">Exploration profonde du codebase pour repondre a des questions specifiques</span>
|
|
1177
|
+
<span data-lang="en">Deep codebase exploration to answer specific questions</span>
|
|
440
1178
|
</td>
|
|
441
1179
|
</tr>
|
|
442
1180
|
<tr>
|
|
443
|
-
<td><code>/
|
|
1181
|
+
<td><code>/quick-search</code></td>
|
|
444
1182
|
<td>
|
|
445
|
-
<span data-lang="fr">
|
|
446
|
-
<span data-lang="en">
|
|
1183
|
+
<span data-lang="fr">Recherche ultra-rapide optimisee pour la vitesse</span>
|
|
1184
|
+
<span data-lang="en">Lightning-fast search optimized for speed</span>
|
|
447
1185
|
</td>
|
|
448
1186
|
</tr>
|
|
449
1187
|
<tr>
|
|
450
|
-
<td><code>/
|
|
1188
|
+
<td><code>/refactor</code></td>
|
|
451
1189
|
<td>
|
|
452
|
-
<span data-lang="fr">
|
|
453
|
-
<span data-lang="en">
|
|
1190
|
+
<span data-lang="fr">Refactoring de code avec agents paralleles pour la vitesse</span>
|
|
1191
|
+
<span data-lang="en">Code refactoring with parallel agents for speed</span>
|
|
454
1192
|
</td>
|
|
455
1193
|
</tr>
|
|
1194
|
+
</tbody>
|
|
1195
|
+
</table>
|
|
1196
|
+
</div>
|
|
1197
|
+
</section>
|
|
1198
|
+
|
|
1199
|
+
<!-- EF Core Commands -->
|
|
1200
|
+
<section id="efcore">
|
|
1201
|
+
<h2>EF Core</h2>
|
|
1202
|
+
|
|
1203
|
+
<div class="table-container">
|
|
1204
|
+
<table>
|
|
1205
|
+
<thead>
|
|
456
1206
|
<tr>
|
|
457
|
-
<
|
|
1207
|
+
<th>
|
|
1208
|
+
<span data-lang="fr">Commande</span>
|
|
1209
|
+
<span data-lang="en">Command</span>
|
|
1210
|
+
</th>
|
|
1211
|
+
<th>
|
|
1212
|
+
<span data-lang="fr">Description</span>
|
|
1213
|
+
<span data-lang="en">Description</span>
|
|
1214
|
+
</th>
|
|
1215
|
+
<th>Page</th>
|
|
1216
|
+
</tr>
|
|
1217
|
+
</thead>
|
|
1218
|
+
<tbody>
|
|
1219
|
+
<tr>
|
|
1220
|
+
<td><code>/efcore db-status</code></td>
|
|
1221
|
+
<td>
|
|
1222
|
+
<span data-lang="fr">Verification rapide de l'etat des migrations</span>
|
|
1223
|
+
<span data-lang="en">Fast migration state check</span>
|
|
1224
|
+
</td>
|
|
1225
|
+
<td><a href="efcore.html">EF Core</a></td>
|
|
1226
|
+
</tr>
|
|
1227
|
+
<tr>
|
|
1228
|
+
<td><code>/efcore db-deploy</code></td>
|
|
1229
|
+
<td>
|
|
1230
|
+
<span data-lang="fr">Appliquer les migrations en attente</span>
|
|
1231
|
+
<span data-lang="en">Apply pending migrations</span>
|
|
1232
|
+
</td>
|
|
1233
|
+
<td><a href="efcore.html">EF Core</a></td>
|
|
1234
|
+
</tr>
|
|
1235
|
+
<tr>
|
|
1236
|
+
<td><code>/efcore db-reset</code></td>
|
|
1237
|
+
<td>
|
|
1238
|
+
<span data-lang="fr">Supprimer et recreer la base de donnees</span>
|
|
1239
|
+
<span data-lang="en">Drop and recreate database</span>
|
|
1240
|
+
</td>
|
|
1241
|
+
<td><a href="efcore.html">EF Core</a></td>
|
|
1242
|
+
</tr>
|
|
1243
|
+
<tr>
|
|
1244
|
+
<td><code>/efcore db-seed</code></td>
|
|
1245
|
+
<td>
|
|
1246
|
+
<span data-lang="fr">Peupler la base avec des donnees de test</span>
|
|
1247
|
+
<span data-lang="en">Populate with test data</span>
|
|
1248
|
+
</td>
|
|
1249
|
+
<td><a href="efcore.html">EF Core</a></td>
|
|
1250
|
+
</tr>
|
|
1251
|
+
<tr>
|
|
1252
|
+
<td><code>/efcore migration</code></td>
|
|
1253
|
+
<td>
|
|
1254
|
+
<span data-lang="fr">Creer/recreer une migration (nommage via MCP)</span>
|
|
1255
|
+
<span data-lang="en">Create/recreate a migration (naming via MCP)</span>
|
|
1256
|
+
</td>
|
|
1257
|
+
<td><a href="efcore.html">EF Core</a></td>
|
|
1258
|
+
</tr>
|
|
1259
|
+
<tr>
|
|
1260
|
+
<td><code>/efcore squash</code></td>
|
|
458
1261
|
<td>
|
|
459
|
-
<span data-lang="fr">
|
|
460
|
-
<span data-lang="en">
|
|
1262
|
+
<span data-lang="fr">Consolider les migrations en une seule</span>
|
|
1263
|
+
<span data-lang="en">Consolidate migrations into one</span>
|
|
461
1264
|
</td>
|
|
1265
|
+
<td><a href="efcore.html">EF Core</a></td>
|
|
1266
|
+
</tr>
|
|
1267
|
+
<tr>
|
|
1268
|
+
<td><code>/efcore rebase-snapshot</code></td>
|
|
1269
|
+
<td>
|
|
1270
|
+
<span data-lang="fr">Synchroniser le snapshot avec la branche parente</span>
|
|
1271
|
+
<span data-lang="en">Sync snapshot with parent branch</span>
|
|
1272
|
+
</td>
|
|
1273
|
+
<td><a href="efcore.html">EF Core</a></td>
|
|
1274
|
+
</tr>
|
|
1275
|
+
<tr>
|
|
1276
|
+
<td><code>/efcore scan</code></td>
|
|
1277
|
+
<td>
|
|
1278
|
+
<span data-lang="fr">Scanner les conflits de migrations cross-branches</span>
|
|
1279
|
+
<span data-lang="en">Scan cross-branch migration conflicts</span>
|
|
1280
|
+
</td>
|
|
1281
|
+
<td><a href="efcore.html">EF Core</a></td>
|
|
1282
|
+
</tr>
|
|
1283
|
+
<tr>
|
|
1284
|
+
<td><code>/efcore conflicts</code></td>
|
|
1285
|
+
<td>
|
|
1286
|
+
<span data-lang="fr">Analyser les conflits de migrations (bloquant si detecte)</span>
|
|
1287
|
+
<span data-lang="en">Analyze migration conflicts (blocking if detected)</span>
|
|
1288
|
+
</td>
|
|
1289
|
+
<td><a href="efcore.html">EF Core</a></td>
|
|
462
1290
|
</tr>
|
|
463
1291
|
</tbody>
|
|
464
1292
|
</table>
|
|
465
1293
|
</div>
|
|
466
1294
|
</section>
|
|
467
1295
|
|
|
468
|
-
<!--
|
|
469
|
-
<section id="
|
|
1296
|
+
<!-- Infrastructure Commands -->
|
|
1297
|
+
<section id="infrastructure">
|
|
470
1298
|
<h2>
|
|
471
|
-
<span data-lang="fr">
|
|
472
|
-
<span data-lang="en">
|
|
1299
|
+
<span data-lang="fr">Infrastructure et outils</span>
|
|
1300
|
+
<span data-lang="en">Infrastructure & Tools</span>
|
|
473
1301
|
</h2>
|
|
474
1302
|
|
|
475
1303
|
<div class="table-container">
|
|
@@ -488,31 +1316,31 @@
|
|
|
488
1316
|
</thead>
|
|
489
1317
|
<tbody>
|
|
490
1318
|
<tr>
|
|
491
|
-
<td><code>/
|
|
1319
|
+
<td><code>/mcp</code></td>
|
|
492
1320
|
<td>
|
|
493
|
-
<span data-lang="fr">
|
|
494
|
-
<span data-lang="en">
|
|
1321
|
+
<span data-lang="fr">Gestion du serveur MCP : healthcheck et liste des outils</span>
|
|
1322
|
+
<span data-lang="en">MCP server management: healthcheck and tools list</span>
|
|
495
1323
|
</td>
|
|
496
1324
|
</tr>
|
|
497
1325
|
<tr>
|
|
498
|
-
<td><code>/
|
|
1326
|
+
<td><code>/utils</code></td>
|
|
499
1327
|
<td>
|
|
500
|
-
<span data-lang="fr">
|
|
501
|
-
<span data-lang="en">
|
|
1328
|
+
<span data-lang="fr">Utilitaires SmartStack (test-web, test-web-config)</span>
|
|
1329
|
+
<span data-lang="en">SmartStack utilities (test-web, test-web-config)</span>
|
|
502
1330
|
</td>
|
|
503
1331
|
</tr>
|
|
504
1332
|
<tr>
|
|
505
|
-
<td><code>/
|
|
1333
|
+
<td><code>/check-version</code></td>
|
|
506
1334
|
<td>
|
|
507
|
-
<span data-lang="fr">
|
|
508
|
-
<span data-lang="en">
|
|
1335
|
+
<span data-lang="fr">Verifier l'alignement des versions (package.json vs documentation)</span>
|
|
1336
|
+
<span data-lang="en">Verify version alignment (package.json vs documentation)</span>
|
|
509
1337
|
</td>
|
|
510
1338
|
</tr>
|
|
511
1339
|
<tr>
|
|
512
|
-
<td><code>/
|
|
1340
|
+
<td><code>/cli-app-sync</code></td>
|
|
513
1341
|
<td>
|
|
514
|
-
<span data-lang="fr">
|
|
515
|
-
<span data-lang="en">
|
|
1342
|
+
<span data-lang="fr">Detecter et corriger le drift entre SmartStack.app et les templates CLI</span>
|
|
1343
|
+
<span data-lang="en">Detect and fix drift between SmartStack.app and CLI templates</span>
|
|
516
1344
|
</td>
|
|
517
1345
|
</tr>
|
|
518
1346
|
</tbody>
|
|
@@ -580,6 +1408,14 @@
|
|
|
580
1408
|
<span data-lang="en">Update commands</span>
|
|
581
1409
|
</td>
|
|
582
1410
|
</tr>
|
|
1411
|
+
<tr>
|
|
1412
|
+
<td><code>smartstack docs [page]</code></td>
|
|
1413
|
+
<td><code>d</code></td>
|
|
1414
|
+
<td>
|
|
1415
|
+
<span data-lang="fr">Ouvrir la documentation dans le navigateur</span>
|
|
1416
|
+
<span data-lang="en">Open documentation in browser</span>
|
|
1417
|
+
</td>
|
|
1418
|
+
</tr>
|
|
583
1419
|
</tbody>
|
|
584
1420
|
</table>
|
|
585
1421
|
</div>
|