@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 +1 -1
- package/templates/skills/gitflow/references/init-config-template.md +10 -2
- package/templates/skills/gitflow/references/init-name-normalization.md +17 -2
- package/templates/skills/gitflow/references/init-version-detection.md +2 -0
- package/templates/skills/gitflow/steps/step-init.md +4 -2
package/package.json
CHANGED
|
@@ -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}/
|
|
51
|
-
"develop": "{ROOT_FOLDER_STORAGE_FORMAT}/
|
|
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` | `["
|
|
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
|
-
| `
|
|
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
|
|
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
|
|
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
|