specweave 1.0.0 → 1.0.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/README.md CHANGED
@@ -4,19 +4,18 @@
4
4
 
5
5
  *Drop it into a 10-year-old codebase — it understands everything. Use it on your weekend MVP — specs write themselves. Scale it to 50 teams — JIRA, GitHub, Azure DevOps sync automatically.*
6
6
 
7
- [![NPM Version](https://img.shields.io/npm/v/specweave?color=blue&label=stable)](https://www.npmjs.com/package/specweave)
8
- [![NPM RC Version](https://img.shields.io/npm/v/specweave/next?color=orange&label=v1.0.0-rc.1)](https://www.npmjs.com/package/specweave/v/1.0.0-rc.1)
7
+ [![NPM Version](https://img.shields.io/npm/v/specweave?color=brightgreen&label=v1.0.1)](https://www.npmjs.com/package/specweave)
9
8
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
10
9
  [![Discord](https://img.shields.io/badge/Discord-Join-5865F2?logo=discord&logoColor=white)](https://discord.gg/UYg4BGJ65V)
11
10
  [![YouTube](https://img.shields.io/badge/YouTube-Tutorials-red?logo=youtube&logoColor=white)](https://www.youtube.com/@antonabyzov)
12
11
  [![Run in Smithery](https://smithery.ai/badge/skills/anton-abyzov)](https://smithery.ai/skills?ns=anton-abyzov&utm_source=github&utm_medium=badge)
13
12
 
14
- > ### 🚀 v1.0.0 Release Candidate Available!
13
+ > ### 🎉 v1.0.1 Production Ready!
15
14
  > ```bash
16
- > npm install -g specweave@1.0.0-rc.1
15
+ > npm install -g specweave
17
16
  > ```
18
- > **What's new:** Multi-project support, GitHub/JIRA/Azure DevOps sync, 24 plugins, living docs.
19
- > [See release notes →](https://github.com/anton-abyzov/specweave/releases/tag/v1.0.0-rc.1)
17
+ > **Highlights:** Multi-project support, GitHub/JIRA/Azure DevOps sync, 24 plugins, living docs, resilient background jobs.
18
+ > [See release notes →](https://github.com/anton-abyzov/specweave/releases/tag/v1.0.1)
20
19
 
21
20
  ---
22
21
 
@@ -102,10 +101,7 @@ Every AI coding tool promises productivity. But after the chat ends:
102
101
  ## Quick Start
103
102
 
104
103
  ```bash
105
- # Install v1.0.0 Release Candidate (recommended for new projects)
106
- npm install -g specweave@1.0.0-rc.1
107
-
108
- # Or install stable version
104
+ # Install SpecWeave (v1.0.1 production ready)
109
105
  npm install -g specweave
110
106
 
111
107
  # Initialize your project
@@ -1 +1 @@
1
- {"version":3,"file":"external-import-grouping.d.ts","sourceRoot":"","sources":["../../../../../src/cli/helpers/init/external-import-grouping.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAKH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yCAAyC,CAAC;AAC5E,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,2CAA2C,CAAC;AAI1F;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,GAAG,KAAK,GAAG,IAAI,CAAC;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB,iBAAiB,EAAE,wBAAwB,GAAG,SAAS,CAAC;IACxD,UAAU,CAAC,EAAE,YAAY,CAAC;CAC3B;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,YAAY,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,YAAY,EAAE,CAAC,CAiCzF;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,cAAc,EAAE,CA8B3G;AAED;;;GAGG;AACH,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,YAAY,EAAE,GAAG,cAAc,EAAE,CAwJtF;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,YAAY,EAAE,GAAG,cAAc,EAAE,CAqE9E"}
1
+ {"version":3,"file":"external-import-grouping.d.ts","sourceRoot":"","sources":["../../../../../src/cli/helpers/init/external-import-grouping.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAKH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yCAAyC,CAAC;AAC5E,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,2CAA2C,CAAC;AAI1F;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,GAAG,KAAK,GAAG,IAAI,CAAC;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB,iBAAiB,EAAE,wBAAwB,GAAG,SAAS,CAAC;IACxD,UAAU,CAAC,EAAE,YAAY,CAAC;CAC3B;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,YAAY,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,YAAY,EAAE,CAAC,CAiCzF;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,cAAc,EAAE,CA8B3G;AAED;;;GAGG;AACH,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,YAAY,EAAE,GAAG,cAAc,EAAE,CAgLtF;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,YAAY,EAAE,GAAG,cAAc,EAAE,CA+E9E"}
@@ -130,8 +130,23 @@ export function groupAdoItemsByParentHierarchy(items) {
130
130
  // Create groups for each top-level parent first
131
131
  // CRITICAL FIX (v0.30.3): Use area path for projectId, NOT item title
132
132
  // This ensures boards like "digital-service-operations" instead of "software-maintenance-..."
133
+ // CRITICAL FIX (v0.37.0): Normalize containerId to prevent duplicate folders
134
+ // Bug: "Nova CAD" creates both "Nova CAD/" and "nova-cad/" folders
135
+ // Root cause: containerId used display name, not normalized form
133
136
  for (const [parentId, parentItem] of topLevelParents) {
134
- const containerId = parentItem.adoProjectName || 'default';
137
+ // CRITICAL: Extract PROJECT name (first segment) from area path and normalize
138
+ // This prevents duplicate folders like "Nova CAD" and "nova-cad"
139
+ let containerId = 'default';
140
+ if (parentItem.adoAreaPath) {
141
+ const segments = parentItem.adoAreaPath.split('\\');
142
+ // First segment is the ADO Project name - normalize it for folder use
143
+ const projectSegment = segments[0];
144
+ containerId = normalizeToProjectId(projectSegment) || 'default';
145
+ }
146
+ else if (parentItem.adoProjectName) {
147
+ // Fallback: normalize the project display name
148
+ containerId = normalizeToProjectId(parentItem.adoProjectName) || 'default';
149
+ }
135
150
  // CRITICAL (v0.30.3): projectId MUST come from area path, not title
136
151
  // Area path: "Acme\Digital-Service-Operations" → "digital-service-operations"
137
152
  let projectId = 'default';
@@ -150,7 +165,7 @@ export function groupAdoItemsByParentHierarchy(items) {
150
165
  externalContainer: {
151
166
  type: 'ado-project',
152
167
  containerId,
153
- containerName: containerId,
168
+ containerName: parentItem.adoProjectName || containerId, // Keep original name for display
154
169
  areaPath: parentItem.adoAreaPath
155
170
  },
156
171
  parentItem
@@ -176,7 +191,18 @@ export function groupAdoItemsByParentHierarchy(items) {
176
191
  // No parent found - group by area path (2-level structure: project/areaPath)
177
192
  // This handles orphan items (User Stories with parents outside our dataset)
178
193
  // CRITICAL FIX (2025-12-01): Group by area path, NOT by User Story title
179
- const containerId = item.adoProjectName || 'default';
194
+ // CRITICAL FIX (v0.37.0): Normalize containerId to prevent duplicate folders
195
+ let containerId = 'default';
196
+ if (item.adoAreaPath) {
197
+ const segments = item.adoAreaPath.split('\\');
198
+ // First segment is the ADO Project name - normalize it for folder use
199
+ const projectSegment = segments[0];
200
+ containerId = normalizeToProjectId(projectSegment) || 'default';
201
+ }
202
+ else if (item.adoProjectName) {
203
+ // Fallback: normalize the project display name
204
+ containerId = normalizeToProjectId(item.adoProjectName) || 'default';
205
+ }
180
206
  // Extract area path leaf segment for grouping (e.g., "Project\Platform-Engineering" → "platform-engineering")
181
207
  let areaFolder = '_default';
182
208
  if (item.adoAreaPath) {
@@ -198,7 +224,7 @@ export function groupAdoItemsByParentHierarchy(items) {
198
224
  externalContainer: {
199
225
  type: 'ado-project',
200
226
  containerId,
201
- containerName: containerId,
227
+ containerName: item.adoProjectName || containerId, // Keep original name for display
202
228
  areaPath: item.adoAreaPath
203
229
  }
204
230
  });
@@ -230,17 +256,27 @@ export function groupNonHierarchyItems(items) {
230
256
  let projectId;
231
257
  let externalContainer;
232
258
  // JIRA: 1-level structure (Project → SpecWeave Project)
259
+ // CRITICAL FIX (v0.37.0): Normalize containerId to prevent duplicate folders
260
+ // Even though JIRA keys are typically alphanumeric, normalize for safety
233
261
  if (item.jiraProjectKey) {
234
262
  containerType = 'jira';
235
- containerId = item.jiraProjectKey;
236
- projectId = normalizeToProjectId(item.jiraProjectKey) || '_default';
263
+ containerId = normalizeToProjectId(item.jiraProjectKey) || '_default';
264
+ projectId = containerId; // Same as containerId for 1-level structure
237
265
  groupKey = `jira:${containerId}`;
238
266
  externalContainer = undefined;
239
267
  }
240
268
  // Check for ADO container context (without hierarchy)
269
+ // CRITICAL FIX (v0.37.0): Normalize containerId to prevent duplicate folders
241
270
  else if (item.adoProjectName) {
242
271
  containerType = 'ado';
243
- containerId = item.adoProjectName;
272
+ // Normalize containerId from area path first segment or project name
273
+ if (item.adoAreaPath) {
274
+ const segments = item.adoAreaPath.split('\\');
275
+ containerId = normalizeToProjectId(segments[0]) || 'default';
276
+ }
277
+ else {
278
+ containerId = normalizeToProjectId(item.adoProjectName) || 'default';
279
+ }
244
280
  // Project ID from area path (extract last segment) or default
245
281
  if (item.adoAreaPath) {
246
282
  const areaSegments = item.adoAreaPath.split('\\');
@@ -254,7 +290,7 @@ export function groupNonHierarchyItems(items) {
254
290
  externalContainer = {
255
291
  type: 'ado-project',
256
292
  containerId: containerId,
257
- containerName: containerId,
293
+ containerName: item.adoProjectName, // Keep original name for display
258
294
  areaPath: item.adoAreaPath
259
295
  };
260
296
  }
@@ -1 +1 @@
1
- {"version":3,"file":"external-import-grouping.js","sourceRoot":"","sources":["../../../../../src/cli/helpers/init/external-import-grouping.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"external-import-grouping.js","sourceRoot":"","sources":["../../../../../src/cli/helpers/init/external-import-grouping.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "specweave",
3
- "version": "1.0.0",
3
+ "version": "1.0.1",
4
4
  "description": "Spec-driven development framework for Claude Code. AI-native workflow with living documentation, intelligent agents, and multilingual support (9 languages). Enterprise-grade traceability with permanent specs and temporary increments.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "specweave-kafka",
3
- "version": "1.0.0",
3
+ "version": "1.0.1",
4
4
  "description": "Apache Kafka event streaming integration plugin for SpecWeave",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -7,6 +7,44 @@ description: Bump patch version, auto-commit dirty changes, push to GitHub, buil
7
7
 
8
8
  You are the NPM Release Assistant. Your job is to automate the patch version release process.
9
9
 
10
+ ## CRITICAL: Prerelease Version Handling
11
+
12
+ **⚠️ NEVER use `npm version patch` on prerelease versions!**
13
+
14
+ `npm version patch` converts `1.0.0-rc.1` → `1.0.0` (WRONG!)
15
+
16
+ **CORRECT behavior:**
17
+ - `1.0.0-rc.1` → `1.0.0-rc.2` (increment prerelease)
18
+ - `1.0.0-beta.5` → `1.0.0-beta.6` (increment prerelease)
19
+ - `1.0.0` → `1.0.1` (increment patch - stable version)
20
+
21
+ **Use `--stable` flag ONLY when intentionally promoting to stable release!**
22
+
23
+ ### Version Detection Algorithm
24
+
25
+ ```bash
26
+ # Get current version
27
+ CURRENT=$(node -p "require('./package.json').version")
28
+
29
+ # Check if it's a prerelease (contains hyphen: 1.0.0-rc.1, 1.0.0-beta.2, etc.)
30
+ if [[ "$CURRENT" == *"-"* ]]; then
31
+ IS_PRERELEASE=true
32
+ else
33
+ IS_PRERELEASE=false
34
+ fi
35
+ ```
36
+
37
+ ### Version Bump Command Selection
38
+
39
+ | Current Version | Flag | Command | Result |
40
+ |-----------------|------|---------|--------|
41
+ | `1.0.0-rc.1` | (none) | `npm version prerelease` | `1.0.0-rc.2` |
42
+ | `1.0.0-rc.5` | `--stable` | `npm version patch` | `1.0.1` |
43
+ | `1.0.0` | (none) | `npm version patch` | `1.0.1` |
44
+ | `1.0.0` | `--stable` | `npm version patch` | `1.0.1` |
45
+
46
+ **Rule**: If prerelease AND no `--stable` flag → use `npm version prerelease`
47
+
10
48
  ## Command Modes
11
49
 
12
50
  | Command | Flow | Use Case |
@@ -16,6 +54,7 @@ You are the NPM Release Assistant. Your job is to automate the patch version rel
16
54
  | `/sw-release:npm --ci` | Bump → Push → **CI publishes** | Let GitHub Actions handle npm publish |
17
55
  | `/sw-release:npm --only` | Bump → Build → **Publish locally** → NO push | Quick local release, push later |
18
56
  | `/sw-release:npm --only --local` | **Bump ONLY** → NO build, NO publish, NO git | FASTEST: Local testing only |
57
+ | `/sw-release:npm --stable` | Same as default, but promotes prerelease to stable | **PROMOTE TO STABLE** |
19
58
 
20
59
  ## Detecting Mode
21
60
 
@@ -26,16 +65,18 @@ Check flags in the command invocation:
26
65
  --ci → CI MODE: push to git, GitHub Actions publishes (requires clean working tree)
27
66
  --only --local → Version bump ONLY (no build, no publish, no git) - FASTEST
28
67
  --only → Direct publish to npm (bypass CI), no git push
68
+ --stable → Force promote prerelease to stable (use with any mode)
29
69
  (no flags) → DEFAULT: INSTANT RELEASE (auto-commit, push, build, publish, push tag)
30
70
  ```
31
71
 
32
72
  **Flag Detection Order:**
33
- 1. Check for `--quick` flag → QUICK MODE (save + local publish, NO GH workflow)
34
- 2. Check for `--ci` flag → CI MODE (GitHub Actions publishes)
35
- 3. Check for `--only` flag
36
- 4. If `--only` present, check for `--local` flag → LOCAL MODE (fastest)
37
- 5. If `--only` onlyDIRECT MODE
38
- 6. No flags**DEFAULT: INSTANT RELEASE** (auto-commit dirty, push, build, publish)
73
+ 1. Check for `--stable` flag → Set PROMOTE_TO_STABLE=true (affects version bump command)
74
+ 2. Check for `--quick` flag → QUICK MODE (save + local publish, NO GH workflow)
75
+ 3. Check for `--ci` flag → CI MODE (GitHub Actions publishes)
76
+ 4. Check for `--only` flag
77
+ 5. If `--only` present, check for `--local` flag LOCAL MODE (fastest)
78
+ 6. If `--only` only DIRECT MODE
79
+ 7. No flags → **DEFAULT: INSTANT RELEASE** (auto-commit dirty, push, build, publish)
39
80
 
40
81
  **If `--quick`**: Use QUICK MODE (section "Quick Mode Workflow")
41
82
  **If `--ci`**: Use CI MODE (section "CI Mode Workflow")
@@ -104,11 +145,36 @@ git push origin develop
104
145
  - ✅ No risk of "released but not pushed" state
105
146
  - ✅ Clean recovery if anything fails mid-release
106
147
 
107
- ### 4. Bump Patch Version
148
+ ### 4. Smart Version Bump (Prerelease-Aware!)
149
+
150
+ **CRITICAL: Detect prerelease and bump correctly!**
108
151
 
109
152
  ```bash
110
- npm version patch -m "chore: bump version to %s"
111
- ```
153
+ # Get current version
154
+ CURRENT=$(node -p "require('./package.json').version")
155
+ echo "Current version: $CURRENT"
156
+
157
+ # Check if prerelease (contains hyphen like 1.0.0-rc.1, 1.0.0-beta.2)
158
+ if [[ "$CURRENT" == *"-"* ]]; then
159
+ echo "Detected PRERELEASE version"
160
+ # Check for --stable flag in command args
161
+ if [[ "--stable flag was passed" ]]; then
162
+ echo "Promoting to stable (--stable flag)"
163
+ npm version patch -m "chore: release stable version %s"
164
+ else
165
+ echo "Incrementing prerelease number"
166
+ npm version prerelease -m "chore: bump version to %s"
167
+ fi
168
+ else
169
+ echo "Detected STABLE version"
170
+ npm version patch -m "chore: bump version to %s"
171
+ fi
172
+ ```
173
+
174
+ **Examples:**
175
+ - `1.0.0-rc.1` → `1.0.0-rc.2` (prerelease increment, DEFAULT)
176
+ - `1.0.0-rc.5` + `--stable` → `1.0.1` (promote to stable, EXPLICIT)
177
+ - `1.0.0` → `1.0.1` (patch increment)
112
178
 
113
179
  This creates a NEW commit + tag locally.
114
180
 
@@ -215,10 +281,20 @@ git commit -m "[auto-generated message based on changed files]"
215
281
  git push origin develop
216
282
  ```
217
283
 
218
- ### 4. Bump Patch Version
284
+ ### 4. Smart Version Bump (Prerelease-Aware!)
285
+
286
+ **CRITICAL: Same logic as Default Mode - detect prerelease!**
219
287
 
220
288
  ```bash
221
- npm version patch -m "chore: bump version to %s"
289
+ CURRENT=$(node -p "require('./package.json').version")
290
+
291
+ if [[ "$CURRENT" == *"-"* ]]; then
292
+ # Prerelease: bump prerelease number (1.0.0-rc.1 → 1.0.0-rc.2)
293
+ npm version prerelease -m "chore: bump version to %s"
294
+ else
295
+ # Stable: bump patch (1.0.0 → 1.0.1)
296
+ npm version patch -m "chore: bump version to %s"
297
+ fi
222
298
  ```
223
299
 
224
300
  This creates a NEW commit + tag locally.
@@ -303,11 +379,18 @@ node -p "require('./package.json').version"
303
379
  - Not on `develop` branch (ask user to switch)
304
380
  - Uncommitted changes exist (ask user to commit first)
305
381
 
306
- ### 2. Bump Patch Version
382
+ ### 2. Smart Version Bump (Prerelease-Aware!)
307
383
 
308
384
  ```bash
309
- # This creates commit + tag automatically
310
- npm version patch -m "chore: bump version to %s"
385
+ CURRENT=$(node -p "require('./package.json').version")
386
+
387
+ if [[ "$CURRENT" == *"-"* ]]; then
388
+ # Prerelease: bump prerelease number
389
+ npm version prerelease -m "chore: bump version to %s"
390
+ else
391
+ # Stable: bump patch
392
+ npm version patch -m "chore: bump version to %s"
393
+ fi
311
394
  ```
312
395
 
313
396
  ### 3. Extract New Version
@@ -370,11 +453,18 @@ node -p "require('./package.json').version"
370
453
  - Not on `develop` branch (ask user to switch)
371
454
  - Uncommitted changes exist (ask user to commit first)
372
455
 
373
- ### 2. Bump Patch Version (Same as Default)
456
+ ### 2. Smart Version Bump (Prerelease-Aware!)
374
457
 
375
458
  ```bash
376
- # This creates commit + tag automatically
377
- npm version patch -m "chore: bump version to %s"
459
+ CURRENT=$(node -p "require('./package.json').version")
460
+
461
+ if [[ "$CURRENT" == *"-"* ]]; then
462
+ # Prerelease: bump prerelease number (1.0.0-rc.1 → 1.0.0-rc.2)
463
+ npm version prerelease -m "chore: bump version to %s"
464
+ else
465
+ # Stable: bump patch (1.0.0 → 1.0.1)
466
+ npm version patch -m "chore: bump version to %s"
467
+ fi
378
468
  ```
379
469
 
380
470
  **What this does**:
@@ -473,15 +563,19 @@ Show the user:
473
563
 
474
564
  # FASTEST: Version bump only (no publish, no git, no build)
475
565
  /sw-release:npm --only --local
566
+
567
+ # PROMOTE prerelease to stable (1.0.0-rc.5 → 1.0.1)
568
+ /sw-release:npm --stable
476
569
  ```
477
570
 
478
- | Scenario | Command | Auto-Commit Dirty? | NPM Published By | Git Pushed | Tag Pushed |
479
- |----------|---------|-------------------|------------------|------------|------------|
480
- | **INSTANT RELEASE** | (no flags) | Yes | You (npmjs.org) | ✅ Yes | ✅ Yes (triggers GH) |
481
- | **QUICK RELEASE** | `--quick` | Yes | You (npmjs.org) | ✅ Yes | ❌ No (no GH workflow) |
482
- | CI release | `--ci` | STOP | GitHub Actions | ✅ Yes | ✅ Yes |
483
- | Quick local, push later | `--only` | STOP | You (npmjs.org) | ❌ No | ❌ No |
484
- | **FASTEST local test** | `--only --local` | N/A | ❌ None | ❌ No | ❌ No |
571
+ | Scenario | Command | Prerelease Handling | Git Pushed | Tag Pushed |
572
+ |----------|---------|---------------------|------------|------------|
573
+ | **INSTANT RELEASE** | (no flags) | `rc.1`→`rc.2` (smart) | ✅ Yes | ✅ Yes |
574
+ | **QUICK RELEASE** | `--quick` | `rc.1`→`rc.2` (smart) | ✅ Yes | ❌ No |
575
+ | CI release | `--ci` | `rc.1`→`rc.2` (smart) | ✅ Yes | ✅ Yes |
576
+ | Local publish | `--only` | `rc.1`→`rc.2` (smart) | ❌ No | ❌ No |
577
+ | Local bump | `--only --local` | `rc.1`→`rc.2` (smart) | ❌ No | ❌ No |
578
+ | **PROMOTE** | `--stable` | `rc.X`→`X.Y.Z+1` | ✅ Yes | ✅ Yes |
485
579
 
486
580
  ---
487
581
 
@@ -503,16 +597,24 @@ node -p "require('./package.json').version"
503
597
 
504
598
  **NO git checks** - we're not committing or pushing anything!
505
599
 
506
- ### 2. Bump Version (NO git commit, NO tag)
600
+ ### 2. Smart Version Bump (NO git commit, NO tag)
507
601
 
508
602
  ```bash
509
- # Bump version WITHOUT creating git commit or tag
510
- npm version patch --no-git-tag-version
603
+ CURRENT=$(node -p "require('./package.json').version")
604
+
605
+ if [[ "$CURRENT" == *"-"* ]]; then
606
+ # Prerelease: bump prerelease number (1.0.0-rc.1 → 1.0.0-rc.2)
607
+ npm version prerelease --no-git-tag-version
608
+ else
609
+ # Stable: bump patch (1.0.0 → 1.0.1)
610
+ npm version patch --no-git-tag-version
611
+ fi
511
612
  ```
512
613
 
513
614
  **What this does**:
514
615
  - Updates `package.json` version ONLY
515
616
  - Updates `package-lock.json` version ONLY
617
+ - Respects prerelease versions!
516
618
  - NO git commit created
517
619
  - NO git tag created
518
620
  - INSTANT (< 1 second)