@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
@@ -1,344 +1,344 @@
1
- ---
2
- description: Phase 6 - Abort operations, rollback, and branch abandonment
3
- agent: gitflow-abort
4
- model: sonnet
5
- args: [option]
6
- ---
7
-
8
- # Phase 6: ABORT - Rollback & Recovery
9
-
10
- Tu es expert GitFlow et EF Core. Annule proprement et restaure l'etat precedent.
11
-
12
- **Argument:** `$ARGUMENTS` = option (--git, --checkpoint, --full, --migrations, --database, --branch)
13
-
14
- ---
15
-
16
- ## Workflow
17
-
18
- ### 1. Analyser etat
19
-
20
- **Operations Git en cours:**
21
- - Rebase en cours? (`.git/rebase-merge/`)
22
- - Merge en cours? (`.git/MERGE_HEAD`)
23
- - Cherry-pick en cours? (`.git/CHERRY_PICK_HEAD`)
24
- - Conflits? (`git ls-files -u`)
25
-
26
- **Type de branche (pour --branch):**
27
- - `feature/*` → abandon feature
28
- - `release/*` → abandon release
29
- - `hotfix/*` → abandon hotfix
30
- - autre → erreur
31
-
32
- **Ressources disponibles:**
33
- - Plans actifs dans `.claude/gitflow/plans/`
34
- - Checkpoints dans `.claude/gitflow/logs/checkpoint_*.json`
35
- - Backups migrations dans `.claude/gitflow/logs/migrations_backup_*/`
36
-
37
- ### 2. Proposer options (si aucun argument)
38
-
39
- ```
40
- OPTIONS DE ROLLBACK
41
- ═══════════════════════════════════════════════════════════════
42
- [1] --git Annuler operation Git (rebase/merge --abort)
43
- [2] --checkpoint Rollback au checkpoint (reset + restore)
44
- [3] --full Rollback complet plan (reset hard au debut)
45
- [4] --migrations Rollback migrations seules (restore fichiers)
46
- [5] --database Rollback database (ef database update)
47
- [6] --branch Abandonner branche courante (feature/release/hotfix)
48
- [0] Annuler
49
- ═══════════════════════════════════════════════════════════════
50
- ```
51
-
52
- ---
53
-
54
- ## Option: --git
55
-
56
- Annuler operation Git en cours:
57
-
58
- ```bash
59
- git rebase --abort # si rebase
60
- git merge --abort # si merge
61
- git cherry-pick --abort # si cherry-pick
62
- ```
63
-
64
- ---
65
-
66
- ## Option: --checkpoint
67
-
68
- Rollback au dernier checkpoint:
69
-
70
- 1. Lire commit du checkpoint
71
- 2. Abort operations en cours
72
- 3. Reset hard au commit
73
- 4. Restore migrations si backup existe
74
-
75
- ---
76
-
77
- ## Option: --full
78
-
79
- Rollback complet au debut du plan:
80
-
81
- 1. Lire commit initial du plan
82
- 2. Reset hard
83
- 3. Marquer plan comme ABORTED
84
-
85
- ---
86
-
87
- ## Option: --migrations
88
-
89
- Restaurer fichiers migration depuis backup:
90
-
91
- 1. Copier depuis `.claude/gitflow/logs/migrations_backup_*/`
92
- 2. Rebuild pour verifier
93
-
94
- ---
95
-
96
- ## Option: --database {migration}
97
-
98
- Rollback database:
99
-
100
- ```bash
101
- dotnet ef database update {migration}
102
- # ou reset complet:
103
- dotnet ef database update 0
104
- ```
105
-
106
- ---
107
-
108
- ## Option: --branch (ABANDON)
109
-
110
- Abandonner la branche courante sans merger. Detection automatique du type.
111
-
112
- ### Workflow abandon
113
-
114
- ```
115
- 1. Detecter type de branche (feature/release/hotfix)
116
- 2. Demander confirmation avec resume
117
- 3. Salvage si applicable (release → corrections vers develop)
118
- 4. Logger l'abandon
119
- 5. Supprimer la branche
120
- 6. Nettoyer worktree si applicable
121
- ```
122
-
123
- ### Feature → Abandon
124
-
125
- ```
126
- ⚠ ABANDON FEATURE
127
-
128
- Branche: feature/{name}
129
- Commits: {n} depuis develop
130
-
131
- Actions:
132
- ✗ NE PAS merger sur develop
133
- ✓ Archiver (optionnel avec --archive)
134
- ✓ Supprimer la branche
135
- ```
136
-
137
- **Options specifiques:**
138
- - `--archive` : Creer tag `archive/feature/{name}` avant suppression
139
- - `--keep-local` : Garder branche locale
140
-
141
- ### Release → Abandon
142
-
143
- ```
144
- ⚠ ABANDON RELEASE
145
-
146
- Branche: release/{version}
147
- Commits: {n} depuis develop
148
- - {n} corrections (bug fixes)
149
- - {n} autres commits
150
-
151
- Actions:
152
- ✗ NE PAS merger sur main
153
- ✗ NE PAS creer de tag
154
- ✓ Salvage corrections vers develop (sauf si --no-salvage)
155
- ✓ Supprimer la branche
156
- ```
157
-
158
- **Options specifiques:**
159
- - `--salvage` (defaut) : Merge corrections vers develop
160
- - `--no-salvage` : Ne pas recuperer les corrections
161
- - `--keep-local` : Garder branche locale
162
-
163
- **Salvage workflow:**
164
- ```bash
165
- git checkout develop
166
- git merge --no-ff release/{version} -m "chore: salvage fixes from abandoned release/{version}"
167
- ```
168
-
169
- ### Hotfix → Abandon
170
-
171
- ```
172
- ⚠ ABANDON HOTFIX
173
-
174
- Branche: hotfix/{name}
175
- Commits: {n} depuis main
176
-
177
- Actions:
178
- ✗ NE PAS merger sur main
179
- ✗ NE PAS merger sur develop
180
- ✓ Supprimer la branche
181
- ```
182
-
183
- **Options specifiques:**
184
- - `--salvage-to-develop` : Merger vers develop (rare)
185
- - `--keep-local` : Garder branche locale
186
-
187
- ### Log abandon
188
-
189
- Creer `.claude/gitflow/logs/abort_{timestamp}.json`:
190
-
191
- ```json
192
- {
193
- "timestamp": "{ISO_DATE}",
194
- "type": "branch-abort",
195
- "branch_type": "feature|release|hotfix",
196
- "branch_name": "{full_name}",
197
- "reason": "{raison si fournie}",
198
- "commits_count": {n},
199
- "salvaged": true|false,
200
- "salvage_commit": "{hash}"|null,
201
- "archived": true|false,
202
- "archive_tag": "{tag}"|null
203
- }
204
- ```
205
-
206
- ### Nettoyage worktree (cleanup automatique)
207
-
208
- Si la branche utilise un worktree, un cleanup cible est effectue automatiquement:
209
-
210
- ```bash
211
- # Fonction de cleanup cible (appelee automatiquement)
212
- cleanup_worktree_for_branch() {
213
- BRANCH=$1
214
- WORKTREE_BASE="../worktrees"
215
-
216
- # Determiner le chemin selon le type
217
- if [[ $BRANCH == feature/* ]]; then
218
- NAME=${BRANCH#feature/}
219
- WORKTREE_PATH="$WORKTREE_BASE/features/$NAME"
220
- elif [[ $BRANCH == release/* ]]; then
221
- VERSION=${BRANCH#release/}
222
- WORKTREE_PATH="$WORKTREE_BASE/releases/$VERSION"
223
- elif [[ $BRANCH == hotfix/* ]]; then
224
- NAME=${BRANCH#hotfix/}
225
- WORKTREE_PATH="$WORKTREE_BASE/hotfixes/$NAME"
226
- fi
227
-
228
- # Supprimer si existe
229
- if [ -d "$WORKTREE_PATH" ]; then
230
- git worktree remove "$WORKTREE_PATH" --force 2>/dev/null || true
231
- rm -rf "$WORKTREE_PATH" 2>/dev/null || true
232
- git worktree prune
233
- echo "✓ Worktree nettoye: $WORKTREE_PATH"
234
- fi
235
- }
236
-
237
- # Appel automatique apres abandon
238
- cleanup_worktree_for_branch "$BRANCH"
239
- ```
240
-
241
- **Note:** Pour un audit complet de tous les worktrees, utilisez:
242
-
243
- ```
244
- /gitflow:12-cleanup
245
- ```
246
-
247
- ---
248
-
249
- ## Modes complets
250
-
251
- | Commande | Action |
252
- |----------|--------|
253
- | `/gitflow:6-abort` | Analyse + propose options |
254
- | `/gitflow:6-abort --git` | Annule operation Git |
255
- | `/gitflow:6-abort --checkpoint` | Rollback dernier checkpoint |
256
- | `/gitflow:6-abort --full` | Rollback complet |
257
- | `/gitflow:6-abort --migrations` | Restore migrations |
258
- | `/gitflow:6-abort --database {mig}` | Rollback DB |
259
- | `/gitflow:6-abort --branch` | Abandonner branche courante |
260
- | `/gitflow:6-abort --branch --archive` | Abandon + archive (feature) |
261
- | `/gitflow:6-abort --branch --no-salvage` | Abandon sans salvage (release) |
262
- | `/gitflow:6-abort --branch --reason "..."` | Abandon avec raison |
263
-
264
- ---
265
-
266
- ## Scenarios courants
267
-
268
- **Conflit rebase:**
269
- ```
270
- /gitflow:6-abort --git
271
- git fetch origin develop
272
- /gitflow:4-plan
273
- ```
274
-
275
- **Migration corrompue:**
276
- ```
277
- /gitflow:6-abort --checkpoint
278
- /gitflow:3-commit
279
- ```
280
-
281
- **Abandonner feature en cours:**
282
- ```
283
- /gitflow:6-abort --branch
284
- # ou avec archive
285
- /gitflow:6-abort --branch --archive
286
- ```
287
-
288
- **Abandonner release echouee:**
289
- ```
290
- /gitflow:6-abort --branch
291
- # Corrections seront salvagees vers develop
292
- ```
293
-
294
- **Abandonner hotfix invalide:**
295
- ```
296
- /gitflow:6-abort --branch
297
- # Rien n'est merge, branche supprimee
298
- ```
299
-
300
- ---
301
-
302
- ## Resume post-abandon
303
-
304
- ```
305
- ═══════════════════════════════════════════════════════════════
306
- BRANCHE ABANDONNEE
307
- ═══════════════════════════════════════════════════════════════
308
-
309
- Type: {feature|release|hotfix}
310
- Branche: {nom complet}
311
- Commits: {n} (perdus|salvages|archives)
312
- Raison: {raison ou "non specifiee"}
313
-
314
- Actions effectuees:
315
- {✓|✗} Salvage vers develop
316
- {✓|✗} Archive creee
317
- ✓ Branche supprimee
318
- ✓ Worktree nettoye (cleanup automatique)
319
-
320
- ═══════════════════════════════════════════════════════════════
321
-
322
- Prochaines etapes:
323
- - Documenter la raison si besoin
324
- - Creer issue pour suivi si applicable
325
- - Demarrer nouvelle branche: /gitflow:10-start {type} {nom}
326
- - Audit complet worktrees: /gitflow:12-cleanup (optionnel)
327
-
328
- ═══════════════════════════════════════════════════════════════
329
- ```
330
-
331
- ---
332
-
333
- ## Recuperation si erreur
334
-
335
- **Feature archivee:**
336
- ```bash
337
- git checkout -b feature/{name} archive/feature/{name}
338
- ```
339
-
340
- **Branche non archivee (reflog):**
341
- ```bash
342
- git reflog
343
- git checkout -b {branch} {commit-hash}
344
- ```
1
+ ---
2
+ description: Phase 6 - Abort operations, rollback, and branch abandonment
3
+ agent: gitflow-abort
4
+ model: sonnet
5
+ args: [option]
6
+ ---
7
+
8
+ # Phase 6: ABORT - Rollback & Recovery
9
+
10
+ Tu es expert GitFlow et EF Core. Annule proprement et restaure l'etat precedent.
11
+
12
+ **Argument:** `$ARGUMENTS` = option (--git, --checkpoint, --full, --migrations, --database, --branch)
13
+
14
+ ---
15
+
16
+ ## Workflow
17
+
18
+ ### 1. Analyser etat
19
+
20
+ **Operations Git en cours:**
21
+ - Rebase en cours? (`.git/rebase-merge/`)
22
+ - Merge en cours? (`.git/MERGE_HEAD`)
23
+ - Cherry-pick en cours? (`.git/CHERRY_PICK_HEAD`)
24
+ - Conflits? (`git ls-files -u`)
25
+
26
+ **Type de branche (pour --branch):**
27
+ - `feature/*` → abandon feature
28
+ - `release/*` → abandon release
29
+ - `hotfix/*` → abandon hotfix
30
+ - autre → erreur
31
+
32
+ **Ressources disponibles:**
33
+ - Plans actifs dans `.claude/gitflow/plans/`
34
+ - Checkpoints dans `.claude/gitflow/logs/checkpoint_*.json`
35
+ - Backups migrations dans `.claude/gitflow/logs/migrations_backup_*/`
36
+
37
+ ### 2. Proposer options (si aucun argument)
38
+
39
+ ```
40
+ OPTIONS DE ROLLBACK
41
+ ═══════════════════════════════════════════════════════════════
42
+ [1] --git Annuler operation Git (rebase/merge --abort)
43
+ [2] --checkpoint Rollback au checkpoint (reset + restore)
44
+ [3] --full Rollback complet plan (reset hard au debut)
45
+ [4] --migrations Rollback migrations seules (restore fichiers)
46
+ [5] --database Rollback database (ef database update)
47
+ [6] --branch Abandonner branche courante (feature/release/hotfix)
48
+ [0] Annuler
49
+ ═══════════════════════════════════════════════════════════════
50
+ ```
51
+
52
+ ---
53
+
54
+ ## Option: --git
55
+
56
+ Annuler operation Git en cours:
57
+
58
+ ```bash
59
+ git rebase --abort # si rebase
60
+ git merge --abort # si merge
61
+ git cherry-pick --abort # si cherry-pick
62
+ ```
63
+
64
+ ---
65
+
66
+ ## Option: --checkpoint
67
+
68
+ Rollback au dernier checkpoint:
69
+
70
+ 1. Lire commit du checkpoint
71
+ 2. Abort operations en cours
72
+ 3. Reset hard au commit
73
+ 4. Restore migrations si backup existe
74
+
75
+ ---
76
+
77
+ ## Option: --full
78
+
79
+ Rollback complet au debut du plan:
80
+
81
+ 1. Lire commit initial du plan
82
+ 2. Reset hard
83
+ 3. Marquer plan comme ABORTED
84
+
85
+ ---
86
+
87
+ ## Option: --migrations
88
+
89
+ Restaurer fichiers migration depuis backup:
90
+
91
+ 1. Copier depuis `.claude/gitflow/logs/migrations_backup_*/`
92
+ 2. Rebuild pour verifier
93
+
94
+ ---
95
+
96
+ ## Option: --database {migration}
97
+
98
+ Rollback database:
99
+
100
+ ```bash
101
+ dotnet ef database update {migration}
102
+ # ou reset complet:
103
+ dotnet ef database update 0
104
+ ```
105
+
106
+ ---
107
+
108
+ ## Option: --branch (ABANDON)
109
+
110
+ Abandonner la branche courante sans merger. Detection automatique du type.
111
+
112
+ ### Workflow abandon
113
+
114
+ ```
115
+ 1. Detecter type de branche (feature/release/hotfix)
116
+ 2. Demander confirmation avec resume
117
+ 3. Salvage si applicable (release → corrections vers develop)
118
+ 4. Logger l'abandon
119
+ 5. Supprimer la branche
120
+ 6. Nettoyer worktree si applicable
121
+ ```
122
+
123
+ ### Feature → Abandon
124
+
125
+ ```
126
+ ⚠ ABANDON FEATURE
127
+
128
+ Branche: feature/{name}
129
+ Commits: {n} depuis develop
130
+
131
+ Actions:
132
+ ✗ NE PAS merger sur develop
133
+ ✓ Archiver (optionnel avec --archive)
134
+ ✓ Supprimer la branche
135
+ ```
136
+
137
+ **Options specifiques:**
138
+ - `--archive` : Creer tag `archive/feature/{name}` avant suppression
139
+ - `--keep-local` : Garder branche locale
140
+
141
+ ### Release → Abandon
142
+
143
+ ```
144
+ ⚠ ABANDON RELEASE
145
+
146
+ Branche: release/{version}
147
+ Commits: {n} depuis develop
148
+ - {n} corrections (bug fixes)
149
+ - {n} autres commits
150
+
151
+ Actions:
152
+ ✗ NE PAS merger sur main
153
+ ✗ NE PAS creer de tag
154
+ ✓ Salvage corrections vers develop (sauf si --no-salvage)
155
+ ✓ Supprimer la branche
156
+ ```
157
+
158
+ **Options specifiques:**
159
+ - `--salvage` (defaut) : Merge corrections vers develop
160
+ - `--no-salvage` : Ne pas recuperer les corrections
161
+ - `--keep-local` : Garder branche locale
162
+
163
+ **Salvage workflow:**
164
+ ```bash
165
+ git checkout develop
166
+ git merge --no-ff release/{version} -m "chore: salvage fixes from abandoned release/{version}"
167
+ ```
168
+
169
+ ### Hotfix → Abandon
170
+
171
+ ```
172
+ ⚠ ABANDON HOTFIX
173
+
174
+ Branche: hotfix/{name}
175
+ Commits: {n} depuis main
176
+
177
+ Actions:
178
+ ✗ NE PAS merger sur main
179
+ ✗ NE PAS merger sur develop
180
+ ✓ Supprimer la branche
181
+ ```
182
+
183
+ **Options specifiques:**
184
+ - `--salvage-to-develop` : Merger vers develop (rare)
185
+ - `--keep-local` : Garder branche locale
186
+
187
+ ### Log abandon
188
+
189
+ Creer `.claude/gitflow/logs/abort_{timestamp}.json`:
190
+
191
+ ```json
192
+ {
193
+ "timestamp": "{ISO_DATE}",
194
+ "type": "branch-abort",
195
+ "branch_type": "feature|release|hotfix",
196
+ "branch_name": "{full_name}",
197
+ "reason": "{raison si fournie}",
198
+ "commits_count": {n},
199
+ "salvaged": true|false,
200
+ "salvage_commit": "{hash}"|null,
201
+ "archived": true|false,
202
+ "archive_tag": "{tag}"|null
203
+ }
204
+ ```
205
+
206
+ ### Nettoyage worktree (cleanup automatique)
207
+
208
+ Si la branche utilise un worktree, un cleanup cible est effectue automatiquement:
209
+
210
+ ```bash
211
+ # Fonction de cleanup cible (appelee automatiquement)
212
+ cleanup_worktree_for_branch() {
213
+ BRANCH=$1
214
+ WORKTREE_BASE="../worktrees"
215
+
216
+ # Determiner le chemin selon le type
217
+ if [[ $BRANCH == feature/* ]]; then
218
+ NAME=${BRANCH#feature/}
219
+ WORKTREE_PATH="$WORKTREE_BASE/features/$NAME"
220
+ elif [[ $BRANCH == release/* ]]; then
221
+ VERSION=${BRANCH#release/}
222
+ WORKTREE_PATH="$WORKTREE_BASE/releases/$VERSION"
223
+ elif [[ $BRANCH == hotfix/* ]]; then
224
+ NAME=${BRANCH#hotfix/}
225
+ WORKTREE_PATH="$WORKTREE_BASE/hotfixes/$NAME"
226
+ fi
227
+
228
+ # Supprimer si existe
229
+ if [ -d "$WORKTREE_PATH" ]; then
230
+ git worktree remove "$WORKTREE_PATH" --force 2>/dev/null || true
231
+ rm -rf "$WORKTREE_PATH" 2>/dev/null || true
232
+ git worktree prune
233
+ echo "✓ Worktree nettoye: $WORKTREE_PATH"
234
+ fi
235
+ }
236
+
237
+ # Appel automatique apres abandon
238
+ cleanup_worktree_for_branch "$BRANCH"
239
+ ```
240
+
241
+ **Note:** Pour un audit complet de tous les worktrees, utilisez:
242
+
243
+ ```
244
+ /gitflow:12-cleanup
245
+ ```
246
+
247
+ ---
248
+
249
+ ## Modes complets
250
+
251
+ | Commande | Action |
252
+ |----------|--------|
253
+ | `/gitflow:6-abort` | Analyse + propose options |
254
+ | `/gitflow:6-abort --git` | Annule operation Git |
255
+ | `/gitflow:6-abort --checkpoint` | Rollback dernier checkpoint |
256
+ | `/gitflow:6-abort --full` | Rollback complet |
257
+ | `/gitflow:6-abort --migrations` | Restore migrations |
258
+ | `/gitflow:6-abort --database {mig}` | Rollback DB |
259
+ | `/gitflow:6-abort --branch` | Abandonner branche courante |
260
+ | `/gitflow:6-abort --branch --archive` | Abandon + archive (feature) |
261
+ | `/gitflow:6-abort --branch --no-salvage` | Abandon sans salvage (release) |
262
+ | `/gitflow:6-abort --branch --reason "..."` | Abandon avec raison |
263
+
264
+ ---
265
+
266
+ ## Scenarios courants
267
+
268
+ **Conflit rebase:**
269
+ ```
270
+ /gitflow:6-abort --git
271
+ git fetch origin develop
272
+ /gitflow:4-plan
273
+ ```
274
+
275
+ **Migration corrompue:**
276
+ ```
277
+ /gitflow:6-abort --checkpoint
278
+ /gitflow:3-commit
279
+ ```
280
+
281
+ **Abandonner feature en cours:**
282
+ ```
283
+ /gitflow:6-abort --branch
284
+ # ou avec archive
285
+ /gitflow:6-abort --branch --archive
286
+ ```
287
+
288
+ **Abandonner release echouee:**
289
+ ```
290
+ /gitflow:6-abort --branch
291
+ # Corrections seront salvagees vers develop
292
+ ```
293
+
294
+ **Abandonner hotfix invalide:**
295
+ ```
296
+ /gitflow:6-abort --branch
297
+ # Rien n'est merge, branche supprimee
298
+ ```
299
+
300
+ ---
301
+
302
+ ## Resume post-abandon
303
+
304
+ ```
305
+ ═══════════════════════════════════════════════════════════════
306
+ BRANCHE ABANDONNEE
307
+ ═══════════════════════════════════════════════════════════════
308
+
309
+ Type: {feature|release|hotfix}
310
+ Branche: {nom complet}
311
+ Commits: {n} (perdus|salvages|archives)
312
+ Raison: {raison ou "non specifiee"}
313
+
314
+ Actions effectuees:
315
+ {✓|✗} Salvage vers develop
316
+ {✓|✗} Archive creee
317
+ ✓ Branche supprimee
318
+ ✓ Worktree nettoye (cleanup automatique)
319
+
320
+ ═══════════════════════════════════════════════════════════════
321
+
322
+ Prochaines etapes:
323
+ - Documenter la raison si besoin
324
+ - Creer issue pour suivi si applicable
325
+ - Demarrer nouvelle branche: /gitflow:10-start {type} {nom}
326
+ - Audit complet worktrees: /gitflow:12-cleanup (optionnel)
327
+
328
+ ═══════════════════════════════════════════════════════════════
329
+ ```
330
+
331
+ ---
332
+
333
+ ## Recuperation si erreur
334
+
335
+ **Feature archivee:**
336
+ ```bash
337
+ git checkout -b feature/{name} archive/feature/{name}
338
+ ```
339
+
340
+ **Branche non archivee (reflog):**
341
+ ```bash
342
+ git reflog
343
+ git checkout -b {branch} {commit-hash}
344
+ ```