specweave 0.28.19 → 0.28.22

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.
Files changed (96) hide show
  1. package/dist/plugins/specweave-ado/lib/ado-spec-sync.d.ts +16 -0
  2. package/dist/plugins/specweave-ado/lib/ado-spec-sync.d.ts.map +1 -1
  3. package/dist/plugins/specweave-ado/lib/ado-spec-sync.js +63 -3
  4. package/dist/plugins/specweave-ado/lib/ado-spec-sync.js.map +1 -1
  5. package/dist/plugins/specweave-ado/lib/ado-status-sync.d.ts +12 -3
  6. package/dist/plugins/specweave-ado/lib/ado-status-sync.d.ts.map +1 -1
  7. package/dist/plugins/specweave-ado/lib/ado-status-sync.js +37 -3
  8. package/dist/plugins/specweave-ado/lib/ado-status-sync.js.map +1 -1
  9. package/dist/plugins/specweave-github/lib/github-increment-sync-cli.d.ts +8 -6
  10. package/dist/plugins/specweave-github/lib/github-increment-sync-cli.d.ts.map +1 -1
  11. package/dist/plugins/specweave-github/lib/github-increment-sync-cli.js +230 -165
  12. package/dist/plugins/specweave-github/lib/github-increment-sync-cli.js.map +1 -1
  13. package/dist/plugins/specweave-github/lib/github-status-sync.d.ts +10 -0
  14. package/dist/plugins/specweave-github/lib/github-status-sync.d.ts.map +1 -1
  15. package/dist/plugins/specweave-github/lib/github-status-sync.js +40 -2
  16. package/dist/plugins/specweave-github/lib/github-status-sync.js.map +1 -1
  17. package/dist/plugins/specweave-github/lib/increment-issue-builder.d.ts +2 -0
  18. package/dist/plugins/specweave-github/lib/increment-issue-builder.d.ts.map +1 -1
  19. package/dist/plugins/specweave-github/lib/increment-issue-builder.js +25 -5
  20. package/dist/plugins/specweave-github/lib/increment-issue-builder.js.map +1 -1
  21. package/dist/plugins/specweave-jira/lib/jira-spec-sync.d.ts +12 -0
  22. package/dist/plugins/specweave-jira/lib/jira-spec-sync.d.ts.map +1 -1
  23. package/dist/plugins/specweave-jira/lib/jira-spec-sync.js +57 -5
  24. package/dist/plugins/specweave-jira/lib/jira-spec-sync.js.map +1 -1
  25. package/dist/plugins/specweave-jira/lib/jira-status-sync.d.ts +5 -1
  26. package/dist/plugins/specweave-jira/lib/jira-status-sync.d.ts.map +1 -1
  27. package/dist/plugins/specweave-jira/lib/jira-status-sync.js +12 -4
  28. package/dist/plugins/specweave-jira/lib/jira-status-sync.js.map +1 -1
  29. package/dist/src/cli/commands/init.d.ts.map +1 -1
  30. package/dist/src/cli/commands/init.js +7 -3
  31. package/dist/src/cli/commands/init.js.map +1 -1
  32. package/dist/src/cli/helpers/init/external-import.d.ts.map +1 -1
  33. package/dist/src/cli/helpers/init/external-import.js +193 -23
  34. package/dist/src/cli/helpers/init/external-import.js.map +1 -1
  35. package/dist/src/cli/helpers/init/jira-ado-auto-detect.d.ts +115 -0
  36. package/dist/src/cli/helpers/init/jira-ado-auto-detect.d.ts.map +1 -0
  37. package/dist/src/cli/helpers/init/jira-ado-auto-detect.js +590 -0
  38. package/dist/src/cli/helpers/init/jira-ado-auto-detect.js.map +1 -0
  39. package/dist/src/cli/helpers/init/language-selection.js +1 -1
  40. package/dist/src/cli/helpers/init/language-selection.js.map +1 -1
  41. package/dist/src/cli/helpers/init/repository-setup.js +1 -1
  42. package/dist/src/cli/helpers/init/repository-setup.js.map +1 -1
  43. package/dist/src/config/types.d.ts +6 -6
  44. package/dist/src/core/background/index.d.ts +11 -0
  45. package/dist/src/core/background/index.d.ts.map +1 -0
  46. package/dist/src/core/background/index.js +11 -0
  47. package/dist/src/core/background/index.js.map +1 -0
  48. package/dist/src/core/background/job-manager.d.ts +65 -0
  49. package/dist/src/core/background/job-manager.d.ts.map +1 -0
  50. package/dist/src/core/background/job-manager.js +192 -0
  51. package/dist/src/core/background/job-manager.js.map +1 -0
  52. package/dist/src/core/background/types.d.ts +59 -0
  53. package/dist/src/core/background/types.d.ts.map +1 -0
  54. package/dist/src/core/background/types.js +8 -0
  55. package/dist/src/core/background/types.js.map +1 -0
  56. package/dist/src/core/repo-structure/multi-repo-configurator.d.ts +25 -0
  57. package/dist/src/core/repo-structure/multi-repo-configurator.d.ts.map +1 -0
  58. package/dist/src/core/repo-structure/multi-repo-configurator.js +614 -0
  59. package/dist/src/core/repo-structure/multi-repo-configurator.js.map +1 -0
  60. package/dist/src/core/repo-structure/prompt-consolidator.d.ts.map +1 -1
  61. package/dist/src/core/repo-structure/prompt-consolidator.js +6 -36
  62. package/dist/src/core/repo-structure/prompt-consolidator.js.map +1 -1
  63. package/dist/src/core/repo-structure/repo-initializer.d.ts +40 -0
  64. package/dist/src/core/repo-structure/repo-initializer.d.ts.map +1 -0
  65. package/dist/src/core/repo-structure/repo-initializer.js +260 -0
  66. package/dist/src/core/repo-structure/repo-initializer.js.map +1 -0
  67. package/dist/src/core/repo-structure/repo-structure-manager.d.ts +3 -37
  68. package/dist/src/core/repo-structure/repo-structure-manager.d.ts.map +1 -1
  69. package/dist/src/core/repo-structure/repo-structure-manager.js +23 -803
  70. package/dist/src/core/repo-structure/repo-structure-manager.js.map +1 -1
  71. package/dist/src/core/types/spec-metadata.d.ts +2 -0
  72. package/dist/src/core/types/spec-metadata.d.ts.map +1 -1
  73. package/dist/src/importers/import-coordinator.d.ts +20 -0
  74. package/dist/src/importers/import-coordinator.d.ts.map +1 -1
  75. package/dist/src/importers/import-coordinator.js.map +1 -1
  76. package/dist/src/init/architecture/types.d.ts +2 -2
  77. package/dist/src/init/compliance/types.d.ts +1 -1
  78. package/package.json +1 -1
  79. package/plugins/specweave/commands/specweave-jobs.md +160 -0
  80. package/plugins/specweave-ado/lib/ado-spec-sync.js +59 -3
  81. package/plugins/specweave-ado/lib/ado-spec-sync.ts +72 -3
  82. package/plugins/specweave-ado/lib/ado-status-sync.js +35 -3
  83. package/plugins/specweave-ado/lib/ado-status-sync.ts +48 -4
  84. package/plugins/specweave-github/hooks/.specweave/logs/hooks-debug.log +6 -0
  85. package/plugins/specweave-github/lib/github-increment-sync-cli.js +268 -155
  86. package/plugins/specweave-github/lib/github-increment-sync-cli.ts +313 -209
  87. package/plugins/specweave-github/lib/github-status-sync.js +37 -1
  88. package/plugins/specweave-github/lib/github-status-sync.ts +60 -4
  89. package/plugins/specweave-github/lib/increment-issue-builder.js +26 -5
  90. package/plugins/specweave-github/lib/increment-issue-builder.ts +36 -5
  91. package/plugins/specweave-jira/lib/jira-spec-sync.js +53 -5
  92. package/plugins/specweave-jira/lib/jira-spec-sync.ts +87 -7
  93. package/plugins/specweave-jira/lib/jira-status-sync.js +9 -3
  94. package/plugins/specweave-jira/lib/jira-status-sync.ts +15 -6
  95. package/plugins/specweave-release/commands/specweave-release-npm.md +187 -8
  96. package/plugins/specweave-release/hooks/.specweave/logs/dora-tracking.log +9 -0
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: specweave-release:npm
3
- description: Bump patch version, create git tag, and trigger npm publish via GitHub Actions. Automates the complete release workflow with pre-flight checks, version bumping, tag creation, and GitHub Actions triggering. Use --only flag for quick local release (bumps version, builds, publishes to npm directly - NO git push, NO pipeline).
3
+ description: Bump patch version, create git tag, and trigger npm publish via GitHub Actions. Automates the complete release workflow with pre-flight checks, version bumping, tag creation, and GitHub Actions triggering. Use --only flag for quick local release (bumps version, builds, publishes to npm directly - NO git push, NO pipeline). Add --push to --only for complete local release with git sync.
4
4
  ---
