@atlashub/smartstack-cli 1.5.3 → 1.6.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +30 -9
- package/dist/index.js +14 -3
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/templates/agents/gitflow/status.md +98 -11
- package/templates/commands/gitflow/2-status.md +238 -58
package/package.json
CHANGED
|
@@ -8,25 +8,112 @@ tools: Bash, Read, Glob
|
|
|
8
8
|
|
|
9
9
|
# GitFlow Status Agent
|
|
10
10
|
|
|
11
|
-
Expert GitFlow.
|
|
11
|
+
Expert GitFlow. Affiche l'etat COMPLET du repository avec vocabulaire accessible.
|
|
12
12
|
|
|
13
13
|
## Workflow
|
|
14
14
|
|
|
15
|
-
1. **
|
|
16
|
-
2. **
|
|
17
|
-
3. **
|
|
18
|
-
4. **
|
|
15
|
+
1. **Branches**: Lister TOUTES les branches (locales + remote) avec dernier commit
|
|
16
|
+
2. **Tags**: Lister TOUS les tags avec dates et branches associees
|
|
17
|
+
3. **Comparaisons**: Analyser les differences entre develop, main et releases
|
|
18
|
+
4. **EF Core**: Detecter migrations pending
|
|
19
|
+
5. **Output**: Affichage complet et comprehensible
|
|
20
|
+
|
|
21
|
+
## Commandes a executer
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
# 1. BRANCHES
|
|
25
|
+
git fetch --all --quiet 2>/dev/null
|
|
26
|
+
git for-each-ref --sort=-committerdate --format='%(refname:short)|%(objectname:short)|%(committerdate:short)|%(subject)' refs/heads refs/remotes/origin
|
|
27
|
+
git worktree list
|
|
28
|
+
git branch -vv
|
|
29
|
+
|
|
30
|
+
# 2. TAGS
|
|
31
|
+
git for-each-ref --sort=-v:refname --format='%(refname:short)|%(creatordate:short)|%(subject)' refs/tags
|
|
32
|
+
git describe --tags --abbrev=0 main 2>/dev/null
|
|
33
|
+
git describe --tags --abbrev=0 develop 2>/dev/null
|
|
34
|
+
|
|
35
|
+
# 3. COMPARAISONS
|
|
36
|
+
git rev-list --count main..develop 2>/dev/null # commits sur develop a publier
|
|
37
|
+
git rev-list --count develop..main 2>/dev/null # commits sur main a recuperer
|
|
38
|
+
git log develop..main --oneline 2>/dev/null # si main > 0
|
|
39
|
+
|
|
40
|
+
# Pour chaque release/*
|
|
41
|
+
git branch -a | grep release/
|
|
42
|
+
# Pour chaque: ahead/behind vs develop et main
|
|
43
|
+
|
|
44
|
+
# 4. STATUS
|
|
45
|
+
git status --porcelain
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
## Vocabulaire simplifie (IMPORTANT)
|
|
49
|
+
|
|
50
|
+
Utiliser ces termes au lieu du jargon Git:
|
|
51
|
+
- "ahead" → "a publier" ou "prets pour production"
|
|
52
|
+
- "behind" → "a recuperer" ou "manquants"
|
|
53
|
+
- "diverged" → "desynchronise"
|
|
54
|
+
- "merge" → "fusionner" ou "integrer"
|
|
55
|
+
- "branch" → "branche" (garder)
|
|
56
|
+
- "commit" → "changement" ou "modification"
|
|
57
|
+
- "tag" → "version" ou "etiquette de version"
|
|
19
58
|
|
|
20
59
|
## Output Format
|
|
21
60
|
|
|
61
|
+
Suivre le format defini dans la commande 2-status.md avec:
|
|
62
|
+
- Tableaux clairs avec bordures
|
|
63
|
+
- Legendes explicatives
|
|
64
|
+
- Actions concretes a faire
|
|
65
|
+
- Pas de jargon technique sans explication
|
|
66
|
+
|
|
67
|
+
## Generation des ACTIONS A FAIRE (CRITIQUE)
|
|
68
|
+
|
|
69
|
+
A la fin de l'affichage, TOUJOURS generer une section "ACTIONS A FAIRE" avec des commandes PRETES A COPIER-COLLER.
|
|
70
|
+
|
|
71
|
+
### Regles de generation:
|
|
72
|
+
|
|
73
|
+
1. **Analyser l'etat** et generer UNIQUEMENT les actions pertinentes
|
|
74
|
+
2. **Inclure le nom exact** de la branche/feature/release dans la commande
|
|
75
|
+
3. **Format obligatoire** - UNE commande par ligne, facilement copiable:
|
|
76
|
+
|
|
77
|
+
```
|
|
78
|
+
{emoji} {Description claire avec contexte}
|
|
79
|
+
{commande complete prete a copier}
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
**IMPORTANT**: La commande doit etre sur SA PROPRE LIGNE, sans prefixe, pour etre copiable en un clic.
|
|
83
|
+
|
|
84
|
+
### Logique de detection:
|
|
85
|
+
|
|
86
|
+
| Condition detectee | Action a proposer |
|
|
87
|
+
|--------------------|-------------------|
|
|
88
|
+
| `main → develop > 0` | `git merge main` |
|
|
89
|
+
| `develop → main > 0` | `/gitflow:start release v{next_version}` |
|
|
90
|
+
| `feature/* ahead > 0 && behind == 0` | `/gitflow:finish feature/{name}` |
|
|
91
|
+
| `feature/* behind > 5` | `/gitflow:rebase feature/{name}` |
|
|
92
|
+
| `release/* ahead == 0` | `/gitflow:cleanup release/{name}` |
|
|
93
|
+
| `git status dirty` | `/gitflow:commit "{contexte}"` |
|
|
94
|
+
| `local ahead of remote` | `/gitflow:sync {branch}` |
|
|
95
|
+
| `local behind remote` | `/gitflow:sync {branch}` |
|
|
96
|
+
| `migrations pending` | `/efcore:db-deploy` |
|
|
97
|
+
|
|
98
|
+
### Exemple de sortie:
|
|
99
|
+
|
|
22
100
|
```
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
101
|
+
══════════════════════════════════════════════════════════════════════════════
|
|
102
|
+
ACTIONS A FAIRE
|
|
103
|
+
══════════════════════════════════════════════════════════════════════════════
|
|
104
|
+
|
|
105
|
+
⚠️ Recuperer 3 commits de main dans develop
|
|
106
|
+
git merge main
|
|
107
|
+
|
|
108
|
+
🗑️ Nettoyer release/v1.5.1 (terminee, 0 commits uniques)
|
|
109
|
+
/gitflow:cleanup release/v1.5.1
|
|
110
|
+
|
|
111
|
+
🗑️ Nettoyer release/v1.4.2 (terminee, 0 commits uniques)
|
|
112
|
+
/gitflow:cleanup release/v1.4.2
|
|
113
|
+
|
|
114
|
+
══════════════════════════════════════════════════════════════════════════════
|
|
28
115
|
```
|
|
29
116
|
|
|
30
117
|
## Priority
|
|
31
118
|
|
|
32
|
-
|
|
119
|
+
Completude + Clarte > Vitesse. L'utilisateur doit comprendre TOUT l'etat du repo ET savoir exactement quoi faire ensuite.
|
|
@@ -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
|
---
|