@atlashub/smartstack-cli 1.7.0 → 1.8.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.
- package/.documentation/init.html +9 -65
- package/README.md +556 -78
- package/dist/index.js +29 -134
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/templates/agents/gitflow/status.md +98 -11
- package/templates/commands/efcore/conflicts.md +98 -32
- package/templates/commands/efcore/db-deploy.md +107 -10
- package/templates/commands/efcore/db-reset.md +69 -14
- package/templates/commands/efcore/db-seed.md +67 -11
- package/templates/commands/efcore/db-status.md +57 -20
- package/templates/commands/efcore/migration.md +84 -23
- package/templates/commands/efcore/rebase-snapshot.md +81 -23
- package/templates/commands/efcore/scan.md +94 -29
- package/templates/commands/efcore/squash.md +97 -41
- package/templates/commands/gitflow/1-init.md +216 -5
- package/templates/commands/gitflow/10-start.md +194 -24
- package/templates/commands/gitflow/11-finish.md +141 -59
- package/templates/commands/gitflow/2-status.md +238 -58
- package/templates/commands/gitflow/3-commit.md +93 -0
- package/templates/commands/gitflow/7-pull-request.md +133 -16
|
@@ -216,14 +216,40 @@ git push origin --delete feature/{name} 2>/dev/null || true
|
|
|
216
216
|
```
|
|
217
217
|
|
|
218
218
|
**Resume:**
|
|
219
|
+
|
|
219
220
|
```
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
221
|
+
═══════════════════════════════════════════════════════════════════════════════
|
|
222
|
+
FEATURE FINALISÉE
|
|
223
|
+
═══════════════════════════════════════════════════════════════════════════════
|
|
224
|
+
|
|
225
|
+
FINISH DETAILS
|
|
226
|
+
───────────────────────────────────────────────────────────────────────────────
|
|
227
|
+
• Type: feature
|
|
228
|
+
• Branche: feature/{name}
|
|
229
|
+
• Mergée: develop
|
|
230
|
+
• PR: #{number}
|
|
231
|
+
|
|
232
|
+
WORKFLOW STATUT
|
|
233
|
+
───────────────────────────────────────────────────────────────────────────────
|
|
234
|
+
✓ PR #{number} mergée avec succès
|
|
235
|
+
✓ Branche feature/{name} supprimée (local)
|
|
236
|
+
✓ Branche feature/{name} supprimée (remote)
|
|
237
|
+
✓ Worktree nettoyé
|
|
238
|
+
|
|
239
|
+
═══════════════════════════════════════════════════════════════════════════════
|
|
240
|
+
PROCHAINES ÉTAPES
|
|
241
|
+
═══════════════════════════════════════════════════════════════════════════════
|
|
242
|
+
|
|
243
|
+
1. Créer une nouvelle feature:
|
|
244
|
+
/gitflow:10-start feature {name}
|
|
245
|
+
|
|
246
|
+
2. Créer une release (si prêt pour production):
|
|
247
|
+
/gitflow:10-start release
|
|
248
|
+
|
|
249
|
+
3. Voir le statut du repo:
|
|
250
|
+
/gitflow:2-status
|
|
251
|
+
|
|
252
|
+
═══════════════════════════════════════════════════════════════════════════════
|
|
227
253
|
```
|
|
228
254
|
|
|
229
255
|
---
|
|
@@ -251,9 +277,29 @@ git push origin "v$VERSION"
|
|
|
251
277
|
git checkout develop
|
|
252
278
|
git pull origin develop
|
|
253
279
|
git merge main --no-ff -m "chore: merge release v$VERSION back to develop"
|
|
280
|
+
|
|
281
|
+
# 4. AUTO-INCREMENT MINOR VERSION sur develop (prepare next release)
|
|
282
|
+
# Ceci evite que les futures features utilisent la meme version que la release
|
|
283
|
+
CURRENT_VERSION=$(cat package.json | jq -r '.version')
|
|
284
|
+
|
|
285
|
+
# Calculer la prochaine version MINOR (ex: 1.2.0 -> 1.3.0)
|
|
286
|
+
NEXT_VERSION=$(node -e "
|
|
287
|
+
const [major, minor, patch] = '$CURRENT_VERSION'.split('.').map(Number);
|
|
288
|
+
console.log([major, minor + 1, 0].join('.'));
|
|
289
|
+
")
|
|
290
|
+
|
|
291
|
+
# Mettre a jour package.json avec la nouvelle version
|
|
292
|
+
npm version $NEXT_VERSION --no-git-tag-version
|
|
293
|
+
|
|
294
|
+
# Committer le bump de version
|
|
295
|
+
git add package.json package-lock.json
|
|
296
|
+
git commit -m "chore: bump develop to v$NEXT_VERSION for next release"
|
|
297
|
+
|
|
254
298
|
git push origin develop
|
|
255
299
|
|
|
256
|
-
|
|
300
|
+
echo "OK Version develop incrementee: $CURRENT_VERSION -> $NEXT_VERSION"
|
|
301
|
+
|
|
302
|
+
# 5. Cleanup worktree + branche
|
|
257
303
|
WORKTREE_PATH="../worktrees/releases/v$VERSION"
|
|
258
304
|
if [ -d "$WORKTREE_PATH" ]; then
|
|
259
305
|
git worktree remove "$WORKTREE_PATH" --force 2>/dev/null || true
|
|
@@ -263,20 +309,50 @@ git push origin --delete release/v$VERSION 2>/dev/null || true
|
|
|
263
309
|
```
|
|
264
310
|
|
|
265
311
|
**Resume:**
|
|
312
|
+
|
|
266
313
|
```
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
314
|
+
═══════════════════════════════════════════════════════════════════════════════
|
|
315
|
+
RELEASE FINALISÉE
|
|
316
|
+
═══════════════════════════════════════════════════════════════════════════════
|
|
317
|
+
|
|
318
|
+
RELEASE DETAILS
|
|
319
|
+
───────────────────────────────────────────────────────────────────────────────
|
|
320
|
+
• Type: release
|
|
321
|
+
• Branche: release/v{version}
|
|
322
|
+
• Version: v{version}
|
|
323
|
+
• Tag: v{version} ✓
|
|
324
|
+
|
|
325
|
+
VERSIONING
|
|
326
|
+
───────────────────────────────────────────────────────────────────────────────
|
|
327
|
+
• Release: v{version} → Déployée sur main
|
|
328
|
+
• Develop: {version} → {NEXT_VERSION} (auto-incrémenté)
|
|
329
|
+
|
|
330
|
+
WORKFLOW STATUT
|
|
331
|
+
───────────────────────────────────────────────────────────────────────────────
|
|
332
|
+
✓ PR mergée sur main
|
|
333
|
+
✓ Tag v{version} créé et poussé
|
|
334
|
+
✓ Main mis à jour
|
|
335
|
+
✓ Merge back vers develop effectué
|
|
336
|
+
✓ Version develop incrémentée ({version} → {NEXT_VERSION})
|
|
337
|
+
✓ Branche release/{version} supprimée
|
|
338
|
+
✓ Worktree nettoyé
|
|
339
|
+
|
|
340
|
+
═══════════════════════════════════════════════════════════════════════════════
|
|
341
|
+
PROCHAINES ÉTAPES
|
|
342
|
+
═══════════════════════════════════════════════════════════════════════════════
|
|
343
|
+
|
|
344
|
+
✅ Release v{version} déployée avec succès!
|
|
345
|
+
|
|
346
|
+
1. Créer une nouvelle feature:
|
|
347
|
+
/gitflow:10-start feature {name}
|
|
348
|
+
|
|
349
|
+
2. Créer un hotfix (si besoin):
|
|
350
|
+
/gitflow:10-start hotfix {name}
|
|
351
|
+
|
|
352
|
+
3. Voir le statut du repo:
|
|
353
|
+
/gitflow:2-status
|
|
354
|
+
|
|
355
|
+
═══════════════════════════════════════════════════════════════════════════════
|
|
280
356
|
```
|
|
281
357
|
|
|
282
358
|
---
|
|
@@ -324,7 +400,7 @@ git pull origin develop
|
|
|
324
400
|
git merge main --no-ff -m "chore: merge hotfix v$NEW_VERSION back to develop"
|
|
325
401
|
git push origin develop
|
|
326
402
|
|
|
327
|
-
#
|
|
403
|
+
# 6. Cleanup worktree + branche
|
|
328
404
|
WORKTREE_PATH="../worktrees/hotfixes/{name}"
|
|
329
405
|
if [ -d "$WORKTREE_PATH" ]; then
|
|
330
406
|
git worktree remove "$WORKTREE_PATH" --force 2>/dev/null || true
|
|
@@ -336,21 +412,50 @@ git push origin --delete hotfix/{name} 2>/dev/null || true
|
|
|
336
412
|
**⚠️ IMPORTANT:** Le bump de version PATCH est automatique. Pas besoin de le faire manuellement avant le finish.
|
|
337
413
|
|
|
338
414
|
**Resume:**
|
|
415
|
+
|
|
339
416
|
```
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
417
|
+
═══════════════════════════════════════════════════════════════════════════════
|
|
418
|
+
HOTFIX FINALISÉ
|
|
419
|
+
═══════════════════════════════════════════════════════════════════════════════
|
|
420
|
+
|
|
421
|
+
HOTFIX DETAILS
|
|
422
|
+
───────────────────────────────────────────────────────────────────────────────
|
|
423
|
+
• Type: hotfix
|
|
424
|
+
• Branche: hotfix/{name}
|
|
425
|
+
• Correction: {description}
|
|
426
|
+
|
|
427
|
+
VERSIONING
|
|
428
|
+
───────────────────────────────────────────────────────────────────────────────
|
|
429
|
+
• Avant: v{CURRENT_VERSION}
|
|
430
|
+
• Après: v{NEW_VERSION} (PATCH auto-incrémenté)
|
|
431
|
+
• Tag: v{NEW_VERSION} ✓
|
|
432
|
+
|
|
433
|
+
WORKFLOW STATUT
|
|
434
|
+
───────────────────────────────────────────────────────────────────────────────
|
|
435
|
+
✓ Version incrémentée (PATCH): {CURRENT_VERSION} → {NEW_VERSION}
|
|
436
|
+
✓ package.json mis à jour
|
|
437
|
+
✓ Tag v{NEW_VERSION} créé et poussé
|
|
438
|
+
✓ Main mis à jour
|
|
439
|
+
✓ Merge back vers develop effectué
|
|
440
|
+
✓ Branche hotfix/{name} supprimée
|
|
441
|
+
✓ Worktree nettoyé
|
|
442
|
+
|
|
443
|
+
═══════════════════════════════════════════════════════════════════════════════
|
|
444
|
+
PROCHAINES ÉTAPES
|
|
445
|
+
═══════════════════════════════════════════════════════════════════════════════
|
|
446
|
+
|
|
447
|
+
✅ Hotfix v{NEW_VERSION} déployé avec succès!
|
|
448
|
+
|
|
449
|
+
1. Créer une nouvelle feature:
|
|
450
|
+
/gitflow:10-start feature {name}
|
|
451
|
+
|
|
452
|
+
2. Créer une release:
|
|
453
|
+
/gitflow:10-start release
|
|
454
|
+
|
|
455
|
+
3. Voir le statut du repo:
|
|
456
|
+
/gitflow:2-status
|
|
457
|
+
|
|
458
|
+
═══════════════════════════════════════════════════════════════════════════════
|
|
354
459
|
```
|
|
355
460
|
|
|
356
461
|
---
|
|
@@ -424,29 +529,6 @@ cleanup_worktree_for_branch "$BRANCH"
|
|
|
424
529
|
|
|
425
530
|
---
|
|
426
531
|
|
|
427
|
-
## Resume final
|
|
428
|
-
|
|
429
|
-
```
|
|
430
|
-
GITFLOW FINISH COMPLETE
|
|
431
|
-
════════════════════════════════════════
|
|
432
|
-
Type: {feature|release|hotfix}
|
|
433
|
-
Branche: {branch_name}
|
|
434
|
-
Status: FINALISEE
|
|
435
|
-
|
|
436
|
-
Resultats:
|
|
437
|
-
PR: #{number} (mergee)
|
|
438
|
-
Tag: {tag|N/A}
|
|
439
|
-
Main: {updated|N/A}
|
|
440
|
-
Develop: {updated|unchanged}
|
|
441
|
-
Cleanup: ✓ Branche supprimee
|
|
442
|
-
Worktree: ✓ Nettoye
|
|
443
|
-
|
|
444
|
-
════════════════════════════════════════
|
|
445
|
-
Workflow GitFlow complete!
|
|
446
|
-
```
|
|
447
|
-
|
|
448
|
-
---
|
|
449
|
-
|
|
450
532
|
## Modes
|
|
451
533
|
|
|
452
534
|
| Commande | Action |
|
|
@@ -6,18 +6,65 @@ model: haiku
|
|
|
6
6
|
|
|
7
7
|
# Phase 2: STATUS - Overview
|
|
8
8
|
|
|
9
|
-
Tu es expert GitFlow et EF Core. Affiche l'etat
|
|
9
|
+
Tu es expert GitFlow et EF Core. Affiche l'etat COMPLET du projet.
|
|
10
10
|
|
|
11
11
|
---
|
|
12
12
|
|
|
13
13
|
## Informations a collecter
|
|
14
14
|
|
|
15
|
-
###
|
|
15
|
+
### 1. BRANCHES - Vue complete
|
|
16
|
+
|
|
17
|
+
#### Toutes les branches (locales et remote)
|
|
18
|
+
```bash
|
|
19
|
+
# Fetch pour avoir les infos a jour
|
|
20
|
+
git fetch --all --quiet 2>/dev/null
|
|
21
|
+
|
|
22
|
+
# Branches locales avec dernier commit
|
|
23
|
+
echo "=== BRANCHES LOCALES ==="
|
|
24
|
+
git for-each-ref --sort=-committerdate --format='%(refname:short)|%(objectname:short)|%(committerdate:short)|%(subject)' refs/heads
|
|
25
|
+
|
|
26
|
+
# Branches remote avec dernier commit
|
|
27
|
+
echo "=== BRANCHES REMOTE ==="
|
|
28
|
+
git for-each-ref --sort=-committerdate --format='%(refname:short)|%(objectname:short)|%(committerdate:short)|%(subject)' refs/remotes/origin
|
|
29
|
+
|
|
30
|
+
# Worktrees actifs
|
|
31
|
+
echo "=== WORKTREES ==="
|
|
32
|
+
git worktree list
|
|
33
|
+
|
|
34
|
+
# Tracking relationships
|
|
35
|
+
echo "=== TRACKING ==="
|
|
36
|
+
git branch -vv
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
### 2. TAGS - Tous les tags avec details
|
|
40
|
+
```bash
|
|
41
|
+
# Tous les tags tries par version (newest first)
|
|
42
|
+
echo "=== TAGS ==="
|
|
43
|
+
git for-each-ref --sort=-v:refname --format='%(refname:short)|%(creatordate:short)|%(subject)' refs/tags
|
|
44
|
+
|
|
45
|
+
# Dernier tag sur chaque branche principale
|
|
46
|
+
echo "=== LATEST TAG PER BRANCH ==="
|
|
47
|
+
for branch in main develop; do
|
|
48
|
+
if git rev-parse --verify $branch >/dev/null 2>&1; then
|
|
49
|
+
TAG=$(git describe --tags --abbrev=0 $branch 2>/dev/null || echo "none")
|
|
50
|
+
AHEAD=$(git rev-list --count $TAG..$branch 2>/dev/null || echo "0")
|
|
51
|
+
echo "$branch: $TAG (+$AHEAD commits)"
|
|
52
|
+
fi
|
|
53
|
+
done
|
|
54
|
+
|
|
55
|
+
# Quelles branches contiennent quels tags (3 derniers tags)
|
|
56
|
+
echo "=== TAG CONTAINMENT ==="
|
|
57
|
+
for tag in $(git tag -l --sort=-v:refname | head -3); do
|
|
58
|
+
BRANCHES=$(git branch -a --contains $tag 2>/dev/null | tr '\n' ',' | sed 's/,$//')
|
|
59
|
+
echo "$tag: $BRANCHES"
|
|
60
|
+
done
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
### 3. Git Status courant
|
|
16
64
|
- Branche courante et type (feature/release/hotfix/develop/main)
|
|
17
65
|
- Etat working directory (clean/dirty)
|
|
18
66
|
- Synchronisation locale vs remote (push/pull needed)
|
|
19
67
|
- Synchronisation vs develop et main (commits ahead/behind)
|
|
20
|
-
- Dernier tag
|
|
21
68
|
|
|
22
69
|
### Sync Local vs Remote
|
|
23
70
|
```bash
|
|
@@ -51,29 +98,82 @@ else
|
|
|
51
98
|
fi
|
|
52
99
|
```
|
|
53
100
|
|
|
54
|
-
###
|
|
101
|
+
### 4. COMPARAISONS - develop vs main vs releases (CRITIQUE)
|
|
55
102
|
|
|
56
103
|
```bash
|
|
104
|
+
# === DEVELOP vs MAIN ===
|
|
105
|
+
echo "=== DEVELOP vs MAIN ==="
|
|
106
|
+
|
|
57
107
|
# Commits sur develop absents de main (normal - a releaser)
|
|
58
|
-
DEVELOP_AHEAD=$(git rev-list --count
|
|
108
|
+
DEVELOP_AHEAD=$(git rev-list --count main..develop 2>/dev/null || echo "0")
|
|
59
109
|
|
|
60
110
|
# Commits sur main absents de develop (ANORMAL - hotfix non merge back?)
|
|
61
|
-
MAIN_AHEAD=$(git rev-list --count
|
|
111
|
+
MAIN_AHEAD=$(git rev-list --count develop..main 2>/dev/null || echo "0")
|
|
112
|
+
|
|
113
|
+
echo "develop → main: +$DEVELOP_AHEAD commits"
|
|
114
|
+
echo "main → develop: +$MAIN_AHEAD commits"
|
|
62
115
|
|
|
63
116
|
# Determiner l'etat de synchronisation
|
|
64
117
|
if [ "$DEVELOP_AHEAD" -eq 0 ] && [ "$MAIN_AHEAD" -eq 0 ]; then
|
|
65
|
-
|
|
118
|
+
echo "STATUS: SYNCHRONIZED ✓"
|
|
66
119
|
elif [ "$MAIN_AHEAD" -gt 0 ]; then
|
|
67
|
-
|
|
120
|
+
echo "STATUS: DIVERGED ⚠️ (main a des commits non merges dans develop)"
|
|
68
121
|
elif [ "$DEVELOP_AHEAD" -gt 0 ]; then
|
|
69
|
-
|
|
122
|
+
echo "STATUS: RELEASE_NEEDED (normal)"
|
|
70
123
|
fi
|
|
124
|
+
|
|
125
|
+
# === RELEASES EN COURS ===
|
|
126
|
+
echo ""
|
|
127
|
+
echo "=== RELEASES EN COURS ==="
|
|
128
|
+
|
|
129
|
+
# Pour chaque branche release (locale et remote)
|
|
130
|
+
for RELEASE in $(git branch -a | grep -E 'release/' | sed 's/.*release\//release\//' | sort -u); do
|
|
131
|
+
BRANCH_NAME=$(echo $RELEASE | sed 's/remotes\/origin\///')
|
|
132
|
+
|
|
133
|
+
# Verifier si la branche existe
|
|
134
|
+
if git rev-parse --verify $BRANCH_NAME >/dev/null 2>&1; then
|
|
135
|
+
REL_VS_DEV_AHEAD=$(git rev-list --count develop..$BRANCH_NAME 2>/dev/null || echo "0")
|
|
136
|
+
REL_VS_DEV_BEHIND=$(git rev-list --count $BRANCH_NAME..develop 2>/dev/null || echo "0")
|
|
137
|
+
REL_VS_MAIN_AHEAD=$(git rev-list --count main..$BRANCH_NAME 2>/dev/null || echo "0")
|
|
138
|
+
REL_VS_MAIN_BEHIND=$(git rev-list --count $BRANCH_NAME..main 2>/dev/null || echo "0")
|
|
139
|
+
LAST_COMMIT=$(git log -1 --format='%h %s' $BRANCH_NAME 2>/dev/null)
|
|
140
|
+
|
|
141
|
+
echo ""
|
|
142
|
+
echo "$BRANCH_NAME:"
|
|
143
|
+
echo " vs develop: +$REL_VS_DEV_AHEAD/-$REL_VS_DEV_BEHIND"
|
|
144
|
+
echo " vs main: +$REL_VS_MAIN_AHEAD/-$REL_VS_MAIN_BEHIND"
|
|
145
|
+
echo " last: $LAST_COMMIT"
|
|
146
|
+
|
|
147
|
+
# Status
|
|
148
|
+
if [ "$REL_VS_DEV_AHEAD" -eq 0 ] && [ "$REL_VS_MAIN_AHEAD" -eq 0 ]; then
|
|
149
|
+
echo " status: MERGED ✓ (peut etre supprimee)"
|
|
150
|
+
elif [ "$REL_VS_DEV_AHEAD" -gt 0 ] || [ "$REL_VS_MAIN_AHEAD" -gt 0 ]; then
|
|
151
|
+
echo " status: ACTIVE (commits non merges)"
|
|
152
|
+
fi
|
|
153
|
+
fi
|
|
154
|
+
done
|
|
155
|
+
|
|
156
|
+
# === FEATURES EN COURS ===
|
|
157
|
+
echo ""
|
|
158
|
+
echo "=== FEATURES EN COURS ==="
|
|
159
|
+
|
|
160
|
+
for FEATURE in $(git branch -a | grep -E 'feature/' | sed 's/.*feature\//feature\//' | sort -u | head -10); do
|
|
161
|
+
BRANCH_NAME=$(echo $FEATURE | sed 's/remotes\/origin\///')
|
|
162
|
+
|
|
163
|
+
if git rev-parse --verify $BRANCH_NAME >/dev/null 2>&1; then
|
|
164
|
+
FEAT_VS_DEV_AHEAD=$(git rev-list --count develop..$BRANCH_NAME 2>/dev/null || echo "0")
|
|
165
|
+
FEAT_VS_DEV_BEHIND=$(git rev-list --count $BRANCH_NAME..develop 2>/dev/null || echo "0")
|
|
166
|
+
LAST_COMMIT=$(git log -1 --format='%h %s' $BRANCH_NAME 2>/dev/null)
|
|
167
|
+
|
|
168
|
+
echo "$BRANCH_NAME: +$FEAT_VS_DEV_AHEAD/-$FEAT_VS_DEV_BEHIND | $LAST_COMMIT"
|
|
169
|
+
fi
|
|
170
|
+
done
|
|
71
171
|
```
|
|
72
172
|
|
|
73
173
|
**Si MAIN_AHEAD > 0 (main a des commits absents de develop):**
|
|
74
174
|
```bash
|
|
75
|
-
|
|
76
|
-
git log
|
|
175
|
+
echo "=== COMMITS MANQUANTS DANS DEVELOP ==="
|
|
176
|
+
git log develop..main --oneline
|
|
77
177
|
```
|
|
78
178
|
|
|
79
179
|
### Version
|
|
@@ -132,70 +232,150 @@ done
|
|
|
132
232
|
## Affichage
|
|
133
233
|
|
|
134
234
|
```
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
235
|
+
╔══════════════════════════════════════════════════════════════════════════════╗
|
|
236
|
+
║ GITFLOW STATUS ║
|
|
237
|
+
╚══════════════════════════════════════════════════════════════════════════════╝
|
|
138
238
|
|
|
139
239
|
BRANCHE: {branch} ({type}) | {clean|dirty}
|
|
140
240
|
VERSION: {version} ({source})
|
|
241
|
+
REMOTE: {UP-TO-DATE|AHEAD N|BEHIND N|DIVERGED|NO REMOTE}
|
|
242
|
+
|
|
243
|
+
┌──────────────────────────────────────────────────────────────────────────────┐
|
|
244
|
+
│ BRANCHES │
|
|
245
|
+
├──────────────────────────────────────────────────────────────────────────────┤
|
|
246
|
+
│ LOCALES ({n}) │
|
|
247
|
+
│ ──────────────────────────────────────────────────────────────────────────── │
|
|
248
|
+
│ Branch │ Commit │ Date │ Message │
|
|
249
|
+
│ ─────────────────────────────────────────────────────────────────────────────│
|
|
250
|
+
│ * develop │ 8e8069d │ 2026-01-17 │ fix(ci): use NPM_TOKEN... │
|
|
251
|
+
│ main │ dd0cb2a │ 2026-01-17 │ chore(ci): update pipeline... │
|
|
252
|
+
│ release/v1.5.1 │ 10d2c58 │ 2026-01-17 │ chore: bump version to 1.5.1 │
|
|
253
|
+
│ │
|
|
254
|
+
│ REMOTE origin ({n}) │
|
|
255
|
+
│ ──────────────────────────────────────────────────────────────────────────── │
|
|
256
|
+
│ origin/develop │ 8e8069d │ 2026-01-17 │ fix(ci): use NPM_TOKEN... │
|
|
257
|
+
│ origin/main │ 91d0986 │ 2026-01-16 │ feat(license): add license... │
|
|
258
|
+
│ │
|
|
259
|
+
│ WORKTREES ({n}) │
|
|
260
|
+
│ ──────────────────────────────────────────────────────────────────────────── │
|
|
261
|
+
│ 01-Main │ main │ dd0cb2a │
|
|
262
|
+
│ 02-Develop │ develop │ 8e8069d (current) │
|
|
263
|
+
│ releases/v1.4.2 │ release/v1.4.2 │ a45f239 │
|
|
264
|
+
└──────────────────────────────────────────────────────────────────────────────┘
|
|
265
|
+
|
|
266
|
+
┌──────────────────────────────────────────────────────────────────────────────┐
|
|
267
|
+
│ TAGS ({n} total) │
|
|
268
|
+
├──────────────────────────────────────────────────────────────────────────────┤
|
|
269
|
+
│ Tag │ Date │ Message │ Branches │
|
|
270
|
+
│ ─────────────────────────────────────────────────────────────────────────────│
|
|
271
|
+
│ v1.5.2 │ 2026-01-17 │ Release v1.5.2 - Azure DevOps... │ main │
|
|
272
|
+
│ v1.5.1 │ 2026-01-17 │ Release v1.5.1 - Fix init... │ main │
|
|
273
|
+
│ v1.5.0 │ 2026-01-17 │ Release v1.5.0 - Project scaf... │ develop, main │
|
|
274
|
+
│ v1.4.1 │ 2026-01-17 │ Release v1.4.1 - Patch release │ develop, main │
|
|
275
|
+
│ v1.4.0 │ 2026-01-16 │ Release v1.4.0 │ develop, main │
|
|
276
|
+
│ │
|
|
277
|
+
│ DERNIERE VERSION PAR BRANCHE │
|
|
278
|
+
│ main: v1.5.2 (+2 commits depuis ce tag) │
|
|
279
|
+
│ develop: v1.5.0 (+10 commits depuis ce tag) │
|
|
280
|
+
│ │
|
|
281
|
+
│ Legende: "+N commits" = nombre de changements faits apres ce tag │
|
|
282
|
+
└──────────────────────────────────────────────────────────────────────────────┘
|
|
141
283
|
|
|
142
|
-
|
|
143
|
-
|
|
284
|
+
┌──────────────────────────────────────────────────────────────────────────────┐
|
|
285
|
+
│ COMPARAISONS ENTRE BRANCHES │
|
|
286
|
+
├──────────────────────────────────────────────────────────────────────────────┤
|
|
287
|
+
│ DEVELOP vs MAIN (Production) │
|
|
288
|
+
│ ──────────────────────────────────────────────────────────────────────────── │
|
|
289
|
+
│ │
|
|
290
|
+
│ develop: {N} commits prets a publier en production │
|
|
291
|
+
│ (changements sur develop non encore sur main) │
|
|
292
|
+
│ │
|
|
293
|
+
│ main: {N} commits a recuperer dans develop │
|
|
294
|
+
│ (changements sur main non encore sur develop) │
|
|
295
|
+
│ │
|
|
296
|
+
│ ETAT: {message selon situation} │
|
|
297
|
+
│ ✓ SYNCHRONISE = develop et main sont identiques │
|
|
298
|
+
│ ℹ️ A PUBLIER = develop a des changements prets pour une release │
|
|
299
|
+
│ ⚠️ DESYNCHRONISE = main a des commits non recuperes (action requise) │
|
|
300
|
+
│ │
|
|
301
|
+
│ {Si main a des commits non recuperes:} │
|
|
302
|
+
│ ⚠️ ATTENTION: {N} changements sur main non recuperes dans develop! │
|
|
303
|
+
│ ───────────────────────────────────────────────────────────────────────── │
|
|
304
|
+
│ Ces commits sont sur main mais absents de develop: │
|
|
305
|
+
│ dd0cb2a chore(ci): update pipeline to use NPM_TOKEN variable │
|
|
306
|
+
│ 3db14b6 Merge pull request 31 from release/v1.5.2 into main │
|
|
307
|
+
│ │
|
|
308
|
+
│ → ACTION: Recuperer ces changements avec: git merge main │
|
|
309
|
+
│ │
|
|
310
|
+
│ RELEASES EN COURS │
|
|
311
|
+
│ ──────────────────────────────────────────────────────────────────────────── │
|
|
312
|
+
│ Branch │ vs develop │ vs main │ Status │
|
|
313
|
+
│ ─────────────────────────────────────────────────────────────────────────────│
|
|
314
|
+
│ release/v1.5.1 │ 0 a publier/25 a │ 0 a publier/28 a │ TERMINEE ✓ │
|
|
315
|
+
│ │ recuperer │ recuperer │ (supprimable) │
|
|
316
|
+
│ release/v1.4.2 │ 0 a publier/26 a │ 0 a publier/29 a │ TERMINEE ✓ │
|
|
317
|
+
│ │ recuperer │ recuperer │ (supprimable) │
|
|
318
|
+
│ │
|
|
319
|
+
│ FEATURES (branches de fonctionnalites) │
|
|
320
|
+
│ ──────────────────────────────────────────────────────────────────────────── │
|
|
321
|
+
│ feature/xxx: {N} commits a publier / {N} a recuperer de develop │
|
|
322
|
+
│ Dernier: {message du dernier commit} │
|
|
323
|
+
└──────────────────────────────────────────────────────────────────────────────┘
|
|
144
324
|
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
325
|
+
┌──────────────────────────────────────────────────────────────────────────────┐
|
|
326
|
+
│ EF CORE │
|
|
327
|
+
├──────────────────────────────────────────────────────────────────────────────┤
|
|
328
|
+
│ Migrations: {total} total, {pending} pending │
|
|
329
|
+
│ [Pending] {liste} │
|
|
330
|
+
│ │
|
|
331
|
+
│ BRANCHES AVEC MIGRATIONS │
|
|
332
|
+
│ ──────────────────────────────────────────────────────────────────────────── │
|
|
333
|
+
│ feature/add-users +1 migration (AddUsersTable) Conflit: NON │
|
|
334
|
+
│ feature/add-orders +1 migration (AddOrdersTable) Conflit: NON │
|
|
335
|
+
│ feature/add-products +2 migrations Conflit: OUI ⚠️ │
|
|
336
|
+
│ │
|
|
337
|
+
│ ORDRE DE MERGE RECOMMANDE: │
|
|
338
|
+
│ 1. feature/add-users (independant) │
|
|
339
|
+
│ 2. feature/add-orders (independant) │
|
|
340
|
+
│ 3. feature/add-products (rebase requis apres #1 et #2) │
|
|
341
|
+
└──────────────────────────────────────────────────────────────────────────────┘
|
|
150
342
|
|
|
151
|
-
|
|
152
|
-
✓ Normal: develop a {N} commits prets a releaser
|
|
153
|
-
→ Action: /gitflow:10-start release
|
|
343
|
+
PLANS: {n} active | OPERATIONS: {none|rebase|merge} | RISKS: {liste}
|
|
154
344
|
|
|
155
|
-
|
|
156
|
-
|
|
345
|
+
══════════════════════════════════════════════════════════════════════════════
|
|
346
|
+
ACTIONS A FAIRE
|
|
347
|
+
══════════════════════════════════════════════════════════════════════════════
|
|
157
348
|
|
|
158
|
-
|
|
159
|
-
|
|
349
|
+
{Generer cette section dynamiquement selon l'etat detecte}
|
|
350
|
+
{Chaque action = 1 ligne description + 1 bloc code copiable}
|
|
160
351
|
|
|
161
|
-
|
|
162
|
-
- Hotfix non merge back dans develop
|
|
163
|
-
- Commit direct sur main (non recommande)
|
|
164
|
-
- Release mal finalisee
|
|
352
|
+
EXEMPLES DE FORMAT:
|
|
165
353
|
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
2. Ou via release: /gitflow:10-start release (reset main)
|
|
354
|
+
⚠️ Recuperer 3 commits de main dans develop
|
|
355
|
+
git merge main
|
|
169
356
|
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
--------------------------------------------------------------------------------
|
|
357
|
+
ℹ️ Creer une release (10 commits prets pour production)
|
|
358
|
+
/gitflow:start release v1.6.0
|
|
173
359
|
|
|
174
|
-
|
|
360
|
+
✓ Merger feature/add-users dans develop (prete, 0 conflit)
|
|
361
|
+
/gitflow:finish feature/add-users
|
|
175
362
|
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
[Pending] {liste}
|
|
363
|
+
↻ Mettre a jour feature/add-orders (15 commits a recuperer de develop)
|
|
364
|
+
/gitflow:rebase feature/add-orders
|
|
179
365
|
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
--------------------------------------------------------------------------------
|
|
183
|
-
{Si branches actives avec migrations:}
|
|
184
|
-
feature/add-users +1 migration (AddUsersTable) Conflit: NON
|
|
185
|
-
feature/add-orders +1 migration (AddOrdersTable) Conflit: NON
|
|
186
|
-
feature/add-products +2 migrations (AddProducts, AddFK) Conflit: OUI
|
|
366
|
+
🗑️ Nettoyer release/v1.5.1 (terminee, supprimable)
|
|
367
|
+
/gitflow:cleanup release/v1.5.1
|
|
187
368
|
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
2. feature/add-orders (independant)
|
|
191
|
-
3. feature/add-products (conflit ModelSnapshot - rebase requis)
|
|
192
|
-
--------------------------------------------------------------------------------
|
|
369
|
+
🗑️ Nettoyer release/v1.4.2 (terminee, supprimable)
|
|
370
|
+
/gitflow:cleanup release/v1.4.2
|
|
193
371
|
|
|
194
|
-
|
|
372
|
+
💾 Sauvegarder les modifications en cours (3 fichiers modifies)
|
|
373
|
+
/gitflow:commit "description des changements"
|
|
374
|
+
|
|
375
|
+
↑ Envoyer develop vers le serveur (5 commits non publies)
|
|
376
|
+
/gitflow:sync develop
|
|
195
377
|
|
|
196
|
-
|
|
197
|
-
Actions: /gitflow:13-sync | /gitflow:14-rebase | /gitflow:3-commit | /gitflow:4-plan
|
|
198
|
-
================================================================================
|
|
378
|
+
══════════════════════════════════════════════════════════════════════════════
|
|
199
379
|
```
|
|
200
380
|
|
|
201
381
|
---
|