5
5
 
6
6
  # /specweave-release:npm - NPM Release Automation
@@ -9,17 +9,30 @@ You are the NPM Release Assistant. Your job is to automate the patch version rel
9
9
 
10
10
  ## Command Modes
11
11
 
12
- **Default mode** (no flags): Bump Push to GitHub → GitHub Actions publishes to npm
13
- **Direct mode** (`--only`): Bump → Build → Publish to npm directly (NO git push, NO pipeline)
12
+ | Command | Flow | Use Case |
13
+ |---------|------|----------|
14
+ | `/specweave-release:npm` | Bump → Push → **CI publishes** | Standard release (CI handles npm) |
15
+ | `/specweave-release:npm --only` | Bump → Build → **Publish locally** → NO push | Quick local release, push later |
16
+ | `/specweave-release:npm --only --push` | Bump → Build → **Publish locally** → Push | Complete local release + git sync |
14
17
 
15
18
  ## Detecting Mode
16
19
 
17
- First, check if the user provided `--only` flag:
18
- - Look at the command invocation (e.g., `/specweave-release:npm --only`)
19
- - Check conversation context for `--only` parameter
20
+ Check flags in the command invocation:
20
21
 
21
- **If `--only` flag detected**: Use DIRECT MODE (skip to section "Direct Mode Workflow")
22
- **If no flag**: Use DEFAULT MODE (continue with steps below)
22
+ ```
23
+ --only → Direct publish to npm (bypass CI)
24
+ --only --push → Direct publish + push to git after
25
+ (no flags) → Default: push to git, CI publishes
26
+ ```
27
+
28
+ **Flag Detection Order:**
29
+ 1. Check for `--only` flag
30
+ 2. If `--only` present, check for `--push` flag
31
+ 3. Route to appropriate workflow section
32
+
33
+ **If `--only --push`**: Use DIRECT MODE WITH PUSH (section "Direct Mode + Push Workflow")
34
+ **If `--only` only**: Use DIRECT MODE (section "Direct Mode Workflow")
35
+ **If no flags**: Use DEFAULT MODE (continue with steps below)
23
36
 
