@atlashub/smartstack-cli 4.3.0 → 4.4.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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlashub/smartstack-cli",
3
- "version": "4.3.0",
3
+ "version": "4.4.0",
4
4
  "description": "SmartStack Claude Code automation toolkit - GitFlow, EF Core migrations, prompts and more",
5
5
  "author": {
6
6
  "name": "SmartStack",
@@ -166,6 +166,22 @@ WAIT for the user's response. Store as `{PROJECT_NAME}`.
166
166
 
167
167
  Then normalize name into variants (PascalCase.Dot, PascalCase, kebab-case, snake_case, Display Name).
168
168
 
169
+ ### 2c-bis. Compute Final Project Path
170
+
171
+ After collecting root folder and project name, compute the actual project base:
172
+
173
+ ```bash
174
+ ROOT_BASENAME=$(basename "{PROJECT_BASE}")
175
+ if [ "$ROOT_BASENAME" != "{PROJECT_NAME}" ]; then
176
+ PROJECT_BASE="{PROJECT_BASE}/{PROJECT_NAME}"
177
+ echo "Project path: $PROJECT_BASE (appended project name)"
178
+ else
179
+ echo "Project path: {PROJECT_BASE} (already includes project name)"
180
+ fi
181
+ ```
182
+
183
+ Update `{PROJECT_BASE}` with the result. This value is what gets passed to `gitflow-init-clone`.
184
+
169
185
  ### 2d. Worktree Mode — CALL AskUserQuestion NOW
170
186
 
171
187
  DO NOT SKIP THIS. This question has been skipped in past sessions causing incorrect defaults.
@@ -195,7 +211,7 @@ All 4 variables MUST have been confirmed by the user (not auto-derived):
195
211
  | Variable | Required | How to verify |
196
212
  |----------|----------|---------------|
197
213
  | {REPO_URL} | ✅ | From command arg OR user answered question 2a |
198
- | {PROJECT_BASE} | ✅ | User answered question 2b (NEVER auto-derived) |
214
+ | {PROJECT_BASE} | ✅ | User answered question 2b, then adjusted by 2c-bis if needed |
199
215
  | {PROJECT_NAME} | ✅ | User answered question 2c (NEVER auto-derived) |
200
216
  | {WORKTREE_MODE} | ✅ | User answered question 2d (NEVER defaulted to "organized") |
201
217
 
@@ -67,6 +67,16 @@ Store as `{PROJECT_NAME}`.
67
67
  Then normalize into variants: PascalCase.Dot, PascalCase, kebab-case, snake_case, Display Name.
68
68
  See [references/init-name-normalization.md](../references/init-name-normalization.md).
69
69
 
70
+ ### 5b. Compute Final Project Path
71
+
72
+ After collecting both root folder and project name, ensure `{PROJECT_BASE}` points to the project-specific directory:
73
+
74
+ - If `basename({PROJECT_BASE})` already equals `{PROJECT_NAME}` → keep as-is (existing repo case)
75
+ - Otherwise → set `{PROJECT_BASE} = {PROJECT_BASE}/{PROJECT_NAME}` (fresh project case)
76
+
77
+ > **Example:** Root `D:/01 - projets/` + name `MyApp` → `PROJECT_BASE = D:/01 - projets/MyApp/`
78
+ > **Example:** Root `D:/01 - projets/MyApp/` + name `MyApp` → stays `D:/01 - projets/MyApp/` (no double nesting)
79
+
70
80
  ### 6. Question: Worktree Mode
71
81
 
72
82
  Call AskUserQuestion: