@atlashub/smartstack-cli 3.48.0 → 3.50.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": "3.48.0",
3
+ "version": "3.50.0",
4
4
  "description": "SmartStack Claude Code automation toolkit - GitFlow, EF Core migrations, prompts and more",
5
5
  "author": {
6
6
  "name": "SmartStack",
@@ -47,8 +47,8 @@ Write `.claude/gitflow/config.json` in develop worktree.
47
47
  "enabled": true,
48
48
  "mode": "{WORKTREE_MODE}",
49
49
  "structure": {
50
- "main": "{ROOT_FOLDER_STORAGE_FORMAT}/01-Main",
51
- "develop": "{ROOT_FOLDER_STORAGE_FORMAT}/02-Develop",
50
+ "main": "{ROOT_FOLDER_STORAGE_FORMAT}/{MAIN_DIR}",
51
+ "develop": "{ROOT_FOLDER_STORAGE_FORMAT}/{DEVELOP_DIR}",
52
52
  "features": "{ROOT_FOLDER_STORAGE_FORMAT}/features",
53
53
  "releases": "{ROOT_FOLDER_STORAGE_FORMAT}/releases",
54
54
  "hotfixes": "{ROOT_FOLDER_STORAGE_FORMAT}/hotfixes"
@@ -74,6 +74,14 @@ Write `.claude/gitflow/config.json` in develop worktree.
74
74
  }
75
75
  ```
76
76
 
77
+ **Worktree mode directories:**
78
+
79
+ | Mode | `{MAIN_DIR}` | `{DEVELOP_DIR}` |
80
+ |------|-------------|-----------------|
81
+ | organized | `01-Main` | `02-Develop` |
82
+ | simple | `main` | `develop` |
83
+ | disabled | N/A | N/A (no worktrees, `enabled: false`) |
84
+
77
85
  ## Path Storage Convention
78
86
 
79
87
  - `{ROOT_FOLDER_STORAGE_FORMAT}` = result of `normalize_path_for_storage("{ROOT_FOLDER}")`
@@ -6,12 +6,27 @@
6
6
 
7
7
  Split the raw input on any separator: spaces, hyphens, underscores, dots, camelCase boundaries.
8
8
 
9
+ **⛔ Compound proper nouns:** Some camelCase words are actually single brand/product names that must NOT be split. Before splitting on camelCase boundaries, check if the full word is a known compound:
10
+
11
+ | Word | Type | Parsed as |
12
+ |------|------|-----------|
13
+ | `SmartStack` | Brand name | `["SmartStack"]` (1 word) |
14
+ | `JavaScript` | Language | `["JavaScript"]` (1 word) |
15
+ | `TypeScript` | Language | `["TypeScript"]` (1 word) |
16
+ | `DevOps` | Proper noun | `["DevOps"]` (1 word) |
17
+ | `GitHub` | Brand name | `["GitHub"]` (1 word) |
18
+ | `InfraAzure` | Normal camelCase | `["Infra", "Azure"]` (2 words) |
19
+
20
+ **Rule:** If the full word (before splitting) is recognized as a brand, product, or proper noun, treat it as ONE word. Only split unknown camelCase words.
21
+
22
+ **Example:** `SmartStack.infra-azure` → `["SmartStack", "infra", "azure"]` → kebab: `smartstack-infra-azure`
23
+
9
24
  | Raw input | Parsed words |
10
25
  |-----------|-------------|
11
26
  | `mon super projet` | `["mon", "super", "projet"]` |
12
27
  | `gestion-des-stocks` | `["gestion", "des", "stocks"]` |
13
28
  | `my_awesome_app` | `["my", "awesome", "app"]` |
14
- | `SmartStack.App` | `["Smart", "Stack", "App"]` |
29
+ | `SmartStack.App` | `["SmartStack", "App"]` |
15
30
  | `userManagement` | `["user", "Management"]` |
16
31
 
17
32
  ## Step 2: Language detection and spell check
@@ -95,7 +110,7 @@ Regardless of the chosen primary format, ALL variants are generated and stored:
95
110
 
96
111
  | User types | PascalCase.Dot | kebab-case | PascalCase |
97
112
  |-----------|---------------|------------|------------|
98
- | `smart stack app` | `SmartStack.App` | `smart-stack-app` | `SmartStackApp` |
113
+ | `SmartStack.App` | `SmartStack.App` | `smartstack-app` | `SmartStackApp` |
99
114
  | `gestion-des-stocks` | `Gestion.Des.Stocks` | `gestion-des-stocks` | `GestionDesStocks` |
100
115
  | `Mon Projet V2` | `Mon.Projet.V2` | `mon-projet-v2` | `MonProjetV2` |
101
116
  | `user auth module` | `User.Auth.Module` | `user-auth-module` | `UserAuthModule` |
@@ -16,6 +16,8 @@ VERSION=$(grep -oP '<Version>\K[^<]+' "$DEVELOP_FULL_PATH"/*.csproj 2>/dev/null
16
16
  [ -z "$VERSION" ] && VERSION="0.0.0"
17
17
  ```
18
18
 
19
+ **⛔ CRITICAL:** The version MUST come from one of the detection sources above. If NONE of them returns a value, use EXACTLY `0.0.0`. Do NOT invent, guess, or fabricate a version number (e.g., `0.1.0`, `1.0.0`). The fallback is `0.0.0` — nothing else.
20
+
19
21
  ## Version will be stored in config.json
20
22
 
21
23
  The detected version is used in the GitFlow config template under `versioning.current`.
@@ -16,7 +16,7 @@ Set up GitFlow configuration with bare repository, worktrees, and branches.
16
16
 
17
17
  ## MANDATORY QUESTIONS
18
18
 
19
- **⛔ ALWAYS ask these 3 questions, even if values can be auto-detected.**
19
+ **⛔ ALWAYS ask these 4 questions, even if values can be auto-detected.**
20
20
  **⛔ ALWAYS detect workspace context (step 2) to show sibling projects.**
21
21
 
22
22
  | Question | Variable | Auto-detect from |
@@ -24,6 +24,7 @@ Set up GitFlow configuration with bare repository, worktrees, and branches.
24
24
  | Repository URL | `{REPO_URL}` | `git remote get-url origin` |
25
25
  | Root folder | `{ROOT_FOLDER}` | Parent of current directory |
26
26
  | Project name | `{PROJECT_NAME}` | Repo name from URL or folder |
27
+ | Worktree mode | `{WORKTREE_MODE}` | Default: organized |
27
28
 
28
29
  **Multi-project principle:** Each repository has its OWN independent GitFlow config. Step 2 scans for sibling projects to provide context, not to share configuration.
29
30
 
@@ -174,6 +175,7 @@ Before completing init, verify:
174
175
  - [ ] Repository URL confirmed by user
175
176
  - [ ] Root folder confirmed by user
176
177
  - [ ] Project name confirmed by user
178
+ - [ ] Worktree mode confirmed by user (organized / simple / disabled)
177
179
  - [ ] .bare/ directory exists
178
180
  - [ ] 01-Main/ worktree exists and is on main branch
179
181
  - [ ] 02-Develop/ worktree exists and is on develop branch
@@ -195,7 +197,7 @@ Before completing init, verify:
195
197
 
196
198
  ## SUCCESS CRITERIA:
197
199
 
198
- - ✅ All 3 mandatory questions asked
200
+ - ✅ All 4 mandatory questions asked (URL, folder, name, worktree mode)
199
201
  - ✅ Complete folder structure created
200
202
  - ✅ Both main and develop worktrees functional
201
203
  - ✅ Configuration file created