@atlashub/smartstack-cli 1.4.1 → 1.5.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/agents.html +916 -916
- package/.documentation/apex.html +1018 -1018
- package/.documentation/business-analyse.html +1501 -1501
- package/.documentation/commands.html +680 -680
- package/.documentation/css/styles.css +2168 -2168
- package/.documentation/efcore.html +2505 -2505
- package/.documentation/gitflow.html +2618 -2618
- package/.documentation/hooks.html +413 -413
- package/.documentation/index.html +323 -323
- package/.documentation/installation.html +462 -462
- package/.documentation/js/app.js +794 -794
- package/.documentation/test-web.html +513 -513
- package/dist/index.js +807 -277
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/templates/agents/efcore/conflicts.md +44 -17
- package/templates/agents/efcore/db-status.md +27 -6
- package/templates/agents/efcore/scan.md +43 -13
- package/templates/commands/ai-prompt.md +315 -315
- package/templates/commands/application/create.md +362 -362
- package/templates/commands/controller/create.md +216 -216
- package/templates/commands/controller.md +59 -0
- package/templates/commands/documentation/module.md +202 -202
- package/templates/commands/efcore/_env-check.md +153 -153
- package/templates/commands/efcore/conflicts.md +109 -192
- package/templates/commands/efcore/db-status.md +101 -89
- package/templates/commands/efcore/migration.md +23 -11
- package/templates/commands/efcore/scan.md +115 -119
- package/templates/commands/efcore.md +54 -6
- package/templates/commands/feature-full.md +267 -267
- package/templates/commands/gitflow/11-finish.md +145 -11
- package/templates/commands/gitflow/13-sync.md +216 -216
- package/templates/commands/gitflow/14-rebase.md +251 -251
- package/templates/commands/gitflow/2-status.md +120 -10
- package/templates/commands/gitflow/3-commit.md +150 -0
- package/templates/commands/gitflow/7-pull-request.md +134 -5
- package/templates/commands/gitflow/9-merge.md +142 -1
- package/templates/commands/implement.md +663 -663
- package/templates/commands/init.md +562 -0
- package/templates/commands/mcp-integration.md +330 -0
- package/templates/commands/notification.md +129 -129
- package/templates/commands/validate.md +233 -0
- package/templates/commands/workflow.md +193 -193
- package/templates/skills/ai-prompt/SKILL.md +778 -778
- package/templates/skills/application/SKILL.md +563 -563
- package/templates/skills/application/templates-backend.md +450 -450
- package/templates/skills/application/templates-frontend.md +531 -531
- package/templates/skills/application/templates-i18n.md +520 -520
- package/templates/skills/application/templates-seed.md +647 -647
- package/templates/skills/controller/SKILL.md +240 -240
- package/templates/skills/controller/postman-templates.md +614 -614
- package/templates/skills/controller/templates.md +1468 -1468
- package/templates/skills/documentation/SKILL.md +133 -133
- package/templates/skills/documentation/templates.md +476 -476
- package/templates/skills/feature-full/SKILL.md +838 -838
- package/templates/skills/notification/SKILL.md +555 -555
- package/templates/skills/ui-components/SKILL.md +870 -870
- package/templates/skills/workflow/SKILL.md +582 -582
|
@@ -1,251 +1,251 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: Phase 14 - Rebase current branch on develop (or specified base)
|
|
3
|
-
agent: gitflow-status
|
|
4
|
-
model: haiku
|
|
5
|
-
argument-hint: "[base-branch]"
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
# Phase 14: REBASE - Rebase on Base Branch
|
|
9
|
-
|
|
10
|
-
Rebase la branche courante sur develop (ou une autre branche specifiee).
|
|
11
|
-
|
|
12
|
-
**Usage:**
|
|
13
|
-
- `/gitflow:14-rebase` - Rebase sur develop (default)
|
|
14
|
-
- `/gitflow:14-rebase main` - Rebase sur main
|
|
15
|
-
- `/gitflow:14-rebase feature/other` - Rebase sur une autre feature
|
|
16
|
-
|
|
17
|
-
---
|
|
18
|
-
|
|
19
|
-
## STEP 1: Verification pre-rebase
|
|
20
|
-
|
|
21
|
-
```bash
|
|
22
|
-
BRANCH=$(git branch --show-current)
|
|
23
|
-
BASE_BRANCH="${1:-develop}"
|
|
24
|
-
|
|
25
|
-
echo "Branche courante: $BRANCH"
|
|
26
|
-
echo "Branche cible: $BASE_BRANCH"
|
|
27
|
-
|
|
28
|
-
# Verifier working directory clean
|
|
29
|
-
if [ -n "$(git status --porcelain)" ]; then
|
|
30
|
-
echo "ERROR: Working directory not clean"
|
|
31
|
-
git status --short
|
|
32
|
-
exit 1
|
|
33
|
-
fi
|
|
34
|
-
|
|
35
|
-
# Verifier que la branche cible existe
|
|
36
|
-
if ! git rev-parse --verify "$BASE_BRANCH" >/dev/null 2>&1; then
|
|
37
|
-
echo "ERROR: Branch '$BASE_BRANCH' does not exist"
|
|
38
|
-
exit 1
|
|
39
|
-
fi
|
|
40
|
-
```
|
|
41
|
-
|
|
42
|
-
---
|
|
43
|
-
|
|
44
|
-
## STEP 2: Fetch et analyse divergence
|
|
45
|
-
|
|
46
|
-
```bash
|
|
47
|
-
git fetch --quiet 2>/dev/null
|
|
48
|
-
|
|
49
|
-
# Calculer divergence
|
|
50
|
-
AHEAD=$(git rev-list --count "$BASE_BRANCH".."$BRANCH")
|
|
51
|
-
BEHIND=$(git rev-list --count "$BRANCH".."$BASE_BRANCH")
|
|
52
|
-
|
|
53
|
-
echo ""
|
|
54
|
-
echo "Divergence vs $BASE_BRANCH:"
|
|
55
|
-
echo " Commits ahead: $AHEAD"
|
|
56
|
-
echo " Commits behind: $BEHIND"
|
|
57
|
-
|
|
58
|
-
if [ "$BEHIND" -eq 0 ]; then
|
|
59
|
-
echo ""
|
|
60
|
-
echo "Already up-to-date with $BASE_BRANCH"
|
|
61
|
-
fi
|
|
62
|
-
```
|
|
63
|
-
|
|
64
|
-
---
|
|
65
|
-
|
|
66
|
-
## STEP 3: Confirmation
|
|
67
|
-
|
|
68
|
-
```javascript
|
|
69
|
-
AskUserQuestion({
|
|
70
|
-
questions: [{
|
|
71
|
-
question: "Rebase {branch} on {base_branch}? ({ahead} commits will be replayed)",
|
|
72
|
-
header: "Rebase",
|
|
73
|
-
options: [
|
|
74
|
-
{ label: "Yes, rebase", description: "Replay commits on top of {base_branch}" },
|
|
75
|
-
{ label: "No, cancel", description: "Keep current state" }
|
|
76
|
-
],
|
|
77
|
-
multiSelect: false
|
|
78
|
-
}]
|
|
79
|
-
})
|
|
80
|
-
```
|
|
81
|
-
|
|
82
|
-
**Si No -> Stop**
|
|
83
|
-
|
|
84
|
-
---
|
|
85
|
-
|
|
86
|
-
## STEP 4: Check EF Core migrations (si applicable)
|
|
87
|
-
|
|
88
|
-
```bash
|
|
89
|
-
# Detecter si des migrations sont impliquees
|
|
90
|
-
MIGRATIONS_IN_BRANCH=$(git diff "$BASE_BRANCH"..."$BRANCH" --name-only | grep -E "Migrations/.*\.cs$" | grep -v Designer | wc -l)
|
|
91
|
-
SNAPSHOT_MODIFIED=$(git diff "$BASE_BRANCH"..."$BRANCH" --name-only | grep "ModelSnapshot.cs" | wc -l)
|
|
92
|
-
|
|
93
|
-
if [ "$MIGRATIONS_IN_BRANCH" -gt 0 ] || [ "$SNAPSHOT_MODIFIED" -gt 0 ]; then
|
|
94
|
-
echo ""
|
|
95
|
-
echo "WARNING: EF Core migrations detected in this branch!"
|
|
96
|
-
echo " Migrations: $MIGRATIONS_IN_BRANCH"
|
|
97
|
-
echo " ModelSnapshot modified: $SNAPSHOT_MODIFIED"
|
|
98
|
-
fi
|
|
99
|
-
```
|
|
100
|
-
|
|
101
|
-
Si migrations detectees:
|
|
102
|
-
|
|
103
|
-
```javascript
|
|
104
|
-
AskUserQuestion({
|
|
105
|
-
questions: [{
|
|
106
|
-
question: "EF Core migrations detected. Rebase may cause ModelSnapshot conflicts. Continue?",
|
|
107
|
-
header: "EF Core",
|
|
108
|
-
options: [
|
|
109
|
-
{ label: "Continue rebase", description: "I'll handle migration conflicts manually" },
|
|
110
|
-
{ label: "Use /efcore:rebase-snapshot", description: "Specialized command for EF Core rebase" },
|
|
111
|
-
{ label: "Cancel", description: "Review migrations first" }
|
|
112
|
-
],
|
|
113
|
-
multiSelect: false
|
|
114
|
-
}]
|
|
115
|
-
})
|
|
116
|
-
```
|
|
117
|
-
|
|
118
|
-
**Si "Use /efcore:rebase-snapshot" -> Redirect:**
|
|
119
|
-
```
|
|
120
|
-
Utilisez la commande specialisee:
|
|
121
|
-
|
|
122
|
-
/efcore:rebase-snapshot
|
|
123
|
-
|
|
124
|
-
Cette commande gere automatiquement:
|
|
125
|
-
- Regeneration du ModelSnapshot
|
|
126
|
-
- Resolution des conflits de migration
|
|
127
|
-
- Validation post-rebase
|
|
128
|
-
```
|
|
129
|
-
|
|
130
|
-
---
|
|
131
|
-
|
|
132
|
-
## STEP 5: Execute rebase
|
|
133
|
-
|
|
134
|
-
```bash
|
|
135
|
-
echo "Starting rebase..."
|
|
136
|
-
|
|
137
|
-
git rebase "$BASE_BRANCH"
|
|
138
|
-
|
|
139
|
-
if [ $? -ne 0 ]; then
|
|
140
|
-
echo ""
|
|
141
|
-
echo "================================================================================
|
|
142
|
-
REBASE CONFLICTS DETECTED
|
|
143
|
-
================================================================================"
|
|
144
|
-
echo ""
|
|
145
|
-
echo "Des conflits ont ete detectes. Pour les resoudre:"
|
|
146
|
-
echo ""
|
|
147
|
-
echo " 1. Editez les fichiers en conflit"
|
|
148
|
-
echo " 2. git add <fichiers resolus>"
|
|
149
|
-
echo " 3. git rebase --continue"
|
|
150
|
-
echo ""
|
|
151
|
-
echo "Pour annuler le rebase:"
|
|
152
|
-
echo " git rebase --abort"
|
|
153
|
-
echo " ou /gitflow:6-abort"
|
|
154
|
-
echo ""
|
|
155
|
-
exit 1
|
|
156
|
-
fi
|
|
157
|
-
```
|
|
158
|
-
|
|
159
|
-
---
|
|
160
|
-
|
|
161
|
-
## STEP 6: Push avec force-with-lease
|
|
162
|
-
|
|
163
|
-
```bash
|
|
164
|
-
UPSTREAM=$(git rev-parse --abbrev-ref @{upstream} 2>/dev/null)
|
|
165
|
-
|
|
166
|
-
if [ -n "$UPSTREAM" ]; then
|
|
167
|
-
echo ""
|
|
168
|
-
echo "La branche a ete rebasee. Un force push est necessaire."
|
|
169
|
-
fi
|
|
170
|
-
```
|
|
171
|
-
|
|
172
|
-
```javascript
|
|
173
|
-
AskUserQuestion({
|
|
174
|
-
questions: [{
|
|
175
|
-
question: "Push rebased branch to remote? (requires force push)",
|
|
176
|
-
header: "Push",
|
|
177
|
-
options: [
|
|
178
|
-
{ label: "Yes, force push", description: "git push --force-with-lease (safe)" },
|
|
179
|
-
{ label: "No, later", description: "Push manually when ready" }
|
|
180
|
-
],
|
|
181
|
-
multiSelect: false
|
|
182
|
-
}]
|
|
183
|
-
})
|
|
184
|
-
```
|
|
185
|
-
|
|
186
|
-
**Si Yes:**
|
|
187
|
-
```bash
|
|
188
|
-
git push --force-with-lease
|
|
189
|
-
|
|
190
|
-
if [ $? -eq 0 ]; then
|
|
191
|
-
echo "Force push successful"
|
|
192
|
-
else
|
|
193
|
-
echo "ERROR: Force push failed (remote may have new commits)"
|
|
194
|
-
echo "Retry with: git push --force-with-lease"
|
|
195
|
-
fi
|
|
196
|
-
```
|
|
197
|
-
|
|
198
|
-
---
|
|
199
|
-
|
|
200
|
-
## STEP 7: Summary
|
|
201
|
-
|
|
202
|
-
```
|
|
203
|
-
================================================================================
|
|
204
|
-
REBASE COMPLETE
|
|
205
|
-
================================================================================
|
|
206
|
-
|
|
207
|
-
Branche: {branch}
|
|
208
|
-
Rebase sur: {base_branch}
|
|
209
|
-
Commits: {ahead} replayed
|
|
210
|
-
Push: {done|pending}
|
|
211
|
-
|
|
212
|
-
DIVERGENCE APRES REBASE:
|
|
213
|
-
vs {base_branch}: +{ahead}/-0
|
|
214
|
-
|
|
215
|
-
{Si EF Core:}
|
|
216
|
-
NEXT: Verifiez les migrations avec /efcore:db-status
|
|
217
|
-
|
|
218
|
-
================================================================================
|
|
219
|
-
Actions: /gitflow:2-status | /gitflow:13-sync | /gitflow:3-commit
|
|
220
|
-
================================================================================
|
|
221
|
-
```
|
|
222
|
-
|
|
223
|
-
---
|
|
224
|
-
|
|
225
|
-
## Codes sortie
|
|
226
|
-
|
|
227
|
-
| Code | Signification |
|
|
228
|
-
|------|---------------|
|
|
229
|
-
| 0 | Rebase reussi |
|
|
230
|
-
| 1 | Conflits (rebase en cours) |
|
|
231
|
-
| 2 | Working directory dirty |
|
|
232
|
-
| 3 | Branche cible inexistante |
|
|
233
|
-
|
|
234
|
-
---
|
|
235
|
-
|
|
236
|
-
## Recovery si conflits
|
|
237
|
-
|
|
238
|
-
Si le rebase echoue avec des conflits:
|
|
239
|
-
|
|
240
|
-
```bash
|
|
241
|
-
# Option 1: Resoudre manuellement
|
|
242
|
-
# Editez les fichiers, puis:
|
|
243
|
-
git add .
|
|
244
|
-
git rebase --continue
|
|
245
|
-
|
|
246
|
-
# Option 2: Annuler completement
|
|
247
|
-
git rebase --abort
|
|
248
|
-
|
|
249
|
-
# Option 3: Via Claude Code
|
|
250
|
-
/gitflow:6-abort
|
|
251
|
-
```
|
|
1
|
+
---
|
|
2
|
+
description: Phase 14 - Rebase current branch on develop (or specified base)
|
|
3
|
+
agent: gitflow-status
|
|
4
|
+
model: haiku
|
|
5
|
+
argument-hint: "[base-branch]"
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Phase 14: REBASE - Rebase on Base Branch
|
|
9
|
+
|
|
10
|
+
Rebase la branche courante sur develop (ou une autre branche specifiee).
|
|
11
|
+
|
|
12
|
+
**Usage:**
|
|
13
|
+
- `/gitflow:14-rebase` - Rebase sur develop (default)
|
|
14
|
+
- `/gitflow:14-rebase main` - Rebase sur main
|
|
15
|
+
- `/gitflow:14-rebase feature/other` - Rebase sur une autre feature
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## STEP 1: Verification pre-rebase
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
BRANCH=$(git branch --show-current)
|
|
23
|
+
BASE_BRANCH="${1:-develop}"
|
|
24
|
+
|
|
25
|
+
echo "Branche courante: $BRANCH"
|
|
26
|
+
echo "Branche cible: $BASE_BRANCH"
|
|
27
|
+
|
|
28
|
+
# Verifier working directory clean
|
|
29
|
+
if [ -n "$(git status --porcelain)" ]; then
|
|
30
|
+
echo "ERROR: Working directory not clean"
|
|
31
|
+
git status --short
|
|
32
|
+
exit 1
|
|
33
|
+
fi
|
|
34
|
+
|
|
35
|
+
# Verifier que la branche cible existe
|
|
36
|
+
if ! git rev-parse --verify "$BASE_BRANCH" >/dev/null 2>&1; then
|
|
37
|
+
echo "ERROR: Branch '$BASE_BRANCH' does not exist"
|
|
38
|
+
exit 1
|
|
39
|
+
fi
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
---
|
|
43
|
+
|
|
44
|
+
## STEP 2: Fetch et analyse divergence
|
|
45
|
+
|
|
46
|
+
```bash
|
|
47
|
+
git fetch --quiet 2>/dev/null
|
|
48
|
+
|
|
49
|
+
# Calculer divergence
|
|
50
|
+
AHEAD=$(git rev-list --count "$BASE_BRANCH".."$BRANCH")
|
|
51
|
+
BEHIND=$(git rev-list --count "$BRANCH".."$BASE_BRANCH")
|
|
52
|
+
|
|
53
|
+
echo ""
|
|
54
|
+
echo "Divergence vs $BASE_BRANCH:"
|
|
55
|
+
echo " Commits ahead: $AHEAD"
|
|
56
|
+
echo " Commits behind: $BEHIND"
|
|
57
|
+
|
|
58
|
+
if [ "$BEHIND" -eq 0 ]; then
|
|
59
|
+
echo ""
|
|
60
|
+
echo "Already up-to-date with $BASE_BRANCH"
|
|
61
|
+
fi
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
---
|
|
65
|
+
|
|
66
|
+
## STEP 3: Confirmation
|
|
67
|
+
|
|
68
|
+
```javascript
|
|
69
|
+
AskUserQuestion({
|
|
70
|
+
questions: [{
|
|
71
|
+
question: "Rebase {branch} on {base_branch}? ({ahead} commits will be replayed)",
|
|
72
|
+
header: "Rebase",
|
|
73
|
+
options: [
|
|
74
|
+
{ label: "Yes, rebase", description: "Replay commits on top of {base_branch}" },
|
|
75
|
+
{ label: "No, cancel", description: "Keep current state" }
|
|
76
|
+
],
|
|
77
|
+
multiSelect: false
|
|
78
|
+
}]
|
|
79
|
+
})
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
**Si No -> Stop**
|
|
83
|
+
|
|
84
|
+
---
|
|
85
|
+
|
|
86
|
+
## STEP 4: Check EF Core migrations (si applicable)
|
|
87
|
+
|
|
88
|
+
```bash
|
|
89
|
+
# Detecter si des migrations sont impliquees
|
|
90
|
+
MIGRATIONS_IN_BRANCH=$(git diff "$BASE_BRANCH"..."$BRANCH" --name-only | grep -E "Migrations/.*\.cs$" | grep -v Designer | wc -l)
|
|
91
|
+
SNAPSHOT_MODIFIED=$(git diff "$BASE_BRANCH"..."$BRANCH" --name-only | grep "ModelSnapshot.cs" | wc -l)
|
|
92
|
+
|
|
93
|
+
if [ "$MIGRATIONS_IN_BRANCH" -gt 0 ] || [ "$SNAPSHOT_MODIFIED" -gt 0 ]; then
|
|
94
|
+
echo ""
|
|
95
|
+
echo "WARNING: EF Core migrations detected in this branch!"
|
|
96
|
+
echo " Migrations: $MIGRATIONS_IN_BRANCH"
|
|
97
|
+
echo " ModelSnapshot modified: $SNAPSHOT_MODIFIED"
|
|
98
|
+
fi
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
Si migrations detectees:
|
|
102
|
+
|
|
103
|
+
```javascript
|
|
104
|
+
AskUserQuestion({
|
|
105
|
+
questions: [{
|
|
106
|
+
question: "EF Core migrations detected. Rebase may cause ModelSnapshot conflicts. Continue?",
|
|
107
|
+
header: "EF Core",
|
|
108
|
+
options: [
|
|
109
|
+
{ label: "Continue rebase", description: "I'll handle migration conflicts manually" },
|
|
110
|
+
{ label: "Use /efcore:rebase-snapshot", description: "Specialized command for EF Core rebase" },
|
|
111
|
+
{ label: "Cancel", description: "Review migrations first" }
|
|
112
|
+
],
|
|
113
|
+
multiSelect: false
|
|
114
|
+
}]
|
|
115
|
+
})
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
**Si "Use /efcore:rebase-snapshot" -> Redirect:**
|
|
119
|
+
```
|
|
120
|
+
Utilisez la commande specialisee:
|
|
121
|
+
|
|
122
|
+
/efcore:rebase-snapshot
|
|
123
|
+
|
|
124
|
+
Cette commande gere automatiquement:
|
|
125
|
+
- Regeneration du ModelSnapshot
|
|
126
|
+
- Resolution des conflits de migration
|
|
127
|
+
- Validation post-rebase
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
---
|
|
131
|
+
|
|
132
|
+
## STEP 5: Execute rebase
|
|
133
|
+
|
|
134
|
+
```bash
|
|
135
|
+
echo "Starting rebase..."
|
|
136
|
+
|
|
137
|
+
git rebase "$BASE_BRANCH"
|
|
138
|
+
|
|
139
|
+
if [ $? -ne 0 ]; then
|
|
140
|
+
echo ""
|
|
141
|
+
echo "================================================================================
|
|
142
|
+
REBASE CONFLICTS DETECTED
|
|
143
|
+
================================================================================"
|
|
144
|
+
echo ""
|
|
145
|
+
echo "Des conflits ont ete detectes. Pour les resoudre:"
|
|
146
|
+
echo ""
|
|
147
|
+
echo " 1. Editez les fichiers en conflit"
|
|
148
|
+
echo " 2. git add <fichiers resolus>"
|
|
149
|
+
echo " 3. git rebase --continue"
|
|
150
|
+
echo ""
|
|
151
|
+
echo "Pour annuler le rebase:"
|
|
152
|
+
echo " git rebase --abort"
|
|
153
|
+
echo " ou /gitflow:6-abort"
|
|
154
|
+
echo ""
|
|
155
|
+
exit 1
|
|
156
|
+
fi
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
---
|
|
160
|
+
|
|
161
|
+
## STEP 6: Push avec force-with-lease
|
|
162
|
+
|
|
163
|
+
```bash
|
|
164
|
+
UPSTREAM=$(git rev-parse --abbrev-ref @{upstream} 2>/dev/null)
|
|
165
|
+
|
|
166
|
+
if [ -n "$UPSTREAM" ]; then
|
|
167
|
+
echo ""
|
|
168
|
+
echo "La branche a ete rebasee. Un force push est necessaire."
|
|
169
|
+
fi
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
```javascript
|
|
173
|
+
AskUserQuestion({
|
|
174
|
+
questions: [{
|
|
175
|
+
question: "Push rebased branch to remote? (requires force push)",
|
|
176
|
+
header: "Push",
|
|
177
|
+
options: [
|
|
178
|
+
{ label: "Yes, force push", description: "git push --force-with-lease (safe)" },
|
|
179
|
+
{ label: "No, later", description: "Push manually when ready" }
|
|
180
|
+
],
|
|
181
|
+
multiSelect: false
|
|
182
|
+
}]
|
|
183
|
+
})
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
**Si Yes:**
|
|
187
|
+
```bash
|
|
188
|
+
git push --force-with-lease
|
|
189
|
+
|
|
190
|
+
if [ $? -eq 0 ]; then
|
|
191
|
+
echo "Force push successful"
|
|
192
|
+
else
|
|
193
|
+
echo "ERROR: Force push failed (remote may have new commits)"
|
|
194
|
+
echo "Retry with: git push --force-with-lease"
|
|
195
|
+
fi
|
|
196
|
+
```
|
|
197
|
+
|
|
198
|
+
---
|
|
199
|
+
|
|
200
|
+
## STEP 7: Summary
|
|
201
|
+
|
|
202
|
+
```
|
|
203
|
+
================================================================================
|
|
204
|
+
REBASE COMPLETE
|
|
205
|
+
================================================================================
|
|
206
|
+
|
|
207
|
+
Branche: {branch}
|
|
208
|
+
Rebase sur: {base_branch}
|
|
209
|
+
Commits: {ahead} replayed
|
|
210
|
+
Push: {done|pending}
|
|
211
|
+
|
|
212
|
+
DIVERGENCE APRES REBASE:
|
|
213
|
+
vs {base_branch}: +{ahead}/-0
|
|
214
|
+
|
|
215
|
+
{Si EF Core:}
|
|
216
|
+
NEXT: Verifiez les migrations avec /efcore:db-status
|
|
217
|
+
|
|
218
|
+
================================================================================
|
|
219
|
+
Actions: /gitflow:2-status | /gitflow:13-sync | /gitflow:3-commit
|
|
220
|
+
================================================================================
|
|
221
|
+
```
|
|
222
|
+
|
|
223
|
+
---
|
|
224
|
+
|
|
225
|
+
## Codes sortie
|
|
226
|
+
|
|
227
|
+
| Code | Signification |
|
|
228
|
+
|------|---------------|
|
|
229
|
+
| 0 | Rebase reussi |
|
|
230
|
+
| 1 | Conflits (rebase en cours) |
|
|
231
|
+
| 2 | Working directory dirty |
|
|
232
|
+
| 3 | Branche cible inexistante |
|
|
233
|
+
|
|
234
|
+
---
|
|
235
|
+
|
|
236
|
+
## Recovery si conflits
|
|
237
|
+
|
|
238
|
+
Si le rebase echoue avec des conflits:
|
|
239
|
+
|
|
240
|
+
```bash
|
|
241
|
+
# Option 1: Resoudre manuellement
|
|
242
|
+
# Editez les fichiers, puis:
|
|
243
|
+
git add .
|
|
244
|
+
git rebase --continue
|
|
245
|
+
|
|
246
|
+
# Option 2: Annuler completement
|
|
247
|
+
git rebase --abort
|
|
248
|
+
|
|
249
|
+
# Option 3: Via Claude Code
|
|
250
|
+
/gitflow:6-abort
|
|
251
|
+
```
|