@atlashub/smartstack-cli 1.11.0 → 1.13.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/.documentation/agents.html +7 -2
- package/.documentation/apex.html +7 -2
- package/.documentation/business-analyse.html +7 -2
- package/.documentation/cli-commands.html +871 -0
- package/.documentation/commands.html +7 -2
- package/.documentation/efcore.html +7 -2
- package/.documentation/gitflow.html +7 -2
- package/.documentation/hooks.html +7 -2
- package/.documentation/index.html +7 -2
- package/.documentation/init.html +7 -2
- package/.documentation/installation.html +7 -2
- package/.documentation/ralph-loop.html +7 -2
- package/.documentation/test-web.html +7 -2
- package/dist/index.js +1932 -336
- package/dist/index.js.map +1 -1
- package/package.json +8 -2
- package/templates/agents/efcore/squash.md +67 -31
- package/templates/agents/gitflow/finish.md +68 -56
- package/templates/commands/business-analyse/0-orchestrate.md +72 -556
- package/templates/commands/business-analyse/1-init.md +23 -193
- package/templates/commands/business-analyse/2-discover.md +85 -462
- package/templates/commands/business-analyse/3-analyse.md +40 -342
- package/templates/commands/business-analyse/4-specify.md +72 -537
- package/templates/commands/business-analyse/5-validate.md +43 -237
- package/templates/commands/business-analyse/6-handoff.md +93 -682
- package/templates/commands/business-analyse/7-doc-html.md +45 -544
- package/templates/commands/business-analyse/_shared.md +176 -0
- package/templates/commands/business-analyse/bug.md +50 -257
- package/templates/commands/business-analyse/change-request.md +59 -283
- package/templates/commands/business-analyse/hotfix.md +36 -120
- package/templates/commands/business-analyse.md +55 -574
- package/templates/commands/efcore/_shared.md +206 -0
- package/templates/commands/efcore/conflicts.md +39 -201
- package/templates/commands/efcore/db-deploy.md +28 -237
- package/templates/commands/efcore/db-reset.md +41 -390
- package/templates/commands/efcore/db-seed.md +44 -323
- package/templates/commands/efcore/db-status.md +31 -210
- package/templates/commands/efcore/migration.md +45 -368
- package/templates/commands/efcore/rebase-snapshot.md +38 -241
- package/templates/commands/efcore/scan.md +35 -204
- package/templates/commands/efcore/squash.md +158 -251
- package/templates/commands/efcore.md +49 -177
- package/templates/commands/gitflow/1-init.md +94 -1318
- package/templates/commands/gitflow/10-start.md +86 -990
- package/templates/commands/gitflow/11-finish.md +264 -454
- package/templates/commands/gitflow/12-cleanup.md +40 -213
- package/templates/commands/gitflow/2-status.md +51 -386
- package/templates/commands/gitflow/3-commit.md +108 -801
- package/templates/commands/gitflow/4-plan.md +42 -13
- package/templates/commands/gitflow/5-exec.md +60 -5
- package/templates/commands/gitflow/6-abort.md +54 -277
- package/templates/commands/gitflow/7-pull-request.md +74 -717
- package/templates/commands/gitflow/8-review.md +51 -178
- package/templates/commands/gitflow/9-merge.md +74 -404
- package/templates/commands/gitflow/_shared.md +196 -0
- package/templates/commands/quickstart.md +154 -0
- package/templates/commands/ralph-loop/ralph-loop.md +104 -2
- package/templates/hooks/hooks.json +13 -0
- package/templates/hooks/ralph-mcp-logger.sh +46 -0
- package/templates/hooks/ralph-session-end.sh +69 -0
- package/templates/ralph/README.md +91 -0
- package/templates/ralph/ralph.config.yaml +113 -0
- package/templates/scripts/setup-ralph-loop.sh +173 -0
- package/templates/skills/_shared.md +117 -0
- package/templates/skills/ai-prompt/SKILL.md +87 -654
- package/templates/skills/application/SKILL.md +76 -499
- package/templates/skills/controller/SKILL.md +38 -165
- package/templates/skills/documentation/SKILL.md +2 -1
- package/templates/skills/feature-full/SKILL.md +107 -732
- package/templates/skills/notification/SKILL.md +85 -474
- package/templates/skills/ui-components/SKILL.md +62 -762
- package/templates/skills/workflow/SKILL.md +85 -489
- package/templates/commands/gitflow/rescue.md +0 -867
- package/templates/skills/business-analyse/SKILL.md +0 -191
|
@@ -6,420 +6,110 @@ model: haiku
|
|
|
6
6
|
|
|
7
7
|
# Phase 2: STATUS - Overview
|
|
8
8
|
|
|
9
|
-
Tu es expert GitFlow et EF Core. Affiche l'etat COMPLET du projet.
|
|
10
|
-
|
|
11
9
|
---
|
|
12
10
|
|
|
13
|
-
## Informations
|
|
11
|
+
## Informations à collecter
|
|
14
12
|
|
|
15
|
-
### 1.
|
|
13
|
+
### 1. Branches
|
|
16
14
|
|
|
17
|
-
#### Toutes les branches (locales et remote)
|
|
18
15
|
```bash
|
|
19
|
-
|
|
20
|
-
git fetch --all --quiet 2>/dev/null
|
|
21
|
-
|
|
22
|
-
# Branches locales avec dernier commit
|
|
23
|
-
echo "=== BRANCHES LOCALES ==="
|
|
16
|
+
git fetch --all --quiet
|
|
24
17
|
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
18
|
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
19
|
git worktree list
|
|
33
|
-
|
|
34
|
-
# Tracking relationships
|
|
35
|
-
echo "=== TRACKING ==="
|
|
36
|
-
git branch -vv
|
|
37
20
|
```
|
|
38
21
|
|
|
39
|
-
### 2.
|
|
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
|
|
22
|
+
### 2. Tags
|
|
44
23
|
|
|
45
|
-
|
|
46
|
-
|
|
24
|
+
```bash
|
|
25
|
+
git for-each-ref --sort=-v:refname --format='%(refname:short)|%(creatordate:short)|%(subject)' refs/tags | head -5
|
|
26
|
+
# Par branche
|
|
47
27
|
for branch in main develop; do
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
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"
|
|
28
|
+
TAG=$(git describe --tags --abbrev=0 $branch 2>/dev/null || echo "none")
|
|
29
|
+
AHEAD=$(git rev-list --count $TAG..$branch 2>/dev/null || echo "0")
|
|
30
|
+
echo "$branch: $TAG (+$AHEAD)"
|
|
60
31
|
done
|
|
61
32
|
```
|
|
62
33
|
|
|
63
|
-
### 3.
|
|
64
|
-
- Branche courante et type (feature/release/hotfix/develop/main)
|
|
65
|
-
- Etat working directory (clean/dirty)
|
|
66
|
-
- Synchronisation locale vs remote (push/pull needed)
|
|
67
|
-
- Synchronisation vs develop et main (commits ahead/behind)
|
|
34
|
+
### 3. Sync local vs remote
|
|
68
35
|
|
|
69
|
-
### Sync Local vs Remote
|
|
70
36
|
```bash
|
|
71
|
-
# Fetch pour avoir les infos a jour (sans modifier le working directory)
|
|
72
|
-
git fetch --quiet 2>/dev/null
|
|
73
|
-
|
|
74
|
-
# Verifier si la branche a un remote tracking
|
|
75
37
|
UPSTREAM=$(git rev-parse --abbrev-ref @{upstream} 2>/dev/null)
|
|
76
|
-
|
|
77
|
-
if [ -n "$UPSTREAM" ]; then
|
|
78
|
-
# Comparer local vs remote
|
|
38
|
+
[ -n "$UPSTREAM" ] && {
|
|
79
39
|
LOCAL=$(git rev-parse @)
|
|
80
40
|
REMOTE=$(git rev-parse @{upstream})
|
|
81
41
|
BASE=$(git merge-base @ @{upstream})
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
BEHIND=$(git rev-list --count @..@{upstream})
|
|
87
|
-
SYNC_STATUS="BEHIND $BEHIND (pull needed)"
|
|
88
|
-
elif [ "$REMOTE" = "$BASE" ]; then
|
|
89
|
-
AHEAD=$(git rev-list --count @{upstream}..@)
|
|
90
|
-
SYNC_STATUS="AHEAD $AHEAD (push needed)"
|
|
91
|
-
else
|
|
92
|
-
AHEAD=$(git rev-list --count @{upstream}..@)
|
|
93
|
-
BEHIND=$(git rev-list --count @..@{upstream})
|
|
94
|
-
SYNC_STATUS="DIVERGED +$AHEAD/-$BEHIND (pull --rebase needed)"
|
|
95
|
-
fi
|
|
96
|
-
else
|
|
97
|
-
SYNC_STATUS="NO REMOTE (not pushed yet)"
|
|
98
|
-
fi
|
|
42
|
+
[ "$LOCAL" = "$REMOTE" ] && echo "UP-TO-DATE"
|
|
43
|
+
[ "$LOCAL" = "$BASE" ] && echo "BEHIND $(git rev-list --count @..@{upstream})"
|
|
44
|
+
[ "$REMOTE" = "$BASE" ] && echo "AHEAD $(git rev-list --count @{upstream}..@)"
|
|
45
|
+
}
|
|
99
46
|
```
|
|
100
47
|
|
|
101
|
-
### 4.
|
|
48
|
+
### 4. develop vs main (CRITIQUE)
|
|
102
49
|
|
|
103
50
|
```bash
|
|
104
|
-
# === DEVELOP vs MAIN ===
|
|
105
|
-
echo "=== DEVELOP vs MAIN ==="
|
|
106
|
-
|
|
107
|
-
# Commits sur develop absents de main (normal - a releaser)
|
|
108
51
|
DEVELOP_AHEAD=$(git rev-list --count main..develop 2>/dev/null || echo "0")
|
|
109
|
-
|
|
110
|
-
# Commits sur main absents de develop (ANORMAL - hotfix non merge back?)
|
|
111
52
|
MAIN_AHEAD=$(git rev-list --count develop..main 2>/dev/null || echo "0")
|
|
112
53
|
|
|
113
|
-
echo "develop → main: +$DEVELOP_AHEAD
|
|
114
|
-
echo "main → develop: +$MAIN_AHEAD
|
|
115
|
-
|
|
116
|
-
# Determiner l'etat de synchronisation
|
|
117
|
-
if [ "$DEVELOP_AHEAD" -eq 0 ] && [ "$MAIN_AHEAD" -eq 0 ]; then
|
|
118
|
-
echo "STATUS: SYNCHRONIZED ✓"
|
|
119
|
-
elif [ "$MAIN_AHEAD" -gt 0 ]; then
|
|
120
|
-
echo "STATUS: DIVERGED ⚠️ (main a des commits non merges dans develop)"
|
|
121
|
-
elif [ "$DEVELOP_AHEAD" -gt 0 ]; then
|
|
122
|
-
echo "STATUS: RELEASE_NEEDED (normal)"
|
|
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
|
|
54
|
+
echo "develop → main: +$DEVELOP_AHEAD (à releaser)"
|
|
55
|
+
echo "main → develop: +$MAIN_AHEAD"
|
|
56
|
+
[ "$MAIN_AHEAD" -gt 0 ] && echo "⚠️ DIVERGENCE: main a commits non mergés dans develop"
|
|
171
57
|
```
|
|
172
58
|
|
|
173
|
-
|
|
174
|
-
```bash
|
|
175
|
-
echo "=== COMMITS MANQUANTS DANS DEVELOP ==="
|
|
176
|
-
git log develop..main --oneline
|
|
177
|
-
```
|
|
59
|
+
### 5. Version
|
|
178
60
|
|
|
179
|
-
### Version
|
|
180
|
-
Read from configured source in [.claude/gitflow/config.json](.claude/gitflow/config.json):
|
|
181
|
-
- `versioning.source` → type (csproj, Directory.Build.props, AssemblyInfo, VERSION, git-tag, package.json)
|
|
182
|
-
- `versioning.sourceFile` → file path
|
|
183
|
-
- Read current version from THAT file (not from config.json)
|
|
184
|
-
|
|
185
|
-
Fallback si pas de config:
|
|
186
61
|
```bash
|
|
187
|
-
# package.json
|
|
188
62
|
VERSION=$(grep '"version"' package.json 2>/dev/null | head -1 | sed 's/.*: "\(.*\)".*/\1/')
|
|
189
|
-
# .csproj
|
|
190
63
|
[ -z "$VERSION" ] && VERSION=$(grep -oP '(?<=<Version>).*(?=</Version>)' *.csproj 2>/dev/null | head -1)
|
|
191
|
-
# VERSION file
|
|
192
|
-
[ -z "$VERSION" ] && VERSION=$(cat VERSION 2>/dev/null)
|
|
193
|
-
# Git tag
|
|
194
64
|
[ -z "$VERSION" ] && VERSION=$(git describe --tags --abbrev=0 2>/dev/null)
|
|
195
65
|
```
|
|
196
66
|
|
|
197
|
-
### EF Core
|
|
198
|
-
- Lister les migrations (total et pending)
|
|
199
|
-
- Lister les DbContext detectes
|
|
200
|
-
|
|
201
|
-
### EF Core - Vue globale (toutes branches)
|
|
202
|
-
Si `--all-branches` ou si plusieurs branches GitFlow actives:
|
|
203
|
-
```bash
|
|
204
|
-
# Scanner les branches actives
|
|
205
|
-
FEATURES=$(git branch -r | grep 'feature/' | wc -l)
|
|
206
|
-
RELEASES=$(git branch -r | grep 'release/' | wc -l)
|
|
207
|
-
HOTFIXES=$(git branch -r | grep 'hotfix/' | wc -l)
|
|
208
|
-
|
|
209
|
-
# Pour chaque branche, detecter migrations ajoutees
|
|
210
|
-
for BRANCH in $(git branch -r | grep -E 'feature/|release/|hotfix/'); do
|
|
211
|
-
MIGRATIONS=$(git diff origin/develop..$BRANCH --name-only | grep -E "Migrations/.*\.cs$" | grep -v Designer | grep -v ModelSnapshot)
|
|
212
|
-
CONFLICT=$(git diff origin/develop..$BRANCH --name-only | grep "ModelSnapshot" | wc -l)
|
|
213
|
-
done
|
|
214
|
-
```
|
|
67
|
+
### 6. EF Core
|
|
215
68
|
|
|
216
|
-
|
|
217
|
-
- Plans actifs (non termines)
|
|
218
|
-
- Plans termines recemment (7 jours)
|
|
219
|
-
|
|
220
|
-
### Operations en cours
|
|
221
|
-
- Rebase, merge, cherry-pick en cours?
|
|
222
|
-
- Conflits detectes?
|
|
223
|
-
|
|
224
|
-
### Risques
|
|
225
|
-
- **Divergence main/develop** (main a des commits absents de develop)
|
|
226
|
-
- Divergence > 5 commits vs develop
|
|
227
|
-
- Migrations non commitees
|
|
228
|
-
- ModelSnapshot modifie non commite
|
|
69
|
+
Migrations: total, pending, branches avec migrations, conflits potentiels
|
|
229
70
|
|
|
230
71
|
---
|
|
231
72
|
|
|
232
73
|
## Affichage
|
|
233
74
|
|
|
234
75
|
```
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
╚══════════════════════════════════════════════════════════════════════════════╝
|
|
238
|
-
|
|
76
|
+
GITFLOW STATUS
|
|
77
|
+
──────────────────────────────────
|
|
239
78
|
BRANCHE: {branch} ({type}) | {clean|dirty}
|
|
240
79
|
VERSION: {version} ({source})
|
|
241
|
-
REMOTE: {UP-TO-DATE|AHEAD N|BEHIND N|DIVERGED
|
|
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
|
-
└──────────────────────────────────────────────────────────────────────────────┘
|
|
283
|
-
|
|
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
|
-
└──────────────────────────────────────────────────────────────────────────────┘
|
|
324
|
-
|
|
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
|
-
└──────────────────────────────────────────────────────────────────────────────┘
|
|
342
|
-
|
|
343
|
-
PLANS: {n} active | OPERATIONS: {none|rebase|merge} | RISKS: {liste}
|
|
344
|
-
|
|
345
|
-
══════════════════════════════════════════════════════════════════════════════
|
|
346
|
-
ACTIONS A FAIRE
|
|
347
|
-
══════════════════════════════════════════════════════════════════════════════
|
|
80
|
+
REMOTE: {UP-TO-DATE|AHEAD N|BEHIND N|DIVERGED}
|
|
348
81
|
|
|
349
|
-
{
|
|
350
|
-
{
|
|
82
|
+
BRANCHES: {n} locales | {n} remote | {n} worktrees
|
|
83
|
+
TAGS: {n} total | main: {tag} | develop: {tag}
|
|
351
84
|
|
|
352
|
-
|
|
85
|
+
DEVELOP vs MAIN
|
|
86
|
+
develop: {N} commits à publier
|
|
87
|
+
main: {N} commits à récupérer
|
|
88
|
+
STATUS: {SYNCHRONIZED|RELEASE_NEEDED|DIVERGED ⚠️}
|
|
353
89
|
|
|
354
|
-
|
|
355
|
-
|
|
90
|
+
{Si DIVERGED:}
|
|
91
|
+
⚠️ Commits sur main non présents sur develop:
|
|
92
|
+
{hash} {message}
|
|
93
|
+
→ ACTION: git checkout develop && git merge origin/main
|
|
356
94
|
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
/gitflow:finish feature/add-users
|
|
362
|
-
|
|
363
|
-
↻ Mettre a jour feature/add-orders (15 commits a recuperer de develop)
|
|
364
|
-
/gitflow:rebase feature/add-orders
|
|
365
|
-
|
|
366
|
-
🗑️ Nettoyer release/v1.5.1 (terminee, supprimable)
|
|
367
|
-
/gitflow:cleanup release/v1.5.1
|
|
368
|
-
|
|
369
|
-
🗑️ Nettoyer release/v1.4.2 (terminee, supprimable)
|
|
370
|
-
/gitflow:cleanup release/v1.4.2
|
|
371
|
-
|
|
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
|
|
377
|
-
|
|
378
|
-
══════════════════════════════════════════════════════════════════════════════
|
|
95
|
+
FEATURES: {n} actives
|
|
96
|
+
RELEASES: {n} en cours
|
|
97
|
+
EF CORE: {N} migrations | {N} pending | Conflits: {OUI/NON}
|
|
98
|
+
──────────────────────────────────
|
|
379
99
|
```
|
|
380
100
|
|
|
381
101
|
---
|
|
382
102
|
|
|
383
|
-
##
|
|
384
|
-
|
|
385
|
-
### Alerte: main divergent de develop
|
|
103
|
+
## Actions suggérées
|
|
386
104
|
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
║ ... ║
|
|
396
|
-
║ ║
|
|
397
|
-
╠══════════════════════════════════════════════════════════════════════════════╣
|
|
398
|
-
║ RESOLUTIONS: ║
|
|
399
|
-
║ ║
|
|
400
|
-
║ Option 1 - Merger main dans develop (recommande): ║
|
|
401
|
-
║ git checkout develop && git merge origin/main ║
|
|
402
|
-
║ ║
|
|
403
|
-
║ Option 2 - Via la prochaine release: ║
|
|
404
|
-
║ /gitflow:10-start release ║
|
|
405
|
-
║ (La release peut reset main si necessaire) ║
|
|
406
|
-
║ ║
|
|
407
|
-
║ Option 3 - Cherry-pick selectif: ║
|
|
408
|
-
║ git cherry-pick {hash} ║
|
|
409
|
-
║ ║
|
|
410
|
-
╚══════════════════════════════════════════════════════════════════════════════╝
|
|
411
|
-
```
|
|
412
|
-
|
|
413
|
-
### Alerte: Release recommandee
|
|
414
|
-
|
|
415
|
-
```
|
|
416
|
-
┌──────────────────────────────────────────────────────────────────────────────┐
|
|
417
|
-
│ ℹ️ RELEASE RECOMMANDEE │
|
|
418
|
-
├──────────────────────────────────────────────────────────────────────────────┤
|
|
419
|
-
│ develop a {N} commits en avance de main. │
|
|
420
|
-
│ → /gitflow:10-start release │
|
|
421
|
-
└──────────────────────────────────────────────────────────────────────────────┘
|
|
422
|
-
```
|
|
105
|
+
| État | Commande |
|
|
106
|
+
|------|----------|
|
|
107
|
+
| AHEAD (push needed) | `/gitflow:13-sync` |
|
|
108
|
+
| BEHIND (pull needed) | `/gitflow:13-sync` |
|
|
109
|
+
| main ahead of develop | `git merge origin/main` |
|
|
110
|
+
| develop ahead of main | `/gitflow:10-start release` |
|
|
111
|
+
| Pending migrations | `/efcore:db-deploy` |
|
|
112
|
+
| Dirty workdir | `/gitflow:3-commit` |
|
|
423
113
|
|
|
424
114
|
---
|
|
425
115
|
|
|
@@ -428,30 +118,5 @@ git merge main
|
|
|
428
118
|
| Mode | Output |
|
|
429
119
|
|------|--------|
|
|
430
120
|
| Normal | Affichage complet |
|
|
431
|
-
| `--short` | `[branch] status \| vX.Y.Z \| dev→main:+X
|
|
432
|
-
| `--json` | JSON
|
|
433
|
-
|
|
434
|
-
## Codes sortie
|
|
435
|
-
|
|
436
|
-
| Code | Signification |
|
|
437
|
-
|------|---------------|
|
|
438
|
-
| 0 | OK (synchronise ou release needed) |
|
|
439
|
-
| 1 | Warnings (pending, release recommandee) |
|
|
440
|
-
| 2 | Problemes (divergence main/develop, conflits, operation en cours) |
|
|
441
|
-
| 3 | Erreur (pas repo, no config) |
|
|
442
|
-
|
|
443
|
-
## Actions suggerees
|
|
444
|
-
|
|
445
|
-
| Etat | Commande Claude Code |
|
|
446
|
-
|------|----------------------|
|
|
447
|
-
| AHEAD N (push needed) | `/gitflow:13-sync` |
|
|
448
|
-
| BEHIND N (pull needed) | `/gitflow:13-sync` |
|
|
449
|
-
| DIVERGED local/remote | `/gitflow:13-sync` |
|
|
450
|
-
| NO REMOTE (not pushed yet) | `/gitflow:13-sync` |
|
|
451
|
-
| **main ahead of develop** | `git merge origin/main` ou `/gitflow:10-start release` |
|
|
452
|
-
| develop ahead of main | `/gitflow:10-start release` |
|
|
453
|
-
| Divergence > 5 vs develop | `/gitflow:14-rebase` |
|
|
454
|
-
| Pending migrations | `/efcore:db-deploy` |
|
|
455
|
-
| Dirty workdir | `/gitflow:3-commit` |
|
|
456
|
-
| Operation en cours | `/gitflow:6-abort` |
|
|
457
|
-
| No config | `/gitflow:1-init` |
|
|
121
|
+
| `--short` | `[branch] status \| vX.Y.Z \| dev→main:+X` |
|
|
122
|
+
| `--json` | JSON structuré |
|