24
37
  ## Your Task
25
38
 
@@ -228,3 +241,169 @@ Show the user:
228
241
  ✅ Package rebuilt
229
242
  ✅ Published to npm directly
230
243
  ⏸️ Git NOT pushed (manual sync later)
244
+
245
+ ---
246
+
247
+ ## DIRECT MODE + PUSH WORKFLOW (--only --push flags)
248
+
249
+ Use this workflow when BOTH `--only` AND `--push` flags are detected. This is the **complete local release** - publishes to npm directly AND pushes to git.
250
+
251
+ **Use case**: You want full control - publish immediately, then sync git. No CI involvement in npm publish.
252
+
253
+ ### 1. Pre-flight Checks
254
+
255
+ ```bash
256
+ # Verify we're on develop branch
257
+ git rev-parse --abbrev-ref HEAD
258
+
259
+ # Check for uncommitted changes
260
+ git status --porcelain
261
+
262
+ # Verify current version
263
+ node -p "require('./package.json').version"
264
+ ```
265
+
266
+ **STOP if**:
267
+ - Not on `develop` branch (ask user to switch)
268
+
269
+ **If uncommitted changes exist → AUTO-COMMIT FIRST (Step 1b)**
270
+
271
+ ### 1b. Auto-Commit Uncommitted Changes (if any)
272
+
273
+ When `--only --push` is used, uncommitted changes should be committed automatically before version bump.
274
+
275
+ **Algorithm to generate commit message:**
276
+
277
+ 1. Run `git status --porcelain` and categorize files:
278
+ - `src/**` → code changes
279
+ - `*.md`, `docs/` → documentation
280
+ - `.specweave/docs/internal/**` → internal docs
281
+ - `plugins/**` → plugin changes
282
+ - `tests/**`, `*.test.ts` → test changes
283
+ - `package*.json`, `*.config.*` → config/deps
284
+
285
+ 2. Determine primary category (most files) and action (add/update/remove):
286
+ - New files (`??`, `A`) → "add"
287
+ - Modified (`M`) → "update"
288
+ - Deleted (`D`) → "remove"
289
+
290
+ 3. Generate concise message: `type: action description`
291
+
292
+ **Examples:**
293
+ - Many ADR renames + docs moves → `chore: reorganize internal docs structure`
294
+ - Plugin command updates → `feat(release): add --push flag to npm release`
295
+ - Mixed code + docs → `chore: update code and documentation`
296
+
297
+ **Execute auto-commit:**
298
+ ```bash
299
+ git add -A
300
+ git commit -m "[generated message]"
301
+ ```
302
+
303
+ Then continue with version bump.
304
+
305
+ ### 2. Bump Patch Version
306
+
307
+ ```bash
308
+ # This creates commit + tag automatically
309
+ npm version patch -m "chore: bump version to %s"
310
+ ```
311
+
312
+ ### 3. Extract New Version
313
+
314
+ ```bash
315
+ # Get the new version
316
+ node -p "require('./package.json').version"
317
+ ```
318
+
319
+ ### 4. Build Package
320
+
321
+ ```bash
322
+ # Build the package before publishing
323
+ npm run rebuild
324
+ ```
325
+
326
+ **Critical**: Must rebuild to ensure dist/ is up-to-date before publishing.
327
+
328
+ ### 5. Publish to NPM Directly
329
+
330
+ ```bash
331
+ # Publish directly to npm (bypasses GitHub Actions)
332
+ npm publish
333
+ ```
334
+
335
+ ### 6. Push to Git (NEW!)
336
+
337
+ ```bash
338
+ # Push commit and tag to sync with remote
339
+ git push origin develop --follow-tags
340
+ ```
341
+
342
+ **What this does**:
343
+ - Syncs your version bump commit to GitHub
344
+ - Pushes the version tag (vX.Y.Z)
345
+ - Does NOT trigger CI npm publish (already published!)
346
+
347
+ ### 7. Report Results (Direct Mode + Push)
348
+
349
+ Show the user:
350
+ ```markdown
351
+ ✅ **Complete local release!**
352
+
353
+ 📦 **Version**: vX.Y.Z
354
+ 🔗 **NPM**: https://www.npmjs.com/package/specweave
355
+ 🏷️ **Git Tag**: https://github.com/anton-abyzov/specweave/releases/tag/vX.Y.Z
356
+
357
+ **What happened**:
358
+ - ✅ Version bumped and committed
359
+ - ✅ Git tag created
360
+ - ✅ Package built (npm run rebuild)
361
+ - ✅ Published to npm directly
362
+ - ✅ Pushed to GitHub (commit + tag)
363
+
364
+ **Verify**:
365
+ - NPM: https://www.npmjs.com/package/specweave
366
+ - Version: `npm view specweave version`
367
+ - GitHub: Check releases page
368
+
369
+ **Note**: This was a direct publish. GitHub Actions will NOT republish
370
+ (the tag already exists, CI skips existing versions).
371
+ ```
372
+
373
+ ## Direct Mode + Push Safety Rules
374
+
375
+ - ✅ ALWAYS rebuild before publishing
376
+ - ✅ Publishes FIRST, then pushes (ensures npm has the version)
377
+ - ✅ If push fails, npm already has the release (safe state)
378
+ - ✅ CI will skip publishing for this version (tag already exists)
379
+ - ⚠️ Use when you need immediate npm availability + git sync
380
+
381
+ ## Success Criteria (Direct Mode + Push)
382
+
383
+ ✅ Version bumped in package.json
384
+ ✅ Git commit created
385
+ ✅ Git tag created
386
+ ✅ Package rebuilt
387
+ ✅ Published to npm directly
388
+ ✅ Pushed to GitHub (commit + tag synced)
389
+
390
+ ---
391
+
392
+ ## Quick Reference
393
+
394
+ ```bash
395
+ # Standard release (CI handles npm publish)
396
+ /specweave-release:npm
397
+
398
+ # Quick local publish, sync git later
399
+ /specweave-release:npm --only
400
+
401
+ # Complete local release (publish + push)
402
+ /specweave-release:npm --only --push
403
+ ```
404
+
405
+ | Scenario | Command | NPM Published By | Git Pushed |
406
+ |----------|---------|------------------|------------|
407
+ | Normal release | (no flags) | GitHub Actions | ✅ Yes |
408
+ | Quick local, push later | `--only` | You (local) | ❌ No |
409
+ | Complete local release | `--only --push` | You (local) | ✅ Yes |
@@ -1207,3 +1207,12 @@
1207
1207
  [2025-11-26 08:52:36] 🎯 Post-Increment-Completion Hook Triggered
1208
1208
  [2025-11-26 08:52:36] ⚠️ DORA calculator not found at /Users/antonabyzov/Projects/github/specweave/plugins/specweave-release/hooks/dist/src/metrics/dora-calculator.js
1209
1209
  [2025-11-26 08:52:36] Run: npm run build
1210
+ [2025-11-26 12:29:21] 🎯 Post-Increment-Completion Hook Triggered
1211
+ [2025-11-26 12:29:21] ⚠️ DORA calculator not found at /Users/antonabyzov/Projects/github/specweave/plugins/specweave-release/hooks/dist/src/metrics/dora-calculator.js
1212
+ [2025-11-26 12:29:21] Run: npm run build
1213
+ [2025-11-26 12:29:21] 🎯 Post-Increment-Completion Hook Triggered
1214
+ [2025-11-26 12:29:21] ⚠️ DORA calculator not found at /Users/antonabyzov/Projects/github/specweave/plugins/specweave-release/hooks/dist/src/metrics/dora-calculator.js
1215
+ [2025-11-26 12:29:21] Run: npm run build
1216
+ [2025-11-26 12:29:21] 🎯 Post-Increment-Completion Hook Triggered
1217
+ [2025-11-26 12:29:21] ⚠️ DORA calculator not found at /Users/antonabyzov/Projects/github/specweave/plugins/specweave-release/hooks/dist/src/metrics/dora-calculator.js
1218
+ [2025-11-26 12:29:21] Run: npm run build