specweave 0.28.36 → 0.28.45
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/CLAUDE.md +21 -0
- package/README.md +10 -9
- package/bin/specweave.js +2 -1
- package/dist/src/cli/commands/archive.d.ts.map +1 -1
- package/dist/src/cli/commands/archive.js +2 -1
- package/dist/src/cli/commands/archive.js.map +1 -1
- package/dist/src/cli/commands/init.d.ts.map +1 -1
- package/dist/src/cli/commands/init.js +33 -0
- package/dist/src/cli/commands/init.js.map +1 -1
- package/dist/src/cli/helpers/ado-area-selector.d.ts +49 -0
- package/dist/src/cli/helpers/ado-area-selector.d.ts.map +1 -0
- package/dist/src/cli/helpers/ado-area-selector.js +162 -0
- package/dist/src/cli/helpers/ado-area-selector.js.map +1 -0
- package/dist/src/cli/helpers/init/config-detection.d.ts +5 -1
- package/dist/src/cli/helpers/init/config-detection.d.ts.map +1 -1
- package/dist/src/cli/helpers/init/config-detection.js +50 -17
- package/dist/src/cli/helpers/init/config-detection.js.map +1 -1
- package/dist/src/cli/helpers/init/external-import.js +3 -3
- package/dist/src/cli/helpers/init/external-import.js.map +1 -1
- package/dist/src/cli/helpers/init/repository-setup.d.ts +2 -0
- package/dist/src/cli/helpers/init/repository-setup.d.ts.map +1 -1
- package/dist/src/cli/helpers/init/repository-setup.js +34 -2
- package/dist/src/cli/helpers/init/repository-setup.js.map +1 -1
- package/dist/src/cli/helpers/init/types.d.ts +3 -0
- package/dist/src/cli/helpers/init/types.d.ts.map +1 -1
- package/dist/src/cli/helpers/issue-tracker/ado.d.ts +17 -0
- package/dist/src/cli/helpers/issue-tracker/ado.d.ts.map +1 -1
- package/dist/src/cli/helpers/issue-tracker/ado.js +308 -44
- package/dist/src/cli/helpers/issue-tracker/ado.js.map +1 -1
- package/dist/src/cli/helpers/issue-tracker/index.d.ts.map +1 -1
- package/dist/src/cli/helpers/issue-tracker/index.js +103 -35
- package/dist/src/cli/helpers/issue-tracker/index.js.map +1 -1
- package/dist/src/cli/helpers/issue-tracker/types.d.ts +26 -2
- package/dist/src/cli/helpers/issue-tracker/types.d.ts.map +1 -1
- package/dist/src/cli/helpers/issue-tracker/types.js.map +1 -1
- package/dist/src/core/increment/discipline-checker.js +1 -1
- package/dist/src/core/increment/increment-archiver.d.ts +13 -0
- package/dist/src/core/increment/increment-archiver.d.ts.map +1 -1
- package/dist/src/core/increment/increment-archiver.js +60 -3
- package/dist/src/core/increment/increment-archiver.js.map +1 -1
- package/dist/src/core/living-docs/feature-archiver.d.ts.map +1 -1
- package/dist/src/core/living-docs/feature-archiver.js +75 -37
- package/dist/src/core/living-docs/feature-archiver.js.map +1 -1
- package/dist/src/core/living-docs/living-docs-sync.d.ts +2 -111
- package/dist/src/core/living-docs/living-docs-sync.d.ts.map +1 -1
- package/dist/src/core/living-docs/living-docs-sync.js +18 -383
- package/dist/src/core/living-docs/living-docs-sync.js.map +1 -1
- package/dist/src/core/living-docs/sync-helpers/file-utils.d.ts +30 -0
- package/dist/src/core/living-docs/sync-helpers/file-utils.d.ts.map +1 -0
- package/dist/src/core/living-docs/sync-helpers/file-utils.js +107 -0
- package/dist/src/core/living-docs/sync-helpers/file-utils.js.map +1 -0
- package/dist/src/core/living-docs/sync-helpers/generators.d.ts +19 -0
- package/dist/src/core/living-docs/sync-helpers/generators.d.ts.map +1 -0
- package/dist/src/core/living-docs/sync-helpers/generators.js +146 -0
- package/dist/src/core/living-docs/sync-helpers/generators.js.map +1 -0
- package/dist/src/core/living-docs/sync-helpers/index.d.ts +8 -0
- package/dist/src/core/living-docs/sync-helpers/index.d.ts.map +1 -0
- package/dist/src/core/living-docs/sync-helpers/index.js +11 -0
- package/dist/src/core/living-docs/sync-helpers/index.js.map +1 -0
- package/dist/src/core/living-docs/sync-helpers/parsers.d.ts +19 -0
- package/dist/src/core/living-docs/sync-helpers/parsers.d.ts.map +1 -0
- package/dist/src/core/living-docs/sync-helpers/parsers.js +94 -0
- package/dist/src/core/living-docs/sync-helpers/parsers.js.map +1 -0
- package/dist/src/core/living-docs/types.d.ts +45 -0
- package/dist/src/core/living-docs/types.d.ts.map +1 -1
- package/dist/src/core/types/config.d.ts +1 -1
- package/dist/src/core/types/config.js +2 -2
- package/dist/src/core/types/config.js.map +1 -1
- package/dist/src/importers/ado-importer.d.ts.map +1 -1
- package/dist/src/importers/ado-importer.js +3 -0
- package/dist/src/importers/ado-importer.js.map +1 -1
- package/dist/src/importers/item-converter.d.ts.map +1 -1
- package/dist/src/importers/item-converter.js +10 -2
- package/dist/src/importers/item-converter.js.map +1 -1
- package/dist/src/living-docs/fs-id-allocator.d.ts +5 -0
- package/dist/src/living-docs/fs-id-allocator.d.ts.map +1 -1
- package/dist/src/living-docs/fs-id-allocator.js +31 -2
- package/dist/src/living-docs/fs-id-allocator.js.map +1 -1
- package/dist/src/utils/external-resource-validator.d.ts +5 -192
- package/dist/src/utils/external-resource-validator.d.ts.map +1 -1
- package/dist/src/utils/external-resource-validator.js +10 -1162
- package/dist/src/utils/external-resource-validator.js.map +1 -1
- package/dist/src/utils/validators/ado-validator.d.ts +94 -0
- package/dist/src/utils/validators/ado-validator.d.ts.map +1 -0
- package/dist/src/utils/validators/ado-validator.js +547 -0
- package/dist/src/utils/validators/ado-validator.js.map +1 -0
- package/dist/src/utils/validators/index.d.ts +11 -0
- package/dist/src/utils/validators/index.d.ts.map +1 -0
- package/dist/src/utils/validators/index.js +12 -0
- package/dist/src/utils/validators/index.js.map +1 -0
- package/dist/src/utils/validators/jira-validator.d.ts +70 -0
- package/dist/src/utils/validators/jira-validator.d.ts.map +1 -0
- package/dist/src/utils/validators/jira-validator.js +606 -0
- package/dist/src/utils/validators/jira-validator.js.map +1 -0
- package/dist/src/utils/validators/types.d.ts +82 -0
- package/dist/src/utils/validators/types.d.ts.map +1 -0
- package/dist/src/utils/validators/types.js +6 -0
- package/dist/src/utils/validators/types.js.map +1 -0
- package/package.json +1 -1
- package/plugins/specweave/.claude-plugin/plugin.json +7 -62
- package/plugins/specweave/commands/specweave-archive.md +3 -3
- package/plugins/specweave/commands/specweave-increment.md +18 -19
- package/plugins/specweave/hooks/hooks.json +3 -49
- package/plugins/specweave/hooks/hooks.json.bak +72 -0
- package/plugins/specweave/hooks/hooks.json.v1-backup +16 -0
- package/plugins/specweave/hooks/lib/update-status-line.sh +39 -15
- package/plugins/specweave/hooks/post-task-edit.sh +10 -0
- package/plugins/specweave/hooks/user-prompt-submit.sh +27 -8
- package/plugins/specweave/hooks/v2/dispatchers/post-tool-use.sh +44 -0
- package/plugins/specweave/hooks/v2/dispatchers/session-start.sh +24 -0
- package/plugins/specweave/hooks/v2/handlers/ac-validation-handler.sh +46 -0
- package/plugins/specweave/hooks/v2/handlers/github-sync-handler.sh +54 -0
- package/plugins/specweave/hooks/v2/handlers/living-docs-handler.sh +46 -0
- package/plugins/specweave/hooks/v2/handlers/status-update.sh +50 -0
- package/plugins/specweave/hooks/v2/hooks.json +16 -0
- package/plugins/specweave/hooks/v2/queue/dequeue.sh +30 -0
- package/plugins/specweave/hooks/v2/queue/enqueue.sh +41 -0
- package/plugins/specweave/hooks/v2/queue/processor.sh +72 -0
- package/plugins/specweave-ado/lib/ado-multi-project-sync.js +0 -1
- package/plugins/specweave-github/hooks/.specweave/logs/hooks-debug.log +20 -1262
- package/plugins/specweave-jira/lib/enhanced-jira-sync.js +3 -3
- package/plugins/specweave-release/commands/specweave-release-npm.md +132 -24
- package/plugins/specweave-release/hooks/.specweave/logs/dora-tracking.log +30 -1254
- package/src/templates/tasks.md.template +2 -0
- package/plugins/specweave/hooks/docs-changed.sh.backup +0 -79
- package/plugins/specweave/hooks/human-input-required.sh.backup +0 -75
- package/plugins/specweave/hooks/post-first-increment.sh.backup +0 -61
- package/plugins/specweave/hooks/post-increment-change.sh.backup +0 -98
- package/plugins/specweave/hooks/post-increment-completion.sh.backup +0 -231
- package/plugins/specweave/hooks/post-increment-planning.sh.backup +0 -1048
- package/plugins/specweave/hooks/post-increment-status-change.sh.backup +0 -147
- package/plugins/specweave/hooks/post-spec-update.sh.backup +0 -158
- package/plugins/specweave/hooks/post-user-story-complete.sh.backup +0 -179
- package/plugins/specweave/hooks/pre-command-deduplication.sh.backup +0 -83
- package/plugins/specweave/hooks/pre-implementation.sh.backup +0 -67
- package/plugins/specweave/hooks/pre-task-completion.sh.backup +0 -194
- package/plugins/specweave/hooks/pre-tool-use.sh.backup +0 -133
- package/plugins/specweave/hooks/user-prompt-submit.sh.backup +0 -386
- package/plugins/specweave-ado/hooks/post-living-docs-update.sh.backup +0 -353
- package/plugins/specweave-ado/hooks/post-task-completion.sh.backup +0 -172
- package/plugins/specweave-ado/lib/enhanced-ado-sync.js +0 -170
- package/plugins/specweave-github/hooks/post-task-completion.sh.backup +0 -258
- package/plugins/specweave-jira/hooks/post-task-completion.sh.backup +0 -172
- package/plugins/specweave-release/hooks/post-task-completion.sh.backup +0 -110
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { EnhancedContentBuilder } from "../../../
|
|
2
|
-
import { SpecIncrementMapper } from "../../../
|
|
3
|
-
import { parseSpecContent } from "../../../
|
|
1
|
+
import { EnhancedContentBuilder } from "../../../src/core/sync/enhanced-content-builder.js";
|
|
2
|
+
import { SpecIncrementMapper } from "../../../src/core/sync/spec-increment-mapper.js";
|
|
3
|
+
import { parseSpecContent } from "../../../src/core/spec-content-sync.js";
|
|
4
4
|
import * as path from "path";
|
|
5
5
|
import * as fs from "fs/promises";
|
|
6
6
|
async function syncSpecToJiraWithEnhancedContent(options) {
|
|
@@ -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.
|
|
3
|
+
description: Bump patch version, create git tag, and trigger npm publish via GitHub Actions. Use --quick for instant release (auto-commits dirty changes, publishes to npmjs.org, pushes to git). Use --only for local publish without git push. Use --only --local for version bump only.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# /specweave-release:npm - NPM Release Automation
|
|
@@ -12,8 +12,9 @@ You are the NPM Release Assistant. Your job is to automate the patch version rel
|
|
|
12
12
|
| Command | Flow | Use Case |
|
|
13
13
|
|---------|------|----------|
|
|
14
14
|
| `/specweave-release:npm` | Bump → Push → **CI publishes** | Standard release (CI handles npm) |
|
|
15
|
+
| `/specweave-release:npm --quick` | Auto-commit → Bump → Build → **Publish** → Push | **INSTANT RELEASE** (recommended!) |
|
|
15
16
|
| `/specweave-release:npm --only` | Bump → Build → **Publish locally** → NO push | Quick local release, push later |
|
|
16
|
-
| `/specweave-release:npm --only --push` | Bump → Build → **Publish
|
|
17
|
+
| `/specweave-release:npm --only --push` | Auto-commit → Bump → Build → **Publish** → Push | Same as --quick |
|
|
17
18
|
| `/specweave-release:npm --only --local` | **Bump ONLY** → NO build, NO publish, NO git | FASTEST: Local testing only |
|
|
18
19
|
|
|
19
20
|
## Detecting Mode
|
|
@@ -21,25 +22,126 @@ You are the NPM Release Assistant. Your job is to automate the patch version rel
|
|
|
21
22
|
Check flags in the command invocation:
|
|
22
23
|
|
|
23
24
|
```
|
|
25
|
+
--quick → INSTANT RELEASE: auto-commit dirty, publish to npmjs.org, push git
|
|
24
26
|
--only --local → Version bump ONLY (no build, no publish, no git) - FASTEST
|
|
25
|
-
--only --push →
|
|
26
|
-
--only → Direct publish to npm (bypass CI)
|
|
27
|
+
--only --push → Same as --quick (legacy alias)
|
|
28
|
+
--only → Direct publish to npm (bypass CI), no git push
|
|
27
29
|
(no flags) → Default: push to git, CI publishes
|
|
28
30
|
```
|
|
29
31
|
|
|
30
32
|
**Flag Detection Order:**
|
|
31
|
-
1. Check for `--
|
|
32
|
-
2.
|
|
33
|
-
3. If `--only` present, check for `--
|
|
34
|
-
4. If `--only`
|
|
35
|
-
5.
|
|
36
|
-
|
|
33
|
+
1. Check for `--quick` flag → QUICK MODE (instant release!)
|
|
34
|
+
2. Check for `--only` flag
|
|
35
|
+
3. If `--only` present, check for `--local` flag → LOCAL MODE (fastest)
|
|
36
|
+
4. If `--only` present, check for `--push` flag → DIRECT MODE + PUSH (same as --quick)
|
|
37
|
+
5. If `--only` only → DIRECT MODE
|
|
38
|
+
6. No flags → DEFAULT MODE
|
|
39
|
+
|
|
40
|
+
**If `--quick`**: Use QUICK MODE (section "Quick Mode Workflow") - INSTANT RELEASE!
|
|
37
41
|
**If `--only --local`**: Use LOCAL MODE (section "Local Mode Workflow") - FASTEST!
|
|
38
42
|
**If `--only --push`**: Use DIRECT MODE WITH PUSH (section "Direct Mode + Push Workflow")
|
|
39
43
|
**If `--only` only**: Use DIRECT MODE (section "Direct Mode Workflow")
|
|
40
44
|
**If no flags**: Use DEFAULT MODE (continue with steps below)
|
|
41
45
|
|
|
42
|
-
|
|
46
|
+
---
|
|
47
|
+
|
|
48
|
+
## QUICK MODE WORKFLOW (--quick flag) - RECOMMENDED!
|
|
49
|
+
|
|
50
|
+
Use this workflow when `--quick` flag is detected. This is the **instant release** mode - auto-commits any dirty changes, publishes directly to npmjs.org, and pushes to git. One command does everything!
|
|
51
|
+
|
|
52
|
+
**Use case**: You made changes and want to release immediately. No manual steps needed.
|
|
53
|
+
|
|
54
|
+
### 1. Pre-flight Check (Minimal)
|
|
55
|
+
|
|
56
|
+
```bash
|
|
57
|
+
# Verify we're on develop branch
|
|
58
|
+
git rev-parse --abbrev-ref HEAD
|
|
59
|
+
|
|
60
|
+
# Get current version
|
|
61
|
+
node -p "require('./package.json').version"
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
**STOP if**: Not on `develop` branch (ask user to switch)
|
|
65
|
+
|
|
66
|
+
**If uncommitted changes exist → AUTO-COMMIT (Step 2)**
|
|
67
|
+
|
|
68
|
+
### 2. Auto-Commit Dirty Changes (if any)
|
|
69
|
+
|
|
70
|
+
```bash
|
|
71
|
+
# Check for uncommitted changes
|
|
72
|
+
git status --porcelain
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
If dirty, generate smart commit message and commit:
|
|
76
|
+
|
|
77
|
+
```bash
|
|
78
|
+
git add -A
|
|
79
|
+
git commit -m "[auto-generated message based on changed files]"
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
**Message generation rules:**
|
|
83
|
+
- `src/**` changes → `fix: update implementation`
|
|
84
|
+
- `plugins/**` changes → `feat(plugins): update plugin`
|
|
85
|
+
- `.specweave/**` changes → `chore: update specweave config`
|
|
86
|
+
- `*.md` changes → `docs: update documentation`
|
|
87
|
+
- Mixed → `chore: update code and documentation`
|
|
88
|
+
|
|
89
|
+
### 3. Bump Patch Version
|
|
90
|
+
|
|
91
|
+
```bash
|
|
92
|
+
npm version patch -m "chore: bump version to %s"
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
### 4. Build Package
|
|
96
|
+
|
|
97
|
+
```bash
|
|
98
|
+
npm run rebuild
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
### 5. Publish to NPM (with explicit registry!)
|
|
102
|
+
|
|
103
|
+
```bash
|
|
104
|
+
# CRITICAL: Always specify registry to avoid ~/.npmrc redirecting to private feeds!
|
|
105
|
+
npm publish --registry https://registry.npmjs.org
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
### 6. Push to Git
|
|
109
|
+
|
|
110
|
+
```bash
|
|
111
|
+
git push origin develop --follow-tags
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
### 7. Report Results
|
|
115
|
+
|
|
116
|
+
```markdown
|
|
117
|
+
✅ **Instant release complete!**
|
|
118
|
+
|
|
119
|
+
📦 **Version**: vX.Y.Z
|
|
120
|
+
🔗 **NPM**: https://www.npmjs.com/package/specweave
|
|
121
|
+
🏷️ **GitHub**: https://github.com/anton-abyzov/specweave/releases/tag/vX.Y.Z
|
|
122
|
+
|
|
123
|
+
**What happened**:
|
|
124
|
+
- ✅ Dirty changes auto-committed
|
|
125
|
+
- ✅ Version bumped to X.Y.Z
|
|
126
|
+
- ✅ Package built
|
|
127
|
+
- ✅ Published to npmjs.org
|
|
128
|
+
- ✅ Pushed to GitHub
|
|
129
|
+
|
|
130
|
+
**Verify**: `npm view specweave version --registry https://registry.npmjs.org`
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
## Quick Mode Success Criteria
|
|
134
|
+
|
|
135
|
+
✅ Any dirty changes auto-committed
|
|
136
|
+
✅ Version bumped in package.json
|
|
137
|
+
✅ Git commit and tag created
|
|
138
|
+
✅ Package rebuilt
|
|
139
|
+
✅ Published to npmjs.org (explicit registry!)
|
|
140
|
+
✅ Pushed to GitHub
|
|
141
|
+
|
|
142
|
+
---
|
|
143
|
+
|
|
144
|
+
## DEFAULT MODE - Your Task
|
|
43
145
|
|
|
44
146
|
Execute the following steps in order:
|
|
45
147
|
|
|
@@ -195,13 +297,14 @@ npm run rebuild
|
|
|
195
297
|
### 5. Publish to NPM Directly
|
|
196
298
|
|
|
197
299
|
```bash
|
|
198
|
-
# Publish directly to
|
|
199
|
-
|
|
300
|
+
# Publish directly to npmjs.org (bypasses GitHub Actions)
|
|
301
|
+
# CRITICAL: Always specify registry to avoid ~/.npmrc redirecting to private feeds!
|
|
302
|
+
npm publish --registry https://registry.npmjs.org
|
|
200
303
|
```
|
|
201
304
|
|
|
202
305
|
**What this does**:
|
|
203
306
|
- Builds package tarball
|
|
204
|
-
- Publishes to
|
|
307
|
+
- Publishes to **npmjs.org** registry immediately (ignores ~/.npmrc)
|
|
205
308
|
- No GitHub Actions involvement
|
|
206
309
|
|
|
207
310
|
### 6. Report Results (Direct Mode)
|
|
@@ -333,8 +436,9 @@ npm run rebuild
|
|
|
333
436
|
### 5. Publish to NPM Directly
|
|
334
437
|
|
|
335
438
|
```bash
|
|
336
|
-
# Publish directly to
|
|
337
|
-
|
|
439
|
+
# Publish directly to npmjs.org (bypasses GitHub Actions)
|
|
440
|
+
# CRITICAL: Always specify registry to avoid ~/.npmrc redirecting to private feeds!
|
|
441
|
+
npm publish --registry https://registry.npmjs.org
|
|
338
442
|
```
|
|
339
443
|
|
|
340
444
|
### 6. Push to Git (NEW!)
|
|
@@ -397,25 +501,29 @@ Show the user:
|
|
|
397
501
|
## Quick Reference
|
|
398
502
|
|
|
399
503
|
```bash
|
|
504
|
+
# RECOMMENDED: Instant release (auto-commits dirty, publishes, pushes)
|
|
505
|
+
/specweave-release:npm --quick
|
|
506
|
+
|
|
400
507
|
# Standard release (CI handles npm publish)
|
|
401
508
|
/specweave-release:npm
|
|
402
509
|
|
|
403
510
|
# Quick local publish, sync git later
|
|
404
511
|
/specweave-release:npm --only
|
|
405
512
|
|
|
406
|
-
# Complete local release (publish + push)
|
|
513
|
+
# Complete local release (publish + push) - same as --quick
|
|
407
514
|
/specweave-release:npm --only --push
|
|
408
515
|
|
|
409
516
|
# FASTEST: Version bump only (no publish, no git, no build)
|
|
410
517
|
/specweave-release:npm --only --local
|
|
411
518
|
```
|
|
412
519
|
|
|
413
|
-
| Scenario | Command | NPM Published By | Git Pushed |
|
|
414
|
-
|
|
415
|
-
|
|
|
416
|
-
|
|
|
417
|
-
|
|
|
418
|
-
|
|
|
520
|
+
| Scenario | Command | Auto-Commit Dirty? | NPM Published By | Git Pushed |
|
|
521
|
+
|----------|---------|-------------------|------------------|------------|
|
|
522
|
+
| **INSTANT RELEASE** | `--quick` | ✅ Yes | You (npmjs.org) | ✅ Yes |
|
|
523
|
+
| Normal release | (no flags) | ❌ STOP | GitHub Actions | ✅ Yes |
|
|
524
|
+
| Quick local, push later | `--only` | ❌ STOP | You (npmjs.org) | ❌ No |
|
|
525
|
+
| Complete local release | `--only --push` | ✅ Yes | You (npmjs.org) | ✅ Yes |
|
|
526
|
+
| **FASTEST local test** | `--only --local` | N/A | ❌ None | ❌ No |
|
|
419
527
|
|
|
420
528
|
---
|
|
421
529
|
|
|
@@ -472,7 +580,7 @@ Show the user:
|
|
|
472
580
|
2. Test: `npm test`
|
|
473
581
|
3. Commit: `git add . && git commit -m "chore: bump version to X.Y.Z"`
|
|
474
582
|
4. Tag: `git tag vX.Y.Z`
|
|
475
|
-
5. Publish: `npm publish`
|
|
583
|
+
5. Publish: `npm publish --registry https://registry.npmjs.org`
|
|
476
584
|
6. Push: `git push origin develop --follow-tags`
|
|
477
585
|
|
|
478
586
|
**Or use**: `/specweave-release:npm --only --push` for full release
|