@kb-labs/release-manager-cli 2.119.0 → 2.119.1-canary.b53bbee1d
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/cli/commands/build.js.map +1 -1
- package/dist/cli/commands/changelog.js.map +1 -1
- package/dist/cli/commands/checks.js.map +1 -1
- package/dist/cli/commands/deliver.js.map +1 -1
- package/dist/cli/commands/git.d.ts +2 -0
- package/dist/cli/commands/git.js +11 -4
- package/dist/cli/commands/git.js.map +1 -1
- package/dist/cli/commands/pack.js.map +1 -1
- package/dist/cli/commands/plan.js.map +1 -1
- package/dist/cli/commands/promote.js.map +1 -1
- package/dist/cli/commands/publish.js.map +1 -1
- package/dist/cli/commands/report.js.map +1 -1
- package/dist/cli/commands/rollback.js.map +1 -1
- package/dist/cli/commands/run.js.map +1 -1
- package/dist/cli/commands/stage-plan.js.map +1 -1
- package/dist/cli/commands/stage.js.map +1 -1
- package/dist/cli/commands/status.js.map +1 -1
- package/dist/cli/commands/verify-clean-install.js.map +1 -1
- package/dist/cli/commands/verify.js.map +1 -1
- package/dist/cli/commands/version.d.ts +2 -0
- package/dist/cli/commands/version.js +11 -4
- package/dist/cli/commands/version.js.map +1 -1
- package/dist/contracts/release.schema.js.map +1 -1
- package/dist/index.js +13 -0
- package/dist/index.js.map +1 -1
- package/dist/manifest.js +13 -0
- package/dist/manifest.js.map +1 -1
- package/dist/manifest.json +1309 -0
- package/dist/rest/handlers/build-handler.js.map +1 -1
- package/dist/rest/handlers/changelog-generate-handler.js.map +1 -1
- package/dist/rest/handlers/changelog-handler.js.map +1 -1
- package/dist/rest/handlers/changelog-save-handler.js.map +1 -1
- package/dist/rest/handlers/checklist-handler.js.map +1 -1
- package/dist/rest/handlers/generate-handler.d.ts +2 -2
- package/dist/rest/handlers/generate-handler.js.map +1 -1
- package/dist/rest/handlers/get-checks-handler.js.map +1 -1
- package/dist/rest/handlers/git-timeline-handler.js.map +1 -1
- package/dist/rest/handlers/history-changelog-handler.js.map +1 -1
- package/dist/rest/handlers/history-handler.js.map +1 -1
- package/dist/rest/handlers/history-plan-handler.d.ts +1 -1
- package/dist/rest/handlers/history-plan-handler.js.map +1 -1
- package/dist/rest/handlers/history-report-handler.d.ts +1 -1
- package/dist/rest/handlers/history-report-handler.js.map +1 -1
- package/dist/rest/handlers/plan-handler.d.ts +1 -1
- package/dist/rest/handlers/plan-handler.js.map +1 -1
- package/dist/rest/handlers/preview-handler.js.map +1 -1
- package/dist/rest/handlers/report-handler.d.ts +1 -1
- package/dist/rest/handlers/report-handler.js.map +1 -1
- package/dist/rest/handlers/reset-handler.js.map +1 -1
- package/dist/rest/handlers/run-checks-handler.js.map +1 -1
- package/dist/rest/handlers/run-handler.d.ts +1 -1
- package/dist/rest/handlers/run-handler.js.map +1 -1
- package/dist/rest/handlers/scopes-handler.js.map +1 -1
- package/dist/rest/handlers/status-handler.js.map +1 -1
- package/dist/setup/handler.js.map +1 -1
- package/dist/widgets/117.js +32 -0
- package/dist/widgets/165.js +1 -0
- package/dist/widgets/326.js +1 -0
- package/dist/widgets/370.js +1 -0
- package/dist/widgets/405.js +1 -0
- package/dist/widgets/46.js +445 -0
- package/dist/widgets/50.js +1 -0
- package/dist/widgets/546.js +1 -0
- package/dist/widgets/648.js +1 -0
- package/dist/widgets/669.js +1 -0
- package/dist/widgets/707.js +1 -0
- package/dist/widgets/775.js +1 -0
- package/dist/widgets/78.js +1 -0
- package/dist/widgets/832.js +96 -0
- package/dist/widgets/875.js +25 -0
- package/dist/widgets/945.js +1 -0
- package/dist/widgets/968.js +9 -0
- package/dist/widgets/__federation_expose_ReleasePage.js +1 -0
- package/dist/widgets/mf-manifest.json +229 -0
- package/dist/widgets/mf-stats.json +256 -0
- package/dist/widgets/remoteEntry.js +7 -0
- package/dist/workflows/templates/dry-run.yaml +37 -0
- package/dist/workflows/templates/full-release.yaml +58 -0
- package/dist/workflows/templates/hotfix.yaml +40 -0
- package/package.json +8 -8
|
@@ -0,0 +1,1309 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schema": "kb.plugin/3",
|
|
3
|
+
"id": "@kb-labs/release",
|
|
4
|
+
"version": "0.1.0",
|
|
5
|
+
"display": {
|
|
6
|
+
"name": "Release Manager",
|
|
7
|
+
"description": "Plan, execute, and audit releases across your workspace",
|
|
8
|
+
"tags": [
|
|
9
|
+
"release",
|
|
10
|
+
"publish",
|
|
11
|
+
"versioning"
|
|
12
|
+
]
|
|
13
|
+
},
|
|
14
|
+
"platform": {
|
|
15
|
+
"requires": [
|
|
16
|
+
"storage",
|
|
17
|
+
"cache"
|
|
18
|
+
],
|
|
19
|
+
"optional": [
|
|
20
|
+
"llm",
|
|
21
|
+
"analytics",
|
|
22
|
+
"logger"
|
|
23
|
+
]
|
|
24
|
+
},
|
|
25
|
+
"setup": {
|
|
26
|
+
"handler": "./setup/handler.js#default",
|
|
27
|
+
"describe": "Prepare the .kb/release workspace (plans, reports, backups)."
|
|
28
|
+
},
|
|
29
|
+
"cli": {
|
|
30
|
+
"groupMeta": [
|
|
31
|
+
{
|
|
32
|
+
"path": "release",
|
|
33
|
+
"describe": "Release management commands"
|
|
34
|
+
}
|
|
35
|
+
],
|
|
36
|
+
"commands": [
|
|
37
|
+
{
|
|
38
|
+
"path": "release plan",
|
|
39
|
+
"category": "Pipeline",
|
|
40
|
+
"describe": "Analyze changes and prepare release plan",
|
|
41
|
+
"operationType": "analyze",
|
|
42
|
+
"longDescription": "Detect modified packages and compute version bumps based on changes",
|
|
43
|
+
"handler": "./cli/commands/plan.js#default",
|
|
44
|
+
"flags": [
|
|
45
|
+
{
|
|
46
|
+
"name": "scope",
|
|
47
|
+
"type": "string",
|
|
48
|
+
"description": "Package scope (glob pattern)"
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
"name": "flow",
|
|
52
|
+
"type": "string",
|
|
53
|
+
"description": "Named release flow from release.flows"
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
"name": "bump",
|
|
57
|
+
"type": "string",
|
|
58
|
+
"default": "auto",
|
|
59
|
+
"description": "Version bump strategy",
|
|
60
|
+
"choices": [
|
|
61
|
+
"patch",
|
|
62
|
+
"minor",
|
|
63
|
+
"major",
|
|
64
|
+
"auto"
|
|
65
|
+
]
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
"name": "channel",
|
|
69
|
+
"type": "string",
|
|
70
|
+
"default": "stable",
|
|
71
|
+
"description": "Release channel — canary previews the -canary.<shortsha> version shape",
|
|
72
|
+
"choices": [
|
|
73
|
+
"stable",
|
|
74
|
+
"canary"
|
|
75
|
+
]
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
"name": "json",
|
|
79
|
+
"type": "boolean",
|
|
80
|
+
"description": "Print plan as JSON"
|
|
81
|
+
}
|
|
82
|
+
],
|
|
83
|
+
"examples": [
|
|
84
|
+
"kb release plan",
|
|
85
|
+
"kb release plan --scope packages/*",
|
|
86
|
+
"kb release plan --bump minor",
|
|
87
|
+
"kb release plan --channel canary",
|
|
88
|
+
"kb release plan --json"
|
|
89
|
+
]
|
|
90
|
+
},
|
|
91
|
+
{
|
|
92
|
+
"path": "release run",
|
|
93
|
+
"category": "Pipeline",
|
|
94
|
+
"describe": "Execute release process (plan, check, publish)",
|
|
95
|
+
"operationType": "execute",
|
|
96
|
+
"longDescription": "Run full release: plan versions, run checks, publish packages",
|
|
97
|
+
"handler": "./cli/commands/run.js#default",
|
|
98
|
+
"flags": [
|
|
99
|
+
{
|
|
100
|
+
"name": "scope",
|
|
101
|
+
"type": "string",
|
|
102
|
+
"description": "Package scope or glob pattern (e.g. @my-org/core, packages/*)"
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
"name": "bump",
|
|
106
|
+
"type": "string",
|
|
107
|
+
"default": "auto",
|
|
108
|
+
"description": "Version bump override (default: auto-detect from commits)",
|
|
109
|
+
"choices": [
|
|
110
|
+
"patch",
|
|
111
|
+
"minor",
|
|
112
|
+
"major",
|
|
113
|
+
"auto"
|
|
114
|
+
]
|
|
115
|
+
},
|
|
116
|
+
{
|
|
117
|
+
"name": "strict",
|
|
118
|
+
"type": "boolean",
|
|
119
|
+
"description": "Fail on any check failure"
|
|
120
|
+
},
|
|
121
|
+
{
|
|
122
|
+
"name": "channel",
|
|
123
|
+
"type": "string",
|
|
124
|
+
"default": "stable",
|
|
125
|
+
"description": "Release channel — canary publishes straight to npm under a prerelease tag, no git commit/tag",
|
|
126
|
+
"choices": [
|
|
127
|
+
"stable",
|
|
128
|
+
"canary"
|
|
129
|
+
]
|
|
130
|
+
},
|
|
131
|
+
{
|
|
132
|
+
"name": "dry-run",
|
|
133
|
+
"type": "boolean",
|
|
134
|
+
"description": "Simulate release without publishing or tagging"
|
|
135
|
+
},
|
|
136
|
+
{
|
|
137
|
+
"name": "skip-checks",
|
|
138
|
+
"type": "boolean",
|
|
139
|
+
"description": "Skip pre-release checks"
|
|
140
|
+
},
|
|
141
|
+
{
|
|
142
|
+
"name": "skip-build",
|
|
143
|
+
"type": "boolean",
|
|
144
|
+
"description": "Skip build step"
|
|
145
|
+
},
|
|
146
|
+
{
|
|
147
|
+
"name": "skip-verify",
|
|
148
|
+
"type": "boolean",
|
|
149
|
+
"description": "Skip artifact verification (npm pack check)"
|
|
150
|
+
},
|
|
151
|
+
{
|
|
152
|
+
"name": "skip-publish",
|
|
153
|
+
"type": "boolean",
|
|
154
|
+
"description": "Prepare-only: build, version, changelog, git commit/tag — never publish to npm. No npm credentials required. Pair with a tag-triggered CI job running `kb release promote`."
|
|
155
|
+
},
|
|
156
|
+
{
|
|
157
|
+
"name": "no-verify",
|
|
158
|
+
"type": "boolean",
|
|
159
|
+
"description": "Pass --no-verify to git push (bypasses pre-push hooks)"
|
|
160
|
+
},
|
|
161
|
+
{
|
|
162
|
+
"name": "yes",
|
|
163
|
+
"type": "boolean",
|
|
164
|
+
"description": "Skip confirmation prompt — for CI/headless mode"
|
|
165
|
+
},
|
|
166
|
+
{
|
|
167
|
+
"name": "json",
|
|
168
|
+
"type": "boolean",
|
|
169
|
+
"description": "Print result as JSON"
|
|
170
|
+
}
|
|
171
|
+
],
|
|
172
|
+
"examples": [
|
|
173
|
+
"kb release run",
|
|
174
|
+
"kb release run --dry-run",
|
|
175
|
+
"kb release run --yes",
|
|
176
|
+
"kb release run --yes --no-verify",
|
|
177
|
+
"kb release run --bump minor --yes",
|
|
178
|
+
"kb release run --scope @my-org/core",
|
|
179
|
+
"kb release run --skip-checks --skip-build",
|
|
180
|
+
"kb release run --strict --json",
|
|
181
|
+
"kb release run --channel canary --yes",
|
|
182
|
+
"kb release run --flow platform --skip-publish --yes"
|
|
183
|
+
]
|
|
184
|
+
},
|
|
185
|
+
{
|
|
186
|
+
"path": "release publish",
|
|
187
|
+
"category": "Publish",
|
|
188
|
+
"describe": "Publish packages to npm registry",
|
|
189
|
+
"operationType": "execute",
|
|
190
|
+
"longDescription": "Smart npm publish with interactive 2FA support and better UX",
|
|
191
|
+
"handler": "./cli/commands/publish.js#default",
|
|
192
|
+
"flags": [
|
|
193
|
+
{
|
|
194
|
+
"name": "scope",
|
|
195
|
+
"type": "string",
|
|
196
|
+
"description": "Package scope (glob pattern)"
|
|
197
|
+
},
|
|
198
|
+
{
|
|
199
|
+
"name": "otp",
|
|
200
|
+
"type": "string",
|
|
201
|
+
"description": "One-time password (optional, will prompt if needed)"
|
|
202
|
+
},
|
|
203
|
+
{
|
|
204
|
+
"name": "dry-run",
|
|
205
|
+
"type": "boolean",
|
|
206
|
+
"description": "Simulate publish without actually publishing"
|
|
207
|
+
},
|
|
208
|
+
{
|
|
209
|
+
"name": "tag",
|
|
210
|
+
"type": "string",
|
|
211
|
+
"description": "NPM dist-tag (default: latest)"
|
|
212
|
+
},
|
|
213
|
+
{
|
|
214
|
+
"name": "access",
|
|
215
|
+
"type": "string",
|
|
216
|
+
"description": "Package access level",
|
|
217
|
+
"choices": [
|
|
218
|
+
"public",
|
|
219
|
+
"restricted"
|
|
220
|
+
]
|
|
221
|
+
},
|
|
222
|
+
{
|
|
223
|
+
"name": "token",
|
|
224
|
+
"type": "string",
|
|
225
|
+
"description": "NPM auth token (overrides NPM_TOKEN env)"
|
|
226
|
+
},
|
|
227
|
+
{
|
|
228
|
+
"name": "json",
|
|
229
|
+
"type": "boolean",
|
|
230
|
+
"description": "Output in JSON format"
|
|
231
|
+
}
|
|
232
|
+
],
|
|
233
|
+
"examples": [
|
|
234
|
+
"kb release publish",
|
|
235
|
+
"kb release publish --scope @kb-labs/core",
|
|
236
|
+
"kb release publish --otp 123456",
|
|
237
|
+
"kb release publish --dry-run",
|
|
238
|
+
"kb release publish --tag next --access public"
|
|
239
|
+
]
|
|
240
|
+
},
|
|
241
|
+
{
|
|
242
|
+
"path": "release stage",
|
|
243
|
+
"category": "Publish",
|
|
244
|
+
"describe": "Pack the currently-committed package versions for a flow into real npm tarballs, once, for `release deliver` to ship",
|
|
245
|
+
"operationType": "execute",
|
|
246
|
+
"longDescription": "Produces the actual npm tarball artifacts for a flow's already-committed package.json versions — no re-bump, no rebuild. Writes a manifest.json (name/version/tarball/sha256) alongside the tarballs. Intended to run once in CI right after checking out a release tag; every `release deliver` target then ships these exact bytes instead of re-packing independently. Not the same command as `release pack` (that one verifies proposed packages before a release is decided; this one packs an already-decided one).",
|
|
247
|
+
"handler": "./cli/commands/stage.js#default",
|
|
248
|
+
"flags": [
|
|
249
|
+
{
|
|
250
|
+
"name": "release-tag",
|
|
251
|
+
"type": "string",
|
|
252
|
+
"description": "Git tag to resolve {flow, channel} from (via release.flows[*].tagPattern) — alternative to --flow"
|
|
253
|
+
},
|
|
254
|
+
{
|
|
255
|
+
"name": "flow",
|
|
256
|
+
"type": "string",
|
|
257
|
+
"description": "Named flow — selects packages the same way `release run --flow` does (e.g. excludes sdk from platform)"
|
|
258
|
+
},
|
|
259
|
+
{
|
|
260
|
+
"name": "out-dir",
|
|
261
|
+
"type": "string",
|
|
262
|
+
"description": "Output directory for tarballs + manifest.json (default: .kb/release/artifacts)"
|
|
263
|
+
},
|
|
264
|
+
{
|
|
265
|
+
"name": "json",
|
|
266
|
+
"type": "boolean",
|
|
267
|
+
"description": "Output in JSON format"
|
|
268
|
+
}
|
|
269
|
+
],
|
|
270
|
+
"examples": [
|
|
271
|
+
"kb release stage --flow platform",
|
|
272
|
+
"kb release stage --release-tag platform-v2.105.0",
|
|
273
|
+
"kb release stage --flow sdk --out-dir .kb/release/artifacts"
|
|
274
|
+
]
|
|
275
|
+
},
|
|
276
|
+
{
|
|
277
|
+
"path": "release stage plan",
|
|
278
|
+
"category": "Publish",
|
|
279
|
+
"describe": "Publish a release plan's planned package versions to a local staging registry (Verdaccio)",
|
|
280
|
+
"operationType": "execute",
|
|
281
|
+
"longDescription": "Runs BEFORE version bump, off the in-memory plan `release plan` already computed. Publishes each plan package at its PLANNED nextVersion — internal sibling dependencies rewritten to `^nextVersion` too — to --registry, so the `pack-install` Checks gate can verify cross-package dependencies against the version this release is about to ship instead of whatever is already live on npm. Distinct from `release stage`, which packs already-committed, already-bumped versions for CI delivery after approval.",
|
|
282
|
+
"handler": "./cli/commands/stage-plan.js#default",
|
|
283
|
+
"flags": [
|
|
284
|
+
{
|
|
285
|
+
"name": "plan-path",
|
|
286
|
+
"type": "string",
|
|
287
|
+
"description": "Path to the plan.json written by `release plan`"
|
|
288
|
+
},
|
|
289
|
+
{
|
|
290
|
+
"name": "registry",
|
|
291
|
+
"type": "string",
|
|
292
|
+
"description": "Target staging registry URL (e.g. http://localhost:4873)"
|
|
293
|
+
},
|
|
294
|
+
{
|
|
295
|
+
"name": "flow",
|
|
296
|
+
"type": "string",
|
|
297
|
+
"description": "Named flow — used only to resolve config for package discovery"
|
|
298
|
+
},
|
|
299
|
+
{
|
|
300
|
+
"name": "token",
|
|
301
|
+
"type": "string",
|
|
302
|
+
"description": "Auth token to send (default: \"verdaccio-local\" — a placeholder; the staging registry allows anonymous publish)"
|
|
303
|
+
},
|
|
304
|
+
{
|
|
305
|
+
"name": "tag",
|
|
306
|
+
"type": "string",
|
|
307
|
+
"description": "npm dist-tag to publish under (default: \"latest\")"
|
|
308
|
+
},
|
|
309
|
+
{
|
|
310
|
+
"name": "json",
|
|
311
|
+
"type": "boolean",
|
|
312
|
+
"description": "Output in JSON format"
|
|
313
|
+
}
|
|
314
|
+
],
|
|
315
|
+
"examples": [
|
|
316
|
+
"kb release stage plan --flow platform --plan-path .kb/release/plans/root/current/plan.json --registry http://localhost:4873"
|
|
317
|
+
]
|
|
318
|
+
},
|
|
319
|
+
{
|
|
320
|
+
"path": "release clean install",
|
|
321
|
+
"category": "Publish",
|
|
322
|
+
"describe": "Install a packed tarball into a throwaway consumer and confirm it imports cleanly",
|
|
323
|
+
"operationType": "execute",
|
|
324
|
+
"longDescription": "Installs --tarball into a fresh, outside-the-workspace consumer project and confirms --name can be imported afterward. Shared by check-pack-install.sh (local release gate) and `release stage` (CI publish path) so both use identical verification — catches an already-published PEER dependency that is itself broken, which static manifest checks cannot see. Surfaces the real failure reason via @npmcli/arborist directly; plain `npm install` swallows this exact failure class as an unhandled rejection with no usable error.",
|
|
325
|
+
"handler": "./cli/commands/verify-clean-install.js#default",
|
|
326
|
+
"flags": [
|
|
327
|
+
{
|
|
328
|
+
"name": "tarball",
|
|
329
|
+
"type": "string",
|
|
330
|
+
"description": "Path to the packed tarball to install"
|
|
331
|
+
},
|
|
332
|
+
{
|
|
333
|
+
"name": "name",
|
|
334
|
+
"type": "string",
|
|
335
|
+
"description": "Package name to import after install"
|
|
336
|
+
},
|
|
337
|
+
{
|
|
338
|
+
"name": "registry",
|
|
339
|
+
"type": "string",
|
|
340
|
+
"description": "Registry override for ALL dependency resolution (default: real npm) — e.g. a local staging Verdaccio"
|
|
341
|
+
},
|
|
342
|
+
{
|
|
343
|
+
"name": "json",
|
|
344
|
+
"type": "boolean",
|
|
345
|
+
"description": "Output in JSON format"
|
|
346
|
+
},
|
|
347
|
+
{
|
|
348
|
+
"name": "additionalTarballs",
|
|
349
|
+
"type": "string",
|
|
350
|
+
"description": "Comma-separated tarball paths for workspace siblings. Forces pnpm to install these exact local artifacts via pnpm.overrides instead of resolving the same package names from the real npm registry — required with --package-manager pnpm to avoid silently testing an already-published, possibly stale, version of an in-repo sibling."
|
|
351
|
+
},
|
|
352
|
+
{
|
|
353
|
+
"name": "packageManager",
|
|
354
|
+
"type": "string",
|
|
355
|
+
"description": "\"pnpm\" enables the additionalTarballs override path; \"npm\" (default) keeps the plain Arborist install."
|
|
356
|
+
}
|
|
357
|
+
],
|
|
358
|
+
"examples": [
|
|
359
|
+
"kb release clean install --tarball ./kb-labs-sdk-2.115.0.tgz --name @kb-labs/sdk",
|
|
360
|
+
"kb release clean install --tarball ./a.tgz --name @kb-labs/a --package-manager pnpm --additional-tarballs ./b.tgz,./c.tgz"
|
|
361
|
+
]
|
|
362
|
+
},
|
|
363
|
+
{
|
|
364
|
+
"path": "release promote",
|
|
365
|
+
"category": "Publish",
|
|
366
|
+
"describe": "Promote already-released package versions to npm (no re-bump, no rebuild)",
|
|
367
|
+
"operationType": "execute",
|
|
368
|
+
"longDescription": "Publishes the CURRENT on-disk package.json versions to npm — no version bump, no rebuild. Intended to run after `release run --channel stable` (typically targeting Verdaccio via config.registry): once that run is verified, `release promote` pushes the exact same, already-committed versions to npm under the stable dist-tag.",
|
|
369
|
+
"handler": "./cli/commands/promote.js#default",
|
|
370
|
+
"flags": [
|
|
371
|
+
{
|
|
372
|
+
"name": "scope",
|
|
373
|
+
"type": "string",
|
|
374
|
+
"description": "Package scope (glob pattern)"
|
|
375
|
+
},
|
|
376
|
+
{
|
|
377
|
+
"name": "flow",
|
|
378
|
+
"type": "string",
|
|
379
|
+
"description": "Named flow — selects packages the same way `release run --flow` does (e.g. excludes sdk from platform)"
|
|
380
|
+
},
|
|
381
|
+
{
|
|
382
|
+
"name": "tag",
|
|
383
|
+
"type": "string",
|
|
384
|
+
"description": "npm dist-tag override (default: config.publish.stableTag, falls back to \"latest\")"
|
|
385
|
+
},
|
|
386
|
+
{
|
|
387
|
+
"name": "registry",
|
|
388
|
+
"type": "string",
|
|
389
|
+
"description": "Registry override (default: config.publish.npmRegistry, falls back to real npm)"
|
|
390
|
+
},
|
|
391
|
+
{
|
|
392
|
+
"name": "otp",
|
|
393
|
+
"type": "string",
|
|
394
|
+
"description": "One-time password (optional, will prompt if needed)"
|
|
395
|
+
},
|
|
396
|
+
{
|
|
397
|
+
"name": "dry-run",
|
|
398
|
+
"type": "boolean",
|
|
399
|
+
"description": "Simulate promote without actually publishing"
|
|
400
|
+
},
|
|
401
|
+
{
|
|
402
|
+
"name": "access",
|
|
403
|
+
"type": "string",
|
|
404
|
+
"description": "Package access level",
|
|
405
|
+
"choices": [
|
|
406
|
+
"public",
|
|
407
|
+
"restricted"
|
|
408
|
+
]
|
|
409
|
+
},
|
|
410
|
+
{
|
|
411
|
+
"name": "token",
|
|
412
|
+
"type": "string",
|
|
413
|
+
"description": "NPM auth token (overrides NPM_TOKEN env)"
|
|
414
|
+
},
|
|
415
|
+
{
|
|
416
|
+
"name": "json",
|
|
417
|
+
"type": "boolean",
|
|
418
|
+
"description": "Output in JSON format"
|
|
419
|
+
}
|
|
420
|
+
],
|
|
421
|
+
"examples": [
|
|
422
|
+
"kb release promote",
|
|
423
|
+
"kb release promote --flow platform",
|
|
424
|
+
"kb release promote --flow sdk",
|
|
425
|
+
"kb release promote --scope @kb-labs/core",
|
|
426
|
+
"kb release promote --dry-run",
|
|
427
|
+
"kb release promote --tag next"
|
|
428
|
+
]
|
|
429
|
+
},
|
|
430
|
+
{
|
|
431
|
+
"path": "release deliver",
|
|
432
|
+
"category": "Publish",
|
|
433
|
+
"describe": "Ship the tarballs `release stage` already packed to a target — no packing, no rebuild",
|
|
434
|
+
"operationType": "execute",
|
|
435
|
+
"longDescription": "CI-side half of the \"plugin prepares, CI delivers\" release flow: reads manifest.json written by `release stage` and ships those exact tarballs to --target (only \"npm\" is implemented this pass). Resolves {flow, channel} from --release-tag via release.flows[*].tagPattern so CI never needs to guess the flow itself — just pass the tag. Verifies the delivery against the real registry afterwards (with retry, since real npm has propagation lag); never attempts npm unpublish on a verification failure — that is a human decision.",
|
|
436
|
+
"handler": "./cli/commands/deliver.js#default",
|
|
437
|
+
"flags": [
|
|
438
|
+
{
|
|
439
|
+
"name": "release-tag",
|
|
440
|
+
"type": "string",
|
|
441
|
+
"description": "Git tag to resolve {flow, channel} from (via release.flows[*].tagPattern) — alternative to --flow"
|
|
442
|
+
},
|
|
443
|
+
{
|
|
444
|
+
"name": "flow",
|
|
445
|
+
"type": "string",
|
|
446
|
+
"description": "Named flow — alternative to --release-tag"
|
|
447
|
+
},
|
|
448
|
+
{
|
|
449
|
+
"name": "target",
|
|
450
|
+
"type": "string",
|
|
451
|
+
"description": "Delivery target (default: npm — the only target implemented this pass)",
|
|
452
|
+
"choices": [
|
|
453
|
+
"npm"
|
|
454
|
+
]
|
|
455
|
+
},
|
|
456
|
+
{
|
|
457
|
+
"name": "artifacts-dir",
|
|
458
|
+
"type": "string",
|
|
459
|
+
"description": "Where `release stage` wrote tarballs + manifest.json (default: .kb/release/artifacts)"
|
|
460
|
+
},
|
|
461
|
+
{
|
|
462
|
+
"name": "tag",
|
|
463
|
+
"type": "string",
|
|
464
|
+
"description": "npm dist-tag override (default: config.publish.stableTag, falls back to \"latest\")"
|
|
465
|
+
},
|
|
466
|
+
{
|
|
467
|
+
"name": "registry",
|
|
468
|
+
"type": "string",
|
|
469
|
+
"description": "Registry override (default: config.publish.npmRegistry, falls back to real npm)"
|
|
470
|
+
},
|
|
471
|
+
{
|
|
472
|
+
"name": "otp",
|
|
473
|
+
"type": "string",
|
|
474
|
+
"description": "One-time password (optional, will prompt if needed)"
|
|
475
|
+
},
|
|
476
|
+
{
|
|
477
|
+
"name": "dry-run",
|
|
478
|
+
"type": "boolean",
|
|
479
|
+
"description": "Simulate delivery without actually publishing"
|
|
480
|
+
},
|
|
481
|
+
{
|
|
482
|
+
"name": "access",
|
|
483
|
+
"type": "string",
|
|
484
|
+
"description": "Package access level",
|
|
485
|
+
"choices": [
|
|
486
|
+
"public",
|
|
487
|
+
"restricted"
|
|
488
|
+
]
|
|
489
|
+
},
|
|
490
|
+
{
|
|
491
|
+
"name": "token",
|
|
492
|
+
"type": "string",
|
|
493
|
+
"description": "NPM auth token (overrides NPM_TOKEN env)"
|
|
494
|
+
},
|
|
495
|
+
{
|
|
496
|
+
"name": "json",
|
|
497
|
+
"type": "boolean",
|
|
498
|
+
"description": "Output in JSON format"
|
|
499
|
+
}
|
|
500
|
+
],
|
|
501
|
+
"examples": [
|
|
502
|
+
"kb release deliver --release-tag platform-v2.105.0 --target npm",
|
|
503
|
+
"kb release deliver --flow sdk --target npm",
|
|
504
|
+
"kb release deliver --release-tag sdk-v3.2.0 --dry-run"
|
|
505
|
+
]
|
|
506
|
+
},
|
|
507
|
+
{
|
|
508
|
+
"path": "release rollback",
|
|
509
|
+
"category": "Utilities",
|
|
510
|
+
"describe": "Rollback last release",
|
|
511
|
+
"operationType": "mutate",
|
|
512
|
+
"longDescription": "Restore workspace state from backup snapshot",
|
|
513
|
+
"handler": "./cli/commands/rollback.js#default",
|
|
514
|
+
"flags": [
|
|
515
|
+
{
|
|
516
|
+
"name": "json",
|
|
517
|
+
"type": "boolean",
|
|
518
|
+
"description": "Output in JSON format"
|
|
519
|
+
}
|
|
520
|
+
],
|
|
521
|
+
"examples": [
|
|
522
|
+
"kb release rollback",
|
|
523
|
+
"kb release rollback --json"
|
|
524
|
+
]
|
|
525
|
+
},
|
|
526
|
+
{
|
|
527
|
+
"path": "release report",
|
|
528
|
+
"category": "Utilities",
|
|
529
|
+
"describe": "Show last release report",
|
|
530
|
+
"operationType": "read",
|
|
531
|
+
"longDescription": "Display the most recent release execution report",
|
|
532
|
+
"handler": "./cli/commands/report.js#default",
|
|
533
|
+
"flags": [
|
|
534
|
+
{
|
|
535
|
+
"name": "json",
|
|
536
|
+
"type": "boolean",
|
|
537
|
+
"description": "Output in JSON format"
|
|
538
|
+
}
|
|
539
|
+
],
|
|
540
|
+
"examples": [
|
|
541
|
+
"kb release report",
|
|
542
|
+
"kb release report --json"
|
|
543
|
+
]
|
|
544
|
+
},
|
|
545
|
+
{
|
|
546
|
+
"path": "release status",
|
|
547
|
+
"category": "Utilities",
|
|
548
|
+
"describe": "Show what is actually stable vs. candidate for a flow (git tag, npm dist-tags, recent candidate CI)",
|
|
549
|
+
"operationType": "read",
|
|
550
|
+
"longDescription": "Cross-checks the latest stable git tag against real npm dist-tags and recent candidate CI runs, and flags drift — a tag or npm publish existing is not the same as a verified, promoted release.",
|
|
551
|
+
"handler": "./cli/commands/status.js#default",
|
|
552
|
+
"flags": [
|
|
553
|
+
{
|
|
554
|
+
"name": "flow",
|
|
555
|
+
"type": "string",
|
|
556
|
+
"description": "Named release flow from release.flows (e.g. \"platform\", \"sdk\")",
|
|
557
|
+
"required": true
|
|
558
|
+
},
|
|
559
|
+
{
|
|
560
|
+
"name": "ci",
|
|
561
|
+
"type": "boolean",
|
|
562
|
+
"description": "Include recent candidate CI run status (default: true)"
|
|
563
|
+
},
|
|
564
|
+
{
|
|
565
|
+
"name": "json",
|
|
566
|
+
"type": "boolean",
|
|
567
|
+
"description": "Output in JSON format"
|
|
568
|
+
}
|
|
569
|
+
],
|
|
570
|
+
"examples": [
|
|
571
|
+
"kb release status --flow platform",
|
|
572
|
+
"kb release status --flow sdk --json"
|
|
573
|
+
]
|
|
574
|
+
},
|
|
575
|
+
{
|
|
576
|
+
"path": "release changelog",
|
|
577
|
+
"category": "Utilities",
|
|
578
|
+
"describe": "Generate changelog from conventional commits",
|
|
579
|
+
"operationType": "read",
|
|
580
|
+
"longDescription": "Parse git history and generate changelog with conventional commits support",
|
|
581
|
+
"handler": "./cli/commands/changelog.js#default",
|
|
582
|
+
"flags": [
|
|
583
|
+
{
|
|
584
|
+
"name": "scope",
|
|
585
|
+
"type": "string",
|
|
586
|
+
"description": "Filter to specific package"
|
|
587
|
+
},
|
|
588
|
+
{
|
|
589
|
+
"name": "flow",
|
|
590
|
+
"type": "string",
|
|
591
|
+
"description": "Named release flow from release.flows"
|
|
592
|
+
},
|
|
593
|
+
{
|
|
594
|
+
"name": "from",
|
|
595
|
+
"type": "string",
|
|
596
|
+
"description": "Start commit/tag"
|
|
597
|
+
},
|
|
598
|
+
{
|
|
599
|
+
"name": "to",
|
|
600
|
+
"type": "string",
|
|
601
|
+
"description": "End commit/tag (default: HEAD)"
|
|
602
|
+
},
|
|
603
|
+
{
|
|
604
|
+
"name": "since-tag",
|
|
605
|
+
"type": "string",
|
|
606
|
+
"description": "Shorthand for --from <tag>"
|
|
607
|
+
},
|
|
608
|
+
{
|
|
609
|
+
"name": "format",
|
|
610
|
+
"type": "string",
|
|
611
|
+
"default": "both",
|
|
612
|
+
"description": "Output format",
|
|
613
|
+
"choices": [
|
|
614
|
+
"json",
|
|
615
|
+
"md",
|
|
616
|
+
"both"
|
|
617
|
+
]
|
|
618
|
+
},
|
|
619
|
+
{
|
|
620
|
+
"name": "level",
|
|
621
|
+
"type": "string",
|
|
622
|
+
"default": "standard",
|
|
623
|
+
"description": "Detail level",
|
|
624
|
+
"choices": [
|
|
625
|
+
"compact",
|
|
626
|
+
"standard",
|
|
627
|
+
"detailed"
|
|
628
|
+
]
|
|
629
|
+
},
|
|
630
|
+
{
|
|
631
|
+
"name": "template",
|
|
632
|
+
"type": "string",
|
|
633
|
+
"description": "Template name (builtin: corporate, corporate-ai, technical, compact) or custom path"
|
|
634
|
+
},
|
|
635
|
+
{
|
|
636
|
+
"name": "breaking-only",
|
|
637
|
+
"type": "boolean",
|
|
638
|
+
"description": "Show only breaking changes"
|
|
639
|
+
},
|
|
640
|
+
{
|
|
641
|
+
"name": "include",
|
|
642
|
+
"type": "string",
|
|
643
|
+
"description": "Comma-separated types to include"
|
|
644
|
+
},
|
|
645
|
+
{
|
|
646
|
+
"name": "exclude",
|
|
647
|
+
"type": "string",
|
|
648
|
+
"description": "Types to exclude"
|
|
649
|
+
},
|
|
650
|
+
{
|
|
651
|
+
"name": "workspace-only",
|
|
652
|
+
"type": "boolean",
|
|
653
|
+
"description": "Only workspace changelog"
|
|
654
|
+
},
|
|
655
|
+
{
|
|
656
|
+
"name": "per-package",
|
|
657
|
+
"type": "boolean",
|
|
658
|
+
"description": "Only per-package changelogs"
|
|
659
|
+
},
|
|
660
|
+
{
|
|
661
|
+
"name": "force",
|
|
662
|
+
"type": "boolean",
|
|
663
|
+
"description": "Skip audit gate"
|
|
664
|
+
},
|
|
665
|
+
{
|
|
666
|
+
"name": "allow-major",
|
|
667
|
+
"type": "boolean",
|
|
668
|
+
"description": "Allow major bumps for experimental packages"
|
|
669
|
+
},
|
|
670
|
+
{
|
|
671
|
+
"name": "preid",
|
|
672
|
+
"type": "string",
|
|
673
|
+
"description": "Pre-release identifier (rc, beta, alpha)"
|
|
674
|
+
}
|
|
675
|
+
],
|
|
676
|
+
"examples": [
|
|
677
|
+
"kb release changelog",
|
|
678
|
+
"kb release changelog --from v1.0.0",
|
|
679
|
+
"kb release changelog --format md --level detailed",
|
|
680
|
+
"kb release changelog --template corporate-ai",
|
|
681
|
+
"kb release changelog --template ./my-template.ts",
|
|
682
|
+
"kb release changelog --breaking-only"
|
|
683
|
+
]
|
|
684
|
+
},
|
|
685
|
+
{
|
|
686
|
+
"path": "release verify",
|
|
687
|
+
"category": "Validation",
|
|
688
|
+
"describe": "Validate release readiness",
|
|
689
|
+
"operationType": "analyze",
|
|
690
|
+
"longDescription": "Validate release readiness via flag gates (packages, breaking changes, commit types)",
|
|
691
|
+
"handler": "./cli/commands/verify.js#default",
|
|
692
|
+
"flags": [
|
|
693
|
+
{
|
|
694
|
+
"name": "fail-if-empty",
|
|
695
|
+
"type": "boolean",
|
|
696
|
+
"description": "Fail if no version bumps needed"
|
|
697
|
+
},
|
|
698
|
+
{
|
|
699
|
+
"name": "fail-on-breaking",
|
|
700
|
+
"type": "boolean",
|
|
701
|
+
"description": "Fail if breaking changes detected"
|
|
702
|
+
},
|
|
703
|
+
{
|
|
704
|
+
"name": "allow-types",
|
|
705
|
+
"type": "string",
|
|
706
|
+
"description": "Comma-separated types required (e.g., feat,fix)"
|
|
707
|
+
},
|
|
708
|
+
{
|
|
709
|
+
"name": "json",
|
|
710
|
+
"type": "boolean",
|
|
711
|
+
"description": "Output in JSON format"
|
|
712
|
+
}
|
|
713
|
+
],
|
|
714
|
+
"examples": [
|
|
715
|
+
"kb release verify",
|
|
716
|
+
"kb release verify --fail-if-empty",
|
|
717
|
+
"kb release verify --allow-types feat,fix"
|
|
718
|
+
]
|
|
719
|
+
},
|
|
720
|
+
{
|
|
721
|
+
"path": "release checks",
|
|
722
|
+
"category": "Validation",
|
|
723
|
+
"describe": "Run pre-release checks from release config",
|
|
724
|
+
"operationType": "analyze",
|
|
725
|
+
"longDescription": "Execute custom checks defined in release config (lint, test, audit, etc.)",
|
|
726
|
+
"handler": "./cli/commands/checks.js#default",
|
|
727
|
+
"flags": [
|
|
728
|
+
{
|
|
729
|
+
"name": "scope",
|
|
730
|
+
"type": "string",
|
|
731
|
+
"description": "Package scope (glob pattern)"
|
|
732
|
+
},
|
|
733
|
+
{
|
|
734
|
+
"name": "flow",
|
|
735
|
+
"type": "string",
|
|
736
|
+
"description": "Named release flow from release.flows"
|
|
737
|
+
},
|
|
738
|
+
{
|
|
739
|
+
"name": "json",
|
|
740
|
+
"type": "boolean",
|
|
741
|
+
"description": "Output in JSON format"
|
|
742
|
+
}
|
|
743
|
+
],
|
|
744
|
+
"examples": [
|
|
745
|
+
"kb release checks",
|
|
746
|
+
"kb release checks --scope @my-org/core",
|
|
747
|
+
"kb release checks --json"
|
|
748
|
+
]
|
|
749
|
+
},
|
|
750
|
+
{
|
|
751
|
+
"path": "release build",
|
|
752
|
+
"category": "Publish",
|
|
753
|
+
"describe": "Build packages from release plan",
|
|
754
|
+
"operationType": "execute",
|
|
755
|
+
"longDescription": "Build all packages in plan into temp dir then atomically swap dist/",
|
|
756
|
+
"handler": "./cli/commands/build.js#default",
|
|
757
|
+
"flags": [
|
|
758
|
+
{
|
|
759
|
+
"name": "scope",
|
|
760
|
+
"type": "string",
|
|
761
|
+
"description": "Package scope (glob pattern)"
|
|
762
|
+
},
|
|
763
|
+
{
|
|
764
|
+
"name": "flow",
|
|
765
|
+
"type": "string",
|
|
766
|
+
"description": "Named release flow from release.flows"
|
|
767
|
+
},
|
|
768
|
+
{
|
|
769
|
+
"name": "json",
|
|
770
|
+
"type": "boolean",
|
|
771
|
+
"description": "Output in JSON format"
|
|
772
|
+
}
|
|
773
|
+
],
|
|
774
|
+
"examples": [
|
|
775
|
+
"kb release build",
|
|
776
|
+
"kb release build --scope platform",
|
|
777
|
+
"kb release build --json"
|
|
778
|
+
]
|
|
779
|
+
},
|
|
780
|
+
{
|
|
781
|
+
"path": "release pack",
|
|
782
|
+
"category": "Publish",
|
|
783
|
+
"describe": "Verify built package artifacts via npm pack",
|
|
784
|
+
"operationType": "execute",
|
|
785
|
+
"longDescription": "Run npm pack checks: directory imports, test file leaks, missing exports, syntax errors",
|
|
786
|
+
"handler": "./cli/commands/pack.js#default",
|
|
787
|
+
"flags": [
|
|
788
|
+
{
|
|
789
|
+
"name": "scope",
|
|
790
|
+
"type": "string",
|
|
791
|
+
"description": "Package scope (glob pattern)"
|
|
792
|
+
},
|
|
793
|
+
{
|
|
794
|
+
"name": "json",
|
|
795
|
+
"type": "boolean",
|
|
796
|
+
"description": "Output in JSON format"
|
|
797
|
+
}
|
|
798
|
+
],
|
|
799
|
+
"examples": [
|
|
800
|
+
"kb release pack",
|
|
801
|
+
"kb release pack --scope @my-org/core",
|
|
802
|
+
"kb release pack --json"
|
|
803
|
+
]
|
|
804
|
+
},
|
|
805
|
+
{
|
|
806
|
+
"path": "release version",
|
|
807
|
+
"category": "Publish",
|
|
808
|
+
"describe": "Bump package.json versions per release plan",
|
|
809
|
+
"operationType": "mutate",
|
|
810
|
+
"longDescription": "Update version fields in package.json files based on computed plan",
|
|
811
|
+
"handler": "./cli/commands/version.js#default",
|
|
812
|
+
"flags": [
|
|
813
|
+
{
|
|
814
|
+
"name": "scope",
|
|
815
|
+
"type": "string",
|
|
816
|
+
"description": "Package scope (glob pattern)"
|
|
817
|
+
},
|
|
818
|
+
{
|
|
819
|
+
"name": "flow",
|
|
820
|
+
"type": "string",
|
|
821
|
+
"description": "Named release flow from release.flows"
|
|
822
|
+
},
|
|
823
|
+
{
|
|
824
|
+
"name": "bump",
|
|
825
|
+
"type": "string",
|
|
826
|
+
"default": "auto",
|
|
827
|
+
"description": "Version bump override",
|
|
828
|
+
"choices": [
|
|
829
|
+
"patch",
|
|
830
|
+
"minor",
|
|
831
|
+
"major",
|
|
832
|
+
"auto"
|
|
833
|
+
]
|
|
834
|
+
},
|
|
835
|
+
{
|
|
836
|
+
"name": "channel",
|
|
837
|
+
"type": "string",
|
|
838
|
+
"default": "stable",
|
|
839
|
+
"description": "Release channel — must match the channel `release plan` used, so a stale/rejected persisted plan is recomputed under the same channel instead of silently falling back to stable",
|
|
840
|
+
"choices": [
|
|
841
|
+
"stable",
|
|
842
|
+
"canary"
|
|
843
|
+
]
|
|
844
|
+
},
|
|
845
|
+
{
|
|
846
|
+
"name": "dry-run",
|
|
847
|
+
"type": "boolean",
|
|
848
|
+
"description": "Show what would be bumped without writing"
|
|
849
|
+
},
|
|
850
|
+
{
|
|
851
|
+
"name": "json",
|
|
852
|
+
"type": "boolean",
|
|
853
|
+
"description": "Output in JSON format"
|
|
854
|
+
}
|
|
855
|
+
],
|
|
856
|
+
"examples": [
|
|
857
|
+
"kb release version",
|
|
858
|
+
"kb release version --bump minor",
|
|
859
|
+
"kb release version --channel canary",
|
|
860
|
+
"kb release version --dry-run",
|
|
861
|
+
"kb release version --scope platform --json"
|
|
862
|
+
]
|
|
863
|
+
},
|
|
864
|
+
{
|
|
865
|
+
"path": "release git",
|
|
866
|
+
"category": "Publish",
|
|
867
|
+
"describe": "Commit, tag, and push release changes",
|
|
868
|
+
"operationType": "mutate",
|
|
869
|
+
"longDescription": "Create release commit, create version tags, and push to remote",
|
|
870
|
+
"handler": "./cli/commands/git.js#default",
|
|
871
|
+
"flags": [
|
|
872
|
+
{
|
|
873
|
+
"name": "scope",
|
|
874
|
+
"type": "string",
|
|
875
|
+
"description": "Package scope (glob pattern)"
|
|
876
|
+
},
|
|
877
|
+
{
|
|
878
|
+
"name": "flow",
|
|
879
|
+
"type": "string",
|
|
880
|
+
"description": "Named release flow from release.flows"
|
|
881
|
+
},
|
|
882
|
+
{
|
|
883
|
+
"name": "bump",
|
|
884
|
+
"type": "string",
|
|
885
|
+
"description": "Version bump override (used to reload plan)",
|
|
886
|
+
"choices": [
|
|
887
|
+
"patch",
|
|
888
|
+
"minor",
|
|
889
|
+
"major",
|
|
890
|
+
"auto"
|
|
891
|
+
]
|
|
892
|
+
},
|
|
893
|
+
{
|
|
894
|
+
"name": "channel",
|
|
895
|
+
"type": "string",
|
|
896
|
+
"default": "stable",
|
|
897
|
+
"description": "Release channel — must match the channel `release plan`/`release version` used, so a stale/rejected persisted plan is recomputed under the same channel instead of silently falling back to stable",
|
|
898
|
+
"choices": [
|
|
899
|
+
"stable",
|
|
900
|
+
"canary"
|
|
901
|
+
]
|
|
902
|
+
},
|
|
903
|
+
{
|
|
904
|
+
"name": "dry-run",
|
|
905
|
+
"type": "boolean",
|
|
906
|
+
"description": "Skip git operations"
|
|
907
|
+
},
|
|
908
|
+
{
|
|
909
|
+
"name": "no-verify",
|
|
910
|
+
"type": "boolean",
|
|
911
|
+
"description": "Pass --no-verify to git push"
|
|
912
|
+
},
|
|
913
|
+
{
|
|
914
|
+
"name": "json",
|
|
915
|
+
"type": "boolean",
|
|
916
|
+
"description": "Output in JSON format"
|
|
917
|
+
}
|
|
918
|
+
],
|
|
919
|
+
"examples": [
|
|
920
|
+
"kb release git",
|
|
921
|
+
"kb release git --scope platform",
|
|
922
|
+
"kb release git --dry-run",
|
|
923
|
+
"kb release git --no-verify --json"
|
|
924
|
+
]
|
|
925
|
+
}
|
|
926
|
+
]
|
|
927
|
+
},
|
|
928
|
+
"rest": {
|
|
929
|
+
"basePath": "/v1/plugins/release",
|
|
930
|
+
"routes": [
|
|
931
|
+
{
|
|
932
|
+
"method": "GET",
|
|
933
|
+
"path": "/scopes",
|
|
934
|
+
"handler": "./rest/handlers/scopes-handler.js#default",
|
|
935
|
+
"output": {
|
|
936
|
+
"zod": "@kb-labs/release-manager-contracts#ScopesResponseSchema"
|
|
937
|
+
}
|
|
938
|
+
},
|
|
939
|
+
{
|
|
940
|
+
"method": "GET",
|
|
941
|
+
"path": "/status",
|
|
942
|
+
"handler": "./rest/handlers/status-handler.js#default",
|
|
943
|
+
"output": {
|
|
944
|
+
"zod": "@kb-labs/release-manager-contracts#StatusResponseSchema"
|
|
945
|
+
}
|
|
946
|
+
},
|
|
947
|
+
{
|
|
948
|
+
"method": "GET",
|
|
949
|
+
"path": "/plan",
|
|
950
|
+
"handler": "./rest/handlers/plan-handler.js#default",
|
|
951
|
+
"input": {
|
|
952
|
+
"zod": "@kb-labs/release-manager-contracts#PlanInputSchema"
|
|
953
|
+
},
|
|
954
|
+
"output": {
|
|
955
|
+
"zod": "@kb-labs/release-manager-contracts#PlanResponseSchema"
|
|
956
|
+
}
|
|
957
|
+
},
|
|
958
|
+
{
|
|
959
|
+
"method": "POST",
|
|
960
|
+
"path": "/generate",
|
|
961
|
+
"handler": "./rest/handlers/generate-handler.js#default",
|
|
962
|
+
"input": {
|
|
963
|
+
"zod": "@kb-labs/release-manager-contracts#GeneratePlanRequestSchema"
|
|
964
|
+
},
|
|
965
|
+
"output": {
|
|
966
|
+
"zod": "@kb-labs/release-manager-contracts#GeneratePlanResponseSchema"
|
|
967
|
+
},
|
|
968
|
+
"timeoutMs": 120000
|
|
969
|
+
},
|
|
970
|
+
{
|
|
971
|
+
"method": "DELETE",
|
|
972
|
+
"path": "/plan",
|
|
973
|
+
"handler": "./rest/handlers/reset-handler.js#default",
|
|
974
|
+
"input": {
|
|
975
|
+
"zod": "@kb-labs/release-manager-contracts#ResetPlanRequestSchema"
|
|
976
|
+
},
|
|
977
|
+
"output": {
|
|
978
|
+
"zod": "@kb-labs/release-manager-contracts#ResetPlanResponseSchema"
|
|
979
|
+
}
|
|
980
|
+
},
|
|
981
|
+
{
|
|
982
|
+
"method": "GET",
|
|
983
|
+
"path": "/changelog",
|
|
984
|
+
"handler": "./rest/handlers/changelog-handler.js#default",
|
|
985
|
+
"input": {
|
|
986
|
+
"zod": "@kb-labs/release-manager-contracts#ChangelogInputSchema"
|
|
987
|
+
},
|
|
988
|
+
"output": {
|
|
989
|
+
"zod": "@kb-labs/release-manager-contracts#ChangelogResponseSchema"
|
|
990
|
+
}
|
|
991
|
+
},
|
|
992
|
+
{
|
|
993
|
+
"method": "POST",
|
|
994
|
+
"path": "/changelog/generate",
|
|
995
|
+
"handler": "./rest/handlers/changelog-generate-handler.js#default",
|
|
996
|
+
"input": {
|
|
997
|
+
"zod": "@kb-labs/release-manager-contracts#GenerateChangelogRequestSchema"
|
|
998
|
+
},
|
|
999
|
+
"output": {
|
|
1000
|
+
"zod": "@kb-labs/release-manager-contracts#GenerateChangelogResponseSchema"
|
|
1001
|
+
},
|
|
1002
|
+
"timeoutMs": 120000
|
|
1003
|
+
},
|
|
1004
|
+
{
|
|
1005
|
+
"method": "POST",
|
|
1006
|
+
"path": "/changelog/save",
|
|
1007
|
+
"handler": "./rest/handlers/changelog-save-handler.js#default",
|
|
1008
|
+
"input": {
|
|
1009
|
+
"zod": "@kb-labs/release-manager-contracts#SaveChangelogRequestSchema"
|
|
1010
|
+
},
|
|
1011
|
+
"output": {
|
|
1012
|
+
"zod": "@kb-labs/release-manager-contracts#SaveChangelogResponseSchema"
|
|
1013
|
+
}
|
|
1014
|
+
},
|
|
1015
|
+
{
|
|
1016
|
+
"method": "POST",
|
|
1017
|
+
"path": "/run",
|
|
1018
|
+
"handler": "./rest/handlers/run-handler.js#default",
|
|
1019
|
+
"input": {
|
|
1020
|
+
"zod": "@kb-labs/release-manager-contracts#RunReleaseRequestSchema"
|
|
1021
|
+
},
|
|
1022
|
+
"output": {
|
|
1023
|
+
"zod": "@kb-labs/release-manager-contracts#RunReleaseResponseSchema"
|
|
1024
|
+
},
|
|
1025
|
+
"timeoutMs": 300000
|
|
1026
|
+
},
|
|
1027
|
+
{
|
|
1028
|
+
"method": "GET",
|
|
1029
|
+
"path": "/report",
|
|
1030
|
+
"handler": "./rest/handlers/report-handler.js#default",
|
|
1031
|
+
"output": {
|
|
1032
|
+
"zod": "@kb-labs/release-manager-contracts#ReportResponseSchema"
|
|
1033
|
+
}
|
|
1034
|
+
},
|
|
1035
|
+
{
|
|
1036
|
+
"method": "GET",
|
|
1037
|
+
"path": "/history",
|
|
1038
|
+
"handler": "./rest/handlers/history-handler.js#default",
|
|
1039
|
+
"output": {
|
|
1040
|
+
"zod": "@kb-labs/release-manager-contracts#HistoryResponseSchema"
|
|
1041
|
+
}
|
|
1042
|
+
},
|
|
1043
|
+
{
|
|
1044
|
+
"method": "GET",
|
|
1045
|
+
"path": "/history/:scope/:id/report",
|
|
1046
|
+
"handler": "./rest/handlers/history-report-handler.js#default",
|
|
1047
|
+
"output": {
|
|
1048
|
+
"zod": "@kb-labs/release-manager-contracts#HistoryReportResponseSchema"
|
|
1049
|
+
}
|
|
1050
|
+
},
|
|
1051
|
+
{
|
|
1052
|
+
"method": "GET",
|
|
1053
|
+
"path": "/history/:scope/:id/plan",
|
|
1054
|
+
"handler": "./rest/handlers/history-plan-handler.js#default",
|
|
1055
|
+
"output": {
|
|
1056
|
+
"zod": "@kb-labs/release-manager-contracts#HistoryPlanResponseSchema"
|
|
1057
|
+
}
|
|
1058
|
+
},
|
|
1059
|
+
{
|
|
1060
|
+
"method": "GET",
|
|
1061
|
+
"path": "/history/:scope/:id/changelog",
|
|
1062
|
+
"handler": "./rest/handlers/history-changelog-handler.js#default",
|
|
1063
|
+
"output": {
|
|
1064
|
+
"zod": "@kb-labs/release-manager-contracts#HistoryChangelogResponseSchema"
|
|
1065
|
+
}
|
|
1066
|
+
},
|
|
1067
|
+
{
|
|
1068
|
+
"method": "GET",
|
|
1069
|
+
"path": "/git-timeline",
|
|
1070
|
+
"handler": "./rest/handlers/git-timeline-handler.js#default",
|
|
1071
|
+
"output": {
|
|
1072
|
+
"zod": "@kb-labs/release-manager-contracts#GitTimelineResponseSchema"
|
|
1073
|
+
}
|
|
1074
|
+
},
|
|
1075
|
+
{
|
|
1076
|
+
"method": "GET",
|
|
1077
|
+
"path": "/preview",
|
|
1078
|
+
"handler": "./rest/handlers/preview-handler.js#default",
|
|
1079
|
+
"output": {
|
|
1080
|
+
"zod": "@kb-labs/release-manager-contracts#PreviewResponseSchema"
|
|
1081
|
+
}
|
|
1082
|
+
},
|
|
1083
|
+
{
|
|
1084
|
+
"method": "POST",
|
|
1085
|
+
"path": "/build",
|
|
1086
|
+
"handler": "./rest/handlers/build-handler.js#default",
|
|
1087
|
+
"input": {
|
|
1088
|
+
"zod": "@kb-labs/release-manager-contracts#BuildRequestSchema"
|
|
1089
|
+
},
|
|
1090
|
+
"output": {
|
|
1091
|
+
"zod": "@kb-labs/release-manager-contracts#BuildResponseSchema"
|
|
1092
|
+
},
|
|
1093
|
+
"timeoutMs": 300000
|
|
1094
|
+
},
|
|
1095
|
+
{
|
|
1096
|
+
"method": "GET",
|
|
1097
|
+
"path": "/checklist",
|
|
1098
|
+
"handler": "./rest/handlers/checklist-handler.js#default",
|
|
1099
|
+
"output": {
|
|
1100
|
+
"zod": "@kb-labs/release-manager-contracts#ReleaseChecklistSchema"
|
|
1101
|
+
}
|
|
1102
|
+
},
|
|
1103
|
+
{
|
|
1104
|
+
"method": "GET",
|
|
1105
|
+
"path": "/checks",
|
|
1106
|
+
"handler": "./rest/handlers/get-checks-handler.js#default",
|
|
1107
|
+
"output": {
|
|
1108
|
+
"zod": "@kb-labs/release-manager-contracts#GetChecksResponseSchema"
|
|
1109
|
+
}
|
|
1110
|
+
},
|
|
1111
|
+
{
|
|
1112
|
+
"method": "POST",
|
|
1113
|
+
"path": "/checks/run",
|
|
1114
|
+
"handler": "./rest/handlers/run-checks-handler.js#default",
|
|
1115
|
+
"input": {
|
|
1116
|
+
"zod": "@kb-labs/release-manager-contracts#RunChecksRequestSchema"
|
|
1117
|
+
},
|
|
1118
|
+
"output": {
|
|
1119
|
+
"zod": "@kb-labs/release-manager-contracts#RunChecksResponseSchema"
|
|
1120
|
+
},
|
|
1121
|
+
"timeoutMs": 600000
|
|
1122
|
+
}
|
|
1123
|
+
]
|
|
1124
|
+
},
|
|
1125
|
+
"studio": {
|
|
1126
|
+
"version": 2,
|
|
1127
|
+
"remoteName": "releasePlugin",
|
|
1128
|
+
"pages": [
|
|
1129
|
+
{
|
|
1130
|
+
"id": "release.overview",
|
|
1131
|
+
"title": "Release",
|
|
1132
|
+
"icon": "RocketOutlined",
|
|
1133
|
+
"route": "/p/release",
|
|
1134
|
+
"entry": "./ReleasePage",
|
|
1135
|
+
"order": 1
|
|
1136
|
+
}
|
|
1137
|
+
],
|
|
1138
|
+
"menus": [
|
|
1139
|
+
{
|
|
1140
|
+
"id": "release",
|
|
1141
|
+
"label": "Release",
|
|
1142
|
+
"icon": "RocketOutlined",
|
|
1143
|
+
"target": "release.overview",
|
|
1144
|
+
"order": 60
|
|
1145
|
+
}
|
|
1146
|
+
]
|
|
1147
|
+
},
|
|
1148
|
+
"configSection": "release",
|
|
1149
|
+
"capabilities": [
|
|
1150
|
+
"fs:read",
|
|
1151
|
+
"fs:write"
|
|
1152
|
+
],
|
|
1153
|
+
"permissions": {
|
|
1154
|
+
"fs": {
|
|
1155
|
+
"read": [
|
|
1156
|
+
"**/.git/**",
|
|
1157
|
+
"**/.gitignore",
|
|
1158
|
+
"**/.gitattributes",
|
|
1159
|
+
".kb/**",
|
|
1160
|
+
"**/package.json",
|
|
1161
|
+
"**/package-lock.json",
|
|
1162
|
+
"**/pnpm-lock.yaml",
|
|
1163
|
+
"**/.npmrc",
|
|
1164
|
+
"**/.npmignore",
|
|
1165
|
+
".kb/release/**",
|
|
1166
|
+
"package.json",
|
|
1167
|
+
"pnpm-workspace.yaml",
|
|
1168
|
+
"**/*.yml",
|
|
1169
|
+
"**/*.yaml",
|
|
1170
|
+
"CHANGELOG.md",
|
|
1171
|
+
"**/CHANGELOG.md"
|
|
1172
|
+
],
|
|
1173
|
+
"write": [
|
|
1174
|
+
"**/.git/**",
|
|
1175
|
+
"**/.gitignore",
|
|
1176
|
+
"**/.gitattributes",
|
|
1177
|
+
".kb/**",
|
|
1178
|
+
"**/package.json",
|
|
1179
|
+
"**/package-lock.json",
|
|
1180
|
+
"**/pnpm-lock.yaml",
|
|
1181
|
+
"**/.npmrc",
|
|
1182
|
+
"**/.npmignore",
|
|
1183
|
+
".kb/release/**",
|
|
1184
|
+
"package.json",
|
|
1185
|
+
"pnpm-workspace.yaml",
|
|
1186
|
+
"**/*.yml",
|
|
1187
|
+
"**/*.yaml",
|
|
1188
|
+
"CHANGELOG.md",
|
|
1189
|
+
"**/CHANGELOG.md"
|
|
1190
|
+
]
|
|
1191
|
+
},
|
|
1192
|
+
"env": {
|
|
1193
|
+
"read": [
|
|
1194
|
+
"HOME",
|
|
1195
|
+
"USER",
|
|
1196
|
+
"PATH",
|
|
1197
|
+
"SHELL",
|
|
1198
|
+
"TERM",
|
|
1199
|
+
"LANG",
|
|
1200
|
+
"LC_ALL",
|
|
1201
|
+
"TZ",
|
|
1202
|
+
"TMPDIR",
|
|
1203
|
+
"GIT_*",
|
|
1204
|
+
"SSH_AUTH_SOCK",
|
|
1205
|
+
"SSH_AGENT_PID",
|
|
1206
|
+
"NODE_ENV",
|
|
1207
|
+
"KB_*",
|
|
1208
|
+
"NPM_TOKEN",
|
|
1209
|
+
"NPM_AUTH_TOKEN",
|
|
1210
|
+
"NODE_AUTH_TOKEN",
|
|
1211
|
+
"npm_*",
|
|
1212
|
+
"NODE_OPTIONS",
|
|
1213
|
+
"CI",
|
|
1214
|
+
"CI_*",
|
|
1215
|
+
"CONTINUOUS_INTEGRATION",
|
|
1216
|
+
"GITHUB_TOKEN",
|
|
1217
|
+
"GITHUB_*",
|
|
1218
|
+
"GH_TOKEN",
|
|
1219
|
+
"GITLAB_*",
|
|
1220
|
+
"CI_JOB_TOKEN",
|
|
1221
|
+
"JENKINS_*",
|
|
1222
|
+
"BUILD_*",
|
|
1223
|
+
"BRANCH_NAME",
|
|
1224
|
+
"TAG_NAME",
|
|
1225
|
+
"COMMIT_SHA",
|
|
1226
|
+
"KB_RELEASE_*"
|
|
1227
|
+
]
|
|
1228
|
+
},
|
|
1229
|
+
"network": {
|
|
1230
|
+
"fetch": [
|
|
1231
|
+
"registry.npmjs.org",
|
|
1232
|
+
"npm.pkg.github.com"
|
|
1233
|
+
]
|
|
1234
|
+
},
|
|
1235
|
+
"shell": {
|
|
1236
|
+
"allow": [
|
|
1237
|
+
"bash",
|
|
1238
|
+
"git",
|
|
1239
|
+
"npm",
|
|
1240
|
+
"npx",
|
|
1241
|
+
"pnpm"
|
|
1242
|
+
],
|
|
1243
|
+
"maxConcurrent": 2
|
|
1244
|
+
},
|
|
1245
|
+
"platform": {
|
|
1246
|
+
"llm": true,
|
|
1247
|
+
"analytics": true,
|
|
1248
|
+
"cache": {
|
|
1249
|
+
"namespaces": [
|
|
1250
|
+
"release:"
|
|
1251
|
+
]
|
|
1252
|
+
}
|
|
1253
|
+
},
|
|
1254
|
+
"quotas": {
|
|
1255
|
+
"timeoutMs": 1800000,
|
|
1256
|
+
"memoryMb": 4096,
|
|
1257
|
+
"cpuMs": 300000
|
|
1258
|
+
}
|
|
1259
|
+
},
|
|
1260
|
+
"workflows": {
|
|
1261
|
+
"handlers": [],
|
|
1262
|
+
"templates": [
|
|
1263
|
+
{
|
|
1264
|
+
"id": "full-release",
|
|
1265
|
+
"path": "./workflows/templates/full-release.yaml",
|
|
1266
|
+
"describe": "Full release cycle: plan → checks → build → pack → approve → publish → git",
|
|
1267
|
+
"tags": [
|
|
1268
|
+
"release",
|
|
1269
|
+
"full"
|
|
1270
|
+
]
|
|
1271
|
+
},
|
|
1272
|
+
{
|
|
1273
|
+
"id": "hotfix",
|
|
1274
|
+
"path": "./workflows/templates/hotfix.yaml",
|
|
1275
|
+
"describe": "Quick hotfix: plan → approve → publish → git (patch bump, no checks)",
|
|
1276
|
+
"tags": [
|
|
1277
|
+
"release",
|
|
1278
|
+
"hotfix"
|
|
1279
|
+
]
|
|
1280
|
+
},
|
|
1281
|
+
{
|
|
1282
|
+
"id": "dry-run",
|
|
1283
|
+
"path": "./workflows/templates/dry-run.yaml",
|
|
1284
|
+
"describe": "Preview release: plan, checks, pack, changelog — no publish or git ops",
|
|
1285
|
+
"tags": [
|
|
1286
|
+
"release",
|
|
1287
|
+
"dry-run"
|
|
1288
|
+
]
|
|
1289
|
+
}
|
|
1290
|
+
]
|
|
1291
|
+
},
|
|
1292
|
+
"artifacts": [
|
|
1293
|
+
{
|
|
1294
|
+
"id": "release.plan.json",
|
|
1295
|
+
"pathTemplate": ".kb/release/plan.json",
|
|
1296
|
+
"description": "Serialized release plan generated by `kb release plan`."
|
|
1297
|
+
},
|
|
1298
|
+
{
|
|
1299
|
+
"id": "release.report.json",
|
|
1300
|
+
"pathTemplate": ".kb/release/report.json",
|
|
1301
|
+
"description": "Execution report emitted by `kb release run`."
|
|
1302
|
+
},
|
|
1303
|
+
{
|
|
1304
|
+
"id": "release.changelog.md",
|
|
1305
|
+
"pathTemplate": ".kb/release/changelog.md",
|
|
1306
|
+
"description": "Workspace changelog output produced during release."
|
|
1307
|
+
}
|
|
1308
|
+
]
|
|
1309
|
+
}
|