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.
- package/dist/plugins/specweave-ado/lib/ado-spec-sync.d.ts +16 -0
- package/dist/plugins/specweave-ado/lib/ado-spec-sync.d.ts.map +1 -1
- package/dist/plugins/specweave-ado/lib/ado-spec-sync.js +63 -3
- package/dist/plugins/specweave-ado/lib/ado-spec-sync.js.map +1 -1
- package/dist/plugins/specweave-ado/lib/ado-status-sync.d.ts +12 -3
- package/dist/plugins/specweave-ado/lib/ado-status-sync.d.ts.map +1 -1
- package/dist/plugins/specweave-ado/lib/ado-status-sync.js +37 -3
- package/dist/plugins/specweave-ado/lib/ado-status-sync.js.map +1 -1
- package/dist/plugins/specweave-github/lib/github-increment-sync-cli.d.ts +8 -6
- package/dist/plugins/specweave-github/lib/github-increment-sync-cli.d.ts.map +1 -1
- package/dist/plugins/specweave-github/lib/github-increment-sync-cli.js +230 -165
- package/dist/plugins/specweave-github/lib/github-increment-sync-cli.js.map +1 -1
- package/dist/plugins/specweave-github/lib/github-status-sync.d.ts +10 -0
- package/dist/plugins/specweave-github/lib/github-status-sync.d.ts.map +1 -1
- package/dist/plugins/specweave-github/lib/github-status-sync.js +40 -2
- package/dist/plugins/specweave-github/lib/github-status-sync.js.map +1 -1
- package/dist/plugins/specweave-github/lib/increment-issue-builder.d.ts +2 -0
- package/dist/plugins/specweave-github/lib/increment-issue-builder.d.ts.map +1 -1
- package/dist/plugins/specweave-github/lib/increment-issue-builder.js +25 -5
- package/dist/plugins/specweave-github/lib/increment-issue-builder.js.map +1 -1
- package/dist/plugins/specweave-jira/lib/jira-spec-sync.d.ts +12 -0
- package/dist/plugins/specweave-jira/lib/jira-spec-sync.d.ts.map +1 -1
- package/dist/plugins/specweave-jira/lib/jira-spec-sync.js +57 -5
- package/dist/plugins/specweave-jira/lib/jira-spec-sync.js.map +1 -1
- package/dist/plugins/specweave-jira/lib/jira-status-sync.d.ts +5 -1
- package/dist/plugins/specweave-jira/lib/jira-status-sync.d.ts.map +1 -1
- package/dist/plugins/specweave-jira/lib/jira-status-sync.js +12 -4
- package/dist/plugins/specweave-jira/lib/jira-status-sync.js.map +1 -1
- package/dist/src/cli/commands/init.d.ts.map +1 -1
- package/dist/src/cli/commands/init.js +7 -3
- package/dist/src/cli/commands/init.js.map +1 -1
- package/dist/src/cli/helpers/init/external-import.d.ts.map +1 -1
- package/dist/src/cli/helpers/init/external-import.js +193 -23
- package/dist/src/cli/helpers/init/external-import.js.map +1 -1
- package/dist/src/cli/helpers/init/jira-ado-auto-detect.d.ts +115 -0
- package/dist/src/cli/helpers/init/jira-ado-auto-detect.d.ts.map +1 -0
- package/dist/src/cli/helpers/init/jira-ado-auto-detect.js +590 -0
- package/dist/src/cli/helpers/init/jira-ado-auto-detect.js.map +1 -0
- package/dist/src/cli/helpers/init/language-selection.js +1 -1
- package/dist/src/cli/helpers/init/language-selection.js.map +1 -1
- package/dist/src/cli/helpers/init/repository-setup.js +1 -1
- package/dist/src/cli/helpers/init/repository-setup.js.map +1 -1
- package/dist/src/config/types.d.ts +6 -6
- package/dist/src/core/background/index.d.ts +11 -0
- package/dist/src/core/background/index.d.ts.map +1 -0
- package/dist/src/core/background/index.js +11 -0
- package/dist/src/core/background/index.js.map +1 -0
- package/dist/src/core/background/job-manager.d.ts +65 -0
- package/dist/src/core/background/job-manager.d.ts.map +1 -0
- package/dist/src/core/background/job-manager.js +192 -0
- package/dist/src/core/background/job-manager.js.map +1 -0
- package/dist/src/core/background/types.d.ts +59 -0
- package/dist/src/core/background/types.d.ts.map +1 -0
- package/dist/src/core/background/types.js +8 -0
- package/dist/src/core/background/types.js.map +1 -0
- package/dist/src/core/repo-structure/multi-repo-configurator.d.ts +25 -0
- package/dist/src/core/repo-structure/multi-repo-configurator.d.ts.map +1 -0
- package/dist/src/core/repo-structure/multi-repo-configurator.js +614 -0
- package/dist/src/core/repo-structure/multi-repo-configurator.js.map +1 -0
- package/dist/src/core/repo-structure/prompt-consolidator.d.ts.map +1 -1
- package/dist/src/core/repo-structure/prompt-consolidator.js +6 -36
- package/dist/src/core/repo-structure/prompt-consolidator.js.map +1 -1
- package/dist/src/core/repo-structure/repo-initializer.d.ts +40 -0
- package/dist/src/core/repo-structure/repo-initializer.d.ts.map +1 -0
- package/dist/src/core/repo-structure/repo-initializer.js +260 -0
- package/dist/src/core/repo-structure/repo-initializer.js.map +1 -0
- package/dist/src/core/repo-structure/repo-structure-manager.d.ts +3 -37
- package/dist/src/core/repo-structure/repo-structure-manager.d.ts.map +1 -1
- package/dist/src/core/repo-structure/repo-structure-manager.js +23 -803
- package/dist/src/core/repo-structure/repo-structure-manager.js.map +1 -1
- package/dist/src/core/types/spec-metadata.d.ts +2 -0
- package/dist/src/core/types/spec-metadata.d.ts.map +1 -1
- package/dist/src/importers/import-coordinator.d.ts +20 -0
- package/dist/src/importers/import-coordinator.d.ts.map +1 -1
- package/dist/src/importers/import-coordinator.js.map +1 -1
- package/dist/src/init/architecture/types.d.ts +2 -2
- package/dist/src/init/compliance/types.d.ts +1 -1
- package/package.json +1 -1
- package/plugins/specweave/commands/specweave-jobs.md +160 -0
- package/plugins/specweave-ado/lib/ado-spec-sync.js +59 -3
- package/plugins/specweave-ado/lib/ado-spec-sync.ts +72 -3
- package/plugins/specweave-ado/lib/ado-status-sync.js +35 -3
- package/plugins/specweave-ado/lib/ado-status-sync.ts +48 -4
- package/plugins/specweave-github/hooks/.specweave/logs/hooks-debug.log +6 -0
- package/plugins/specweave-github/lib/github-increment-sync-cli.js +268 -155
- package/plugins/specweave-github/lib/github-increment-sync-cli.ts +313 -209
- package/plugins/specweave-github/lib/github-status-sync.js +37 -1
- package/plugins/specweave-github/lib/github-status-sync.ts +60 -4
- package/plugins/specweave-github/lib/increment-issue-builder.js +26 -5
- package/plugins/specweave-github/lib/increment-issue-builder.ts +36 -5
- package/plugins/specweave-jira/lib/jira-spec-sync.js +53 -5
- package/plugins/specweave-jira/lib/jira-spec-sync.ts +87 -7
- package/plugins/specweave-jira/lib/jira-status-sync.js +9 -3
- package/plugins/specweave-jira/lib/jira-status-sync.ts +15 -6
- package/plugins/specweave-release/commands/specweave-release-npm.md +187 -8
- 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
|
-
|
|
13
|
-
|
|
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
|
-
|
|
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
|
-
|
|
22
|
-
|
|
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
|