@simplysf/simply-gitlab 0.3.0 → 0.5.0

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.
@@ -0,0 +1,3058 @@
1
+ {
2
+ "commands": {
3
+ "gitlab:search": {
4
+ "aliases": [],
5
+ "args": {},
6
+ "description": "Searches the whole instance by default, or one project with --project, or one group with --group. These are three different GitLab endpoints, and they do not accept the same scopes: projects and users are instance-wide only, while a project search can look at notes.\n\nThe blobs, commits, wiki_blobs, notes, and snippet_titles scopes need Advanced Search (Elasticsearch) enabled on the instance. Where it is not, GitLab answers with an empty list and a 200 rather than an error, so an empty result for one of those scopes is reported here as possibly meaning \"not enabled\" rather than \"no matches\".",
7
+ "examples": [
8
+ "<%= config.bin %> <%= command.id %> --scope projects --query platform",
9
+ "<%= config.bin %> <%= command.id %> --scope blobs --query UMCN_Account --project group/project",
10
+ "<%= config.bin %> <%= command.id %> --scope merge_requests --query \"flaky test\" --group my-group --json"
11
+ ],
12
+ "flags": {
13
+ "json": {
14
+ "description": "Format output as json.",
15
+ "helpGroup": "GLOBAL",
16
+ "name": "json",
17
+ "allowNo": false,
18
+ "type": "boolean"
19
+ },
20
+ "env-file": {
21
+ "char": "e",
22
+ "description": "Loaded before anything else. Variables already present in the environment win, so the file never overrides an explicit export, and only GitLab connection variables are read from it. A path that cannot be read is an error.",
23
+ "helpGroup": "CONNECTION",
24
+ "name": "env-file",
25
+ "summary": "Path to a .env file holding connection settings.",
26
+ "hasDynamicHelp": false,
27
+ "multiple": false,
28
+ "type": "option"
29
+ },
30
+ "gitlab-url": {
31
+ "env": "GITLAB_URL",
32
+ "helpGroup": "CONNECTION",
33
+ "name": "gitlab-url",
34
+ "summary": "Base URL of the GitLab instance. Defaults to https://gitlab.com.",
35
+ "hasDynamicHelp": false,
36
+ "multiple": false,
37
+ "type": "option"
38
+ },
39
+ "gitlab-token": {
40
+ "env": "GITLAB_TOKEN",
41
+ "helpGroup": "CONNECTION",
42
+ "name": "gitlab-token",
43
+ "summary": "Personal, project, or group access token.",
44
+ "hasDynamicHelp": false,
45
+ "multiple": false,
46
+ "type": "option"
47
+ },
48
+ "limit": {
49
+ "name": "limit",
50
+ "summary": "Maximum number of results to return across all pages.",
51
+ "default": 20,
52
+ "hasDynamicHelp": false,
53
+ "multiple": false,
54
+ "type": "option"
55
+ },
56
+ "scope": {
57
+ "name": "scope",
58
+ "required": true,
59
+ "summary": "What to search.",
60
+ "hasDynamicHelp": false,
61
+ "multiple": false,
62
+ "options": [
63
+ "projects",
64
+ "issues",
65
+ "merge_requests",
66
+ "milestones",
67
+ "wiki_blobs",
68
+ "commits",
69
+ "blobs",
70
+ "notes",
71
+ "users",
72
+ "snippet_titles"
73
+ ],
74
+ "type": "option"
75
+ },
76
+ "query": {
77
+ "name": "query",
78
+ "required": true,
79
+ "summary": "The search term.",
80
+ "hasDynamicHelp": false,
81
+ "multiple": false,
82
+ "type": "option"
83
+ },
84
+ "project": {
85
+ "exclusive": [
86
+ "group"
87
+ ],
88
+ "name": "project",
89
+ "summary": "Search within this project id or path.",
90
+ "hasDynamicHelp": false,
91
+ "multiple": false,
92
+ "type": "option"
93
+ },
94
+ "group": {
95
+ "name": "group",
96
+ "summary": "Search within this group id or path.",
97
+ "hasDynamicHelp": false,
98
+ "multiple": false,
99
+ "type": "option"
100
+ }
101
+ },
102
+ "hasDynamicHelp": false,
103
+ "hiddenAliases": [],
104
+ "id": "gitlab:search",
105
+ "pluginAlias": "@simplysf/simply-gitlab",
106
+ "pluginName": "@simplysf/simply-gitlab",
107
+ "pluginType": "core",
108
+ "strict": true,
109
+ "summary": "Search GitLab.",
110
+ "enableJsonFlag": true,
111
+ "isWrite": false,
112
+ "isESM": true,
113
+ "relativePath": [
114
+ "lib",
115
+ "commands",
116
+ "gitlab",
117
+ "search.js"
118
+ ],
119
+ "aliasPermutations": [],
120
+ "permutations": [
121
+ "gitlab:search",
122
+ "search:gitlab"
123
+ ]
124
+ },
125
+ "gitlab:branch:create": {
126
+ "aliases": [],
127
+ "args": {},
128
+ "description": "Points a new branch at an existing branch, tag, or commit SHA. GitLab refuses a name that already exists rather than moving it, so this can never rewrite a branch someone else is using.",
129
+ "examples": [
130
+ "<%= config.bin %> <%= command.id %> --project group/project --branch feature/thing --ref main",
131
+ "<%= config.bin %> <%= command.id %> --project group/project --branch hotfix --ref v1.2.0"
132
+ ],
133
+ "flags": {
134
+ "json": {
135
+ "description": "Format output as json.",
136
+ "helpGroup": "GLOBAL",
137
+ "name": "json",
138
+ "allowNo": false,
139
+ "type": "boolean"
140
+ },
141
+ "env-file": {
142
+ "char": "e",
143
+ "description": "Loaded before anything else. Variables already present in the environment win, so the file never overrides an explicit export, and only GitLab connection variables are read from it. A path that cannot be read is an error.",
144
+ "helpGroup": "CONNECTION",
145
+ "name": "env-file",
146
+ "summary": "Path to a .env file holding connection settings.",
147
+ "hasDynamicHelp": false,
148
+ "multiple": false,
149
+ "type": "option"
150
+ },
151
+ "gitlab-url": {
152
+ "env": "GITLAB_URL",
153
+ "helpGroup": "CONNECTION",
154
+ "name": "gitlab-url",
155
+ "summary": "Base URL of the GitLab instance. Defaults to https://gitlab.com.",
156
+ "hasDynamicHelp": false,
157
+ "multiple": false,
158
+ "type": "option"
159
+ },
160
+ "gitlab-token": {
161
+ "env": "GITLAB_TOKEN",
162
+ "helpGroup": "CONNECTION",
163
+ "name": "gitlab-token",
164
+ "summary": "Personal, project, or group access token.",
165
+ "hasDynamicHelp": false,
166
+ "multiple": false,
167
+ "type": "option"
168
+ },
169
+ "project": {
170
+ "char": "p",
171
+ "env": "GITLAB_PROJECT",
172
+ "name": "project",
173
+ "required": true,
174
+ "summary": "Project id, or its full path such as group/subgroup/project.",
175
+ "hasDynamicHelp": false,
176
+ "multiple": false,
177
+ "type": "option"
178
+ },
179
+ "dry-run": {
180
+ "name": "dry-run",
181
+ "summary": "Print the request that would be sent and exit without sending it.",
182
+ "allowNo": false,
183
+ "type": "boolean"
184
+ },
185
+ "branch": {
186
+ "name": "branch",
187
+ "required": true,
188
+ "summary": "Name of the new branch.",
189
+ "hasDynamicHelp": false,
190
+ "multiple": false,
191
+ "type": "option"
192
+ },
193
+ "ref": {
194
+ "name": "ref",
195
+ "required": true,
196
+ "summary": "Branch, tag, or commit SHA to branch from.",
197
+ "hasDynamicHelp": false,
198
+ "multiple": false,
199
+ "type": "option"
200
+ }
201
+ },
202
+ "hasDynamicHelp": false,
203
+ "hiddenAliases": [],
204
+ "id": "gitlab:branch:create",
205
+ "pluginAlias": "@simplysf/simply-gitlab",
206
+ "pluginName": "@simplysf/simply-gitlab",
207
+ "pluginType": "core",
208
+ "strict": true,
209
+ "summary": "Create a branch.",
210
+ "enableJsonFlag": true,
211
+ "isWrite": true,
212
+ "isESM": true,
213
+ "relativePath": [
214
+ "lib",
215
+ "commands",
216
+ "gitlab",
217
+ "branch",
218
+ "create.js"
219
+ ],
220
+ "aliasPermutations": [],
221
+ "permutations": [
222
+ "gitlab:branch:create",
223
+ "branch:gitlab:create",
224
+ "branch:create:gitlab",
225
+ "gitlab:create:branch",
226
+ "create:gitlab:branch",
227
+ "create:branch:gitlab"
228
+ ]
229
+ },
230
+ "gitlab:branch:list": {
231
+ "aliases": [],
232
+ "args": {},
233
+ "description": "Branches come back in GitLab order, which is alphabetical rather than by recency, so on a busy repository --search is usually what you want. The MERGED column reflects whether the branch is merged into the default branch, not into whatever you are working on.",
234
+ "examples": [
235
+ "<%= config.bin %> <%= command.id %> --project group/project",
236
+ "<%= config.bin %> <%= command.id %> --project group/project --search release --limit 50"
237
+ ],
238
+ "flags": {
239
+ "json": {
240
+ "description": "Format output as json.",
241
+ "helpGroup": "GLOBAL",
242
+ "name": "json",
243
+ "allowNo": false,
244
+ "type": "boolean"
245
+ },
246
+ "env-file": {
247
+ "char": "e",
248
+ "description": "Loaded before anything else. Variables already present in the environment win, so the file never overrides an explicit export, and only GitLab connection variables are read from it. A path that cannot be read is an error.",
249
+ "helpGroup": "CONNECTION",
250
+ "name": "env-file",
251
+ "summary": "Path to a .env file holding connection settings.",
252
+ "hasDynamicHelp": false,
253
+ "multiple": false,
254
+ "type": "option"
255
+ },
256
+ "gitlab-url": {
257
+ "env": "GITLAB_URL",
258
+ "helpGroup": "CONNECTION",
259
+ "name": "gitlab-url",
260
+ "summary": "Base URL of the GitLab instance. Defaults to https://gitlab.com.",
261
+ "hasDynamicHelp": false,
262
+ "multiple": false,
263
+ "type": "option"
264
+ },
265
+ "gitlab-token": {
266
+ "env": "GITLAB_TOKEN",
267
+ "helpGroup": "CONNECTION",
268
+ "name": "gitlab-token",
269
+ "summary": "Personal, project, or group access token.",
270
+ "hasDynamicHelp": false,
271
+ "multiple": false,
272
+ "type": "option"
273
+ },
274
+ "project": {
275
+ "char": "p",
276
+ "env": "GITLAB_PROJECT",
277
+ "name": "project",
278
+ "required": true,
279
+ "summary": "Project id, or its full path such as group/subgroup/project.",
280
+ "hasDynamicHelp": false,
281
+ "multiple": false,
282
+ "type": "option"
283
+ },
284
+ "limit": {
285
+ "name": "limit",
286
+ "summary": "Maximum number of branches to return across all pages.",
287
+ "default": 20,
288
+ "hasDynamicHelp": false,
289
+ "multiple": false,
290
+ "type": "option"
291
+ },
292
+ "search": {
293
+ "name": "search",
294
+ "summary": "Return only branches whose name contains this term.",
295
+ "hasDynamicHelp": false,
296
+ "multiple": false,
297
+ "type": "option"
298
+ }
299
+ },
300
+ "hasDynamicHelp": false,
301
+ "hiddenAliases": [],
302
+ "id": "gitlab:branch:list",
303
+ "pluginAlias": "@simplysf/simply-gitlab",
304
+ "pluginName": "@simplysf/simply-gitlab",
305
+ "pluginType": "core",
306
+ "strict": true,
307
+ "summary": "List repository branches.",
308
+ "enableJsonFlag": true,
309
+ "isWrite": false,
310
+ "isESM": true,
311
+ "relativePath": [
312
+ "lib",
313
+ "commands",
314
+ "gitlab",
315
+ "branch",
316
+ "list.js"
317
+ ],
318
+ "aliasPermutations": [],
319
+ "permutations": [
320
+ "gitlab:branch:list",
321
+ "branch:gitlab:list",
322
+ "branch:list:gitlab",
323
+ "gitlab:list:branch",
324
+ "list:gitlab:branch",
325
+ "list:branch:gitlab"
326
+ ]
327
+ },
328
+ "gitlab:config:apply": {
329
+ "aliases": [],
330
+ "args": {},
331
+ "description": "Computes the same plan as config plan, then executes it. Only what the plan showed is sent, so a preview is a guarantee rather than an approximation, and a second run against a converged project sends no requests at all.\n\nSections are applied in a fixed order — settings, protected branches, protected tags, approval settings, approval rules, push rules — because an approval rule scoped to a branch needs that branch protected before it can reference it.\n\nBy default the config only adds and corrects what it declares. A section that sets \"prune\": true also deletes entries the config does not mention.\n\nOne target failing does not abandon the rest; the summary says which ones failed and where they stopped. There is no transaction across GitLab endpoints, so a target that failed part-way keeps the sections already applied — run config plan afterwards to see what is left.",
332
+ "examples": [
333
+ "<%= config.bin %> <%= command.id %> --config ./baseline.json --dry-run",
334
+ "<%= config.bin %> <%= command.id %> --config ./baseline.json",
335
+ "<%= config.bin %> <%= command.id %> --config ./baseline.json --target group/project"
336
+ ],
337
+ "flags": {
338
+ "json": {
339
+ "description": "Format output as json.",
340
+ "helpGroup": "GLOBAL",
341
+ "name": "json",
342
+ "allowNo": false,
343
+ "type": "boolean"
344
+ },
345
+ "env-file": {
346
+ "char": "e",
347
+ "description": "Loaded before anything else. Variables already present in the environment win, so the file never overrides an explicit export, and only GitLab connection variables are read from it. A path that cannot be read is an error.",
348
+ "helpGroup": "CONNECTION",
349
+ "name": "env-file",
350
+ "summary": "Path to a .env file holding connection settings.",
351
+ "hasDynamicHelp": false,
352
+ "multiple": false,
353
+ "type": "option"
354
+ },
355
+ "gitlab-url": {
356
+ "env": "GITLAB_URL",
357
+ "helpGroup": "CONNECTION",
358
+ "name": "gitlab-url",
359
+ "summary": "Base URL of the GitLab instance. Defaults to https://gitlab.com.",
360
+ "hasDynamicHelp": false,
361
+ "multiple": false,
362
+ "type": "option"
363
+ },
364
+ "gitlab-token": {
365
+ "env": "GITLAB_TOKEN",
366
+ "helpGroup": "CONNECTION",
367
+ "name": "gitlab-token",
368
+ "summary": "Personal, project, or group access token.",
369
+ "hasDynamicHelp": false,
370
+ "multiple": false,
371
+ "type": "option"
372
+ },
373
+ "config": {
374
+ "char": "c",
375
+ "name": "config",
376
+ "required": true,
377
+ "summary": "Path to the baseline configuration file.",
378
+ "hasDynamicHelp": false,
379
+ "multiple": false,
380
+ "type": "option"
381
+ },
382
+ "target": {
383
+ "description": "Narrows a run without editing the config, for the loop of fixing one project and checking it again. Naming a project the config does not target is an error rather than a silent no-op.",
384
+ "name": "target",
385
+ "summary": "Limit the run to this project path. Repeatable.",
386
+ "hasDynamicHelp": false,
387
+ "multiple": true,
388
+ "type": "option"
389
+ },
390
+ "concurrency": {
391
+ "description": "Small by default. The client already retries a rate-limited request with a capped Retry-After, so raising this trades a shared instance responsiveness for very little wall-clock time.",
392
+ "name": "concurrency",
393
+ "summary": "How many targets to work on at once.",
394
+ "default": 4,
395
+ "hasDynamicHelp": false,
396
+ "multiple": false,
397
+ "type": "option"
398
+ },
399
+ "fail-fast": {
400
+ "name": "fail-fast",
401
+ "summary": "Stop at the first target that fails instead of continuing.",
402
+ "allowNo": false,
403
+ "type": "boolean"
404
+ },
405
+ "dry-run": {
406
+ "name": "dry-run",
407
+ "summary": "Print the request that would be sent and exit without sending it.",
408
+ "allowNo": false,
409
+ "type": "boolean"
410
+ }
411
+ },
412
+ "hasDynamicHelp": false,
413
+ "hiddenAliases": [],
414
+ "id": "gitlab:config:apply",
415
+ "pluginAlias": "@simplysf/simply-gitlab",
416
+ "pluginName": "@simplysf/simply-gitlab",
417
+ "pluginType": "core",
418
+ "strict": true,
419
+ "summary": "Bring projects onto a baseline config.",
420
+ "enableJsonFlag": true,
421
+ "isWrite": true,
422
+ "isESM": true,
423
+ "relativePath": [
424
+ "lib",
425
+ "commands",
426
+ "gitlab",
427
+ "config",
428
+ "apply.js"
429
+ ],
430
+ "aliasPermutations": [],
431
+ "permutations": [
432
+ "gitlab:config:apply",
433
+ "config:gitlab:apply",
434
+ "config:apply:gitlab",
435
+ "gitlab:apply:config",
436
+ "apply:gitlab:config",
437
+ "apply:config:gitlab"
438
+ ]
439
+ },
440
+ "gitlab:config:export": {
441
+ "aliases": [],
442
+ "args": {},
443
+ "description": "Reads one project and prints a configuration file that describes it, ready to be edited and pointed at the rest of your projects. Writing a baseline by hand against forty attributes is miserable and the first draft is wrong; exporting the project that already looks right and deleting what you do not care about is the way to start.\n\nThe output is deliberately verbose — every supported key, not a curated subset — because deleting a line is easier than discovering that a key exists. Variables are exported as metadata only: keys, scopes, and flags, never values.\n\nThe exported targets name only the project it came from. Widen that on purpose rather than inheriting a blast radius from an export.",
444
+ "examples": [
445
+ "<%= config.bin %> <%= command.id %> --project group/project > baseline.json",
446
+ "<%= config.bin %> <%= command.id %> --project group/project --section settings,protectedBranches"
447
+ ],
448
+ "flags": {
449
+ "json": {
450
+ "description": "Format output as json.",
451
+ "helpGroup": "GLOBAL",
452
+ "name": "json",
453
+ "allowNo": false,
454
+ "type": "boolean"
455
+ },
456
+ "env-file": {
457
+ "char": "e",
458
+ "description": "Loaded before anything else. Variables already present in the environment win, so the file never overrides an explicit export, and only GitLab connection variables are read from it. A path that cannot be read is an error.",
459
+ "helpGroup": "CONNECTION",
460
+ "name": "env-file",
461
+ "summary": "Path to a .env file holding connection settings.",
462
+ "hasDynamicHelp": false,
463
+ "multiple": false,
464
+ "type": "option"
465
+ },
466
+ "gitlab-url": {
467
+ "env": "GITLAB_URL",
468
+ "helpGroup": "CONNECTION",
469
+ "name": "gitlab-url",
470
+ "summary": "Base URL of the GitLab instance. Defaults to https://gitlab.com.",
471
+ "hasDynamicHelp": false,
472
+ "multiple": false,
473
+ "type": "option"
474
+ },
475
+ "gitlab-token": {
476
+ "env": "GITLAB_TOKEN",
477
+ "helpGroup": "CONNECTION",
478
+ "name": "gitlab-token",
479
+ "summary": "Personal, project, or group access token.",
480
+ "hasDynamicHelp": false,
481
+ "multiple": false,
482
+ "type": "option"
483
+ },
484
+ "project": {
485
+ "char": "p",
486
+ "env": "GITLAB_PROJECT",
487
+ "name": "project",
488
+ "required": true,
489
+ "summary": "Project id, or its full path such as group/subgroup/project.",
490
+ "hasDynamicHelp": false,
491
+ "multiple": false,
492
+ "type": "option"
493
+ },
494
+ "section": {
495
+ "name": "section",
496
+ "summary": "Comma-separated sections to export. Defaults to all of them.",
497
+ "delimiter": ",",
498
+ "hasDynamicHelp": false,
499
+ "multiple": true,
500
+ "options": [
501
+ "settings",
502
+ "protectedBranches",
503
+ "protectedTags",
504
+ "approvals",
505
+ "approvalRules",
506
+ "pushRules",
507
+ "variables"
508
+ ],
509
+ "type": "option"
510
+ }
511
+ },
512
+ "hasDynamicHelp": false,
513
+ "hiddenAliases": [],
514
+ "id": "gitlab:config:export",
515
+ "pluginAlias": "@simplysf/simply-gitlab",
516
+ "pluginName": "@simplysf/simply-gitlab",
517
+ "pluginType": "core",
518
+ "strict": true,
519
+ "summary": "Write a baseline config describing an existing project.",
520
+ "enableJsonFlag": true,
521
+ "isWrite": false,
522
+ "isESM": true,
523
+ "relativePath": [
524
+ "lib",
525
+ "commands",
526
+ "gitlab",
527
+ "config",
528
+ "export.js"
529
+ ],
530
+ "aliasPermutations": [],
531
+ "permutations": [
532
+ "gitlab:config:export",
533
+ "config:gitlab:export",
534
+ "config:export:gitlab",
535
+ "gitlab:export:config",
536
+ "export:gitlab:config",
537
+ "export:config:gitlab"
538
+ ]
539
+ },
540
+ "gitlab:config:plan": {
541
+ "aliases": [],
542
+ "args": {},
543
+ "description": "Reads the baseline, expands its targets, and prints what differs on each one. Nothing is sent that changes anything, so this is safe to run against every project you have.\n\nOnly the attributes the config declares are compared. A project with forty settings the config never mentions shows nothing for them — that is what makes a baseline safe to point at projects that already exist.\n\nEntries that exist on the instance but are not in the config are shown as removals, marked as not pruned unless that section opts into pruning. Seeing what you are choosing not to fix is most of the value of running this across fifty projects.\n\nUse --fail-on-drift in a scheduled job: it exits 1 when anything differs, so CI can tell you that something drifted without anyone having to read the output.",
544
+ "examples": [
545
+ "<%= config.bin %> <%= command.id %> --config ./baseline.json",
546
+ "<%= config.bin %> <%= command.id %> --config ./baseline.json --target group/project",
547
+ "<%= config.bin %> <%= command.id %> --config ./baseline.json --fail-on-drift",
548
+ "<%= config.bin %> <%= command.id %> --config ./baseline.json --json | jq .summary"
549
+ ],
550
+ "flags": {
551
+ "json": {
552
+ "description": "Format output as json.",
553
+ "helpGroup": "GLOBAL",
554
+ "name": "json",
555
+ "allowNo": false,
556
+ "type": "boolean"
557
+ },
558
+ "env-file": {
559
+ "char": "e",
560
+ "description": "Loaded before anything else. Variables already present in the environment win, so the file never overrides an explicit export, and only GitLab connection variables are read from it. A path that cannot be read is an error.",
561
+ "helpGroup": "CONNECTION",
562
+ "name": "env-file",
563
+ "summary": "Path to a .env file holding connection settings.",
564
+ "hasDynamicHelp": false,
565
+ "multiple": false,
566
+ "type": "option"
567
+ },
568
+ "gitlab-url": {
569
+ "env": "GITLAB_URL",
570
+ "helpGroup": "CONNECTION",
571
+ "name": "gitlab-url",
572
+ "summary": "Base URL of the GitLab instance. Defaults to https://gitlab.com.",
573
+ "hasDynamicHelp": false,
574
+ "multiple": false,
575
+ "type": "option"
576
+ },
577
+ "gitlab-token": {
578
+ "env": "GITLAB_TOKEN",
579
+ "helpGroup": "CONNECTION",
580
+ "name": "gitlab-token",
581
+ "summary": "Personal, project, or group access token.",
582
+ "hasDynamicHelp": false,
583
+ "multiple": false,
584
+ "type": "option"
585
+ },
586
+ "config": {
587
+ "char": "c",
588
+ "name": "config",
589
+ "required": true,
590
+ "summary": "Path to the baseline configuration file.",
591
+ "hasDynamicHelp": false,
592
+ "multiple": false,
593
+ "type": "option"
594
+ },
595
+ "target": {
596
+ "description": "Narrows a run without editing the config, for the loop of fixing one project and checking it again. Naming a project the config does not target is an error rather than a silent no-op.",
597
+ "name": "target",
598
+ "summary": "Limit the run to this project path. Repeatable.",
599
+ "hasDynamicHelp": false,
600
+ "multiple": true,
601
+ "type": "option"
602
+ },
603
+ "concurrency": {
604
+ "description": "Small by default. The client already retries a rate-limited request with a capped Retry-After, so raising this trades a shared instance responsiveness for very little wall-clock time.",
605
+ "name": "concurrency",
606
+ "summary": "How many targets to work on at once.",
607
+ "default": 4,
608
+ "hasDynamicHelp": false,
609
+ "multiple": false,
610
+ "type": "option"
611
+ },
612
+ "fail-fast": {
613
+ "name": "fail-fast",
614
+ "summary": "Stop at the first target that fails instead of continuing.",
615
+ "allowNo": false,
616
+ "type": "boolean"
617
+ },
618
+ "fail-on-drift": {
619
+ "name": "fail-on-drift",
620
+ "summary": "Exit 1 when any target differs from the baseline.",
621
+ "allowNo": false,
622
+ "type": "boolean"
623
+ }
624
+ },
625
+ "hasDynamicHelp": false,
626
+ "hiddenAliases": [],
627
+ "id": "gitlab:config:plan",
628
+ "pluginAlias": "@simplysf/simply-gitlab",
629
+ "pluginName": "@simplysf/simply-gitlab",
630
+ "pluginType": "core",
631
+ "strict": true,
632
+ "summary": "Report how projects differ from a baseline config.",
633
+ "enableJsonFlag": true,
634
+ "isWrite": false,
635
+ "isESM": true,
636
+ "relativePath": [
637
+ "lib",
638
+ "commands",
639
+ "gitlab",
640
+ "config",
641
+ "plan.js"
642
+ ],
643
+ "aliasPermutations": [],
644
+ "permutations": [
645
+ "gitlab:config:plan",
646
+ "config:gitlab:plan",
647
+ "config:plan:gitlab",
648
+ "gitlab:plan:config",
649
+ "plan:gitlab:config",
650
+ "plan:config:gitlab"
651
+ ]
652
+ },
653
+ "gitlab:commit:create": {
654
+ "aliases": [],
655
+ "args": {},
656
+ "description": "Sends one commit containing a batch of actions — create, update, delete, move, chmod — which is how GitLab writes more than one file atomically. The actions are JSON, supplied with --actions or inside a --body-file, because there is no readable flag form for a list of file operations.\n\nEach action is an object with an \"action\" and a \"file_path\"; create and update also need \"content\", move needs \"previous_path\", and chmod needs \"execute_filemode\". Those rules are checked before anything is sent, so a bad entry names its own index.\n\nUse --dry-run to see exactly what would be sent.",
657
+ "examples": [
658
+ "<%= config.bin %> <%= command.id %> --project group/project --branch main --message \"chore: tidy\" --actions '[{\"action\":\"delete\",\"file_path\":\"old.txt\"}]'",
659
+ "<%= config.bin %> <%= command.id %> --project group/project --branch main --message \"feat: batch\" --body-file ./commit.json --dry-run"
660
+ ],
661
+ "flags": {
662
+ "json": {
663
+ "description": "Format output as json.",
664
+ "helpGroup": "GLOBAL",
665
+ "name": "json",
666
+ "allowNo": false,
667
+ "type": "boolean"
668
+ },
669
+ "env-file": {
670
+ "char": "e",
671
+ "description": "Loaded before anything else. Variables already present in the environment win, so the file never overrides an explicit export, and only GitLab connection variables are read from it. A path that cannot be read is an error.",
672
+ "helpGroup": "CONNECTION",
673
+ "name": "env-file",
674
+ "summary": "Path to a .env file holding connection settings.",
675
+ "hasDynamicHelp": false,
676
+ "multiple": false,
677
+ "type": "option"
678
+ },
679
+ "gitlab-url": {
680
+ "env": "GITLAB_URL",
681
+ "helpGroup": "CONNECTION",
682
+ "name": "gitlab-url",
683
+ "summary": "Base URL of the GitLab instance. Defaults to https://gitlab.com.",
684
+ "hasDynamicHelp": false,
685
+ "multiple": false,
686
+ "type": "option"
687
+ },
688
+ "gitlab-token": {
689
+ "env": "GITLAB_TOKEN",
690
+ "helpGroup": "CONNECTION",
691
+ "name": "gitlab-token",
692
+ "summary": "Personal, project, or group access token.",
693
+ "hasDynamicHelp": false,
694
+ "multiple": false,
695
+ "type": "option"
696
+ },
697
+ "project": {
698
+ "char": "p",
699
+ "env": "GITLAB_PROJECT",
700
+ "name": "project",
701
+ "required": true,
702
+ "summary": "Project id, or its full path such as group/subgroup/project.",
703
+ "hasDynamicHelp": false,
704
+ "multiple": false,
705
+ "type": "option"
706
+ },
707
+ "dry-run": {
708
+ "name": "dry-run",
709
+ "summary": "Print the request that would be sent and exit without sending it.",
710
+ "allowNo": false,
711
+ "type": "boolean"
712
+ },
713
+ "branch": {
714
+ "name": "branch",
715
+ "summary": "Branch to commit to.",
716
+ "hasDynamicHelp": false,
717
+ "multiple": false,
718
+ "type": "option"
719
+ },
720
+ "message": {
721
+ "name": "message",
722
+ "summary": "Commit message.",
723
+ "hasDynamicHelp": false,
724
+ "multiple": false,
725
+ "type": "option"
726
+ },
727
+ "actions": {
728
+ "name": "actions",
729
+ "summary": "JSON array of file actions.",
730
+ "hasDynamicHelp": false,
731
+ "multiple": false,
732
+ "type": "option"
733
+ },
734
+ "start-branch": {
735
+ "name": "start-branch",
736
+ "summary": "Branch to create --branch from, if it does not exist.",
737
+ "hasDynamicHelp": false,
738
+ "multiple": false,
739
+ "type": "option"
740
+ },
741
+ "start-sha": {
742
+ "name": "start-sha",
743
+ "summary": "Commit SHA to start the new commit from.",
744
+ "hasDynamicHelp": false,
745
+ "multiple": false,
746
+ "type": "option"
747
+ },
748
+ "author-email": {
749
+ "name": "author-email",
750
+ "summary": "Commit author email.",
751
+ "hasDynamicHelp": false,
752
+ "multiple": false,
753
+ "type": "option"
754
+ },
755
+ "author-name": {
756
+ "name": "author-name",
757
+ "summary": "Commit author name.",
758
+ "hasDynamicHelp": false,
759
+ "multiple": false,
760
+ "type": "option"
761
+ },
762
+ "force": {
763
+ "name": "force",
764
+ "summary": "Overwrite the branch with the new commit.",
765
+ "allowNo": false,
766
+ "type": "boolean"
767
+ },
768
+ "body": {
769
+ "exclusive": [
770
+ "body-file"
771
+ ],
772
+ "name": "body",
773
+ "summary": "Raw JSON request body.",
774
+ "hasDynamicHelp": false,
775
+ "multiple": false,
776
+ "type": "option"
777
+ },
778
+ "body-file": {
779
+ "name": "body-file",
780
+ "summary": "Path to a file holding the raw JSON request body.",
781
+ "hasDynamicHelp": false,
782
+ "multiple": false,
783
+ "type": "option"
784
+ }
785
+ },
786
+ "hasDynamicHelp": false,
787
+ "hiddenAliases": [],
788
+ "id": "gitlab:commit:create",
789
+ "pluginAlias": "@simplysf/simply-gitlab",
790
+ "pluginName": "@simplysf/simply-gitlab",
791
+ "pluginType": "core",
792
+ "strict": true,
793
+ "summary": "Commit several file changes at once.",
794
+ "enableJsonFlag": true,
795
+ "isWrite": true,
796
+ "isESM": true,
797
+ "relativePath": [
798
+ "lib",
799
+ "commands",
800
+ "gitlab",
801
+ "commit",
802
+ "create.js"
803
+ ],
804
+ "aliasPermutations": [],
805
+ "permutations": [
806
+ "gitlab:commit:create",
807
+ "commit:gitlab:create",
808
+ "commit:create:gitlab",
809
+ "gitlab:create:commit",
810
+ "create:gitlab:commit",
811
+ "create:commit:gitlab"
812
+ ]
813
+ },
814
+ "gitlab:commit:diff": {
815
+ "aliases": [],
816
+ "args": {},
817
+ "description": "Prints the unified diff for each file the commit touched. GitLab truncates very large diffs server-side and says so in the payload, so --stat is worth reaching for first on a big commit: it lists the files without any hunks.",
818
+ "examples": [
819
+ "<%= config.bin %> <%= command.id %> --project group/project --sha 9a1b2c3",
820
+ "<%= config.bin %> <%= command.id %> --project group/project --sha 9a1b2c3 --stat"
821
+ ],
822
+ "flags": {
823
+ "json": {
824
+ "description": "Format output as json.",
825
+ "helpGroup": "GLOBAL",
826
+ "name": "json",
827
+ "allowNo": false,
828
+ "type": "boolean"
829
+ },
830
+ "env-file": {
831
+ "char": "e",
832
+ "description": "Loaded before anything else. Variables already present in the environment win, so the file never overrides an explicit export, and only GitLab connection variables are read from it. A path that cannot be read is an error.",
833
+ "helpGroup": "CONNECTION",
834
+ "name": "env-file",
835
+ "summary": "Path to a .env file holding connection settings.",
836
+ "hasDynamicHelp": false,
837
+ "multiple": false,
838
+ "type": "option"
839
+ },
840
+ "gitlab-url": {
841
+ "env": "GITLAB_URL",
842
+ "helpGroup": "CONNECTION",
843
+ "name": "gitlab-url",
844
+ "summary": "Base URL of the GitLab instance. Defaults to https://gitlab.com.",
845
+ "hasDynamicHelp": false,
846
+ "multiple": false,
847
+ "type": "option"
848
+ },
849
+ "gitlab-token": {
850
+ "env": "GITLAB_TOKEN",
851
+ "helpGroup": "CONNECTION",
852
+ "name": "gitlab-token",
853
+ "summary": "Personal, project, or group access token.",
854
+ "hasDynamicHelp": false,
855
+ "multiple": false,
856
+ "type": "option"
857
+ },
858
+ "project": {
859
+ "char": "p",
860
+ "env": "GITLAB_PROJECT",
861
+ "name": "project",
862
+ "required": true,
863
+ "summary": "Project id, or its full path such as group/subgroup/project.",
864
+ "hasDynamicHelp": false,
865
+ "multiple": false,
866
+ "type": "option"
867
+ },
868
+ "sha": {
869
+ "name": "sha",
870
+ "required": true,
871
+ "summary": "Commit SHA, or the name of a branch or tag.",
872
+ "hasDynamicHelp": false,
873
+ "multiple": false,
874
+ "type": "option"
875
+ },
876
+ "stat": {
877
+ "name": "stat",
878
+ "summary": "List the changed files without printing the hunks.",
879
+ "allowNo": false,
880
+ "type": "boolean"
881
+ }
882
+ },
883
+ "hasDynamicHelp": false,
884
+ "hiddenAliases": [],
885
+ "id": "gitlab:commit:diff",
886
+ "pluginAlias": "@simplysf/simply-gitlab",
887
+ "pluginName": "@simplysf/simply-gitlab",
888
+ "pluginType": "core",
889
+ "strict": true,
890
+ "summary": "Show the changes a commit made.",
891
+ "enableJsonFlag": true,
892
+ "isWrite": false,
893
+ "isESM": true,
894
+ "relativePath": [
895
+ "lib",
896
+ "commands",
897
+ "gitlab",
898
+ "commit",
899
+ "diff.js"
900
+ ],
901
+ "aliasPermutations": [],
902
+ "permutations": [
903
+ "gitlab:commit:diff",
904
+ "commit:gitlab:diff",
905
+ "commit:diff:gitlab",
906
+ "gitlab:diff:commit",
907
+ "diff:gitlab:commit",
908
+ "diff:commit:gitlab"
909
+ ]
910
+ },
911
+ "gitlab:commit:list": {
912
+ "aliases": [],
913
+ "args": {},
914
+ "description": "Walks the history of a ref, newest first. --path narrows to commits that touched one file or directory, which is the fastest way to answer \"when did this change and who changed it\".\n\n--since and --until take ISO 8601 timestamps (2026-01-31T00:00:00Z); a bare date works too.",
915
+ "examples": [
916
+ "<%= config.bin %> <%= command.id %> --project group/project --ref main --limit 10",
917
+ "<%= config.bin %> <%= command.id %> --project group/project --path src/index.ts",
918
+ "<%= config.bin %> <%= command.id %> --project group/project --since 2026-01-01 --until 2026-02-01"
919
+ ],
920
+ "flags": {
921
+ "json": {
922
+ "description": "Format output as json.",
923
+ "helpGroup": "GLOBAL",
924
+ "name": "json",
925
+ "allowNo": false,
926
+ "type": "boolean"
927
+ },
928
+ "env-file": {
929
+ "char": "e",
930
+ "description": "Loaded before anything else. Variables already present in the environment win, so the file never overrides an explicit export, and only GitLab connection variables are read from it. A path that cannot be read is an error.",
931
+ "helpGroup": "CONNECTION",
932
+ "name": "env-file",
933
+ "summary": "Path to a .env file holding connection settings.",
934
+ "hasDynamicHelp": false,
935
+ "multiple": false,
936
+ "type": "option"
937
+ },
938
+ "gitlab-url": {
939
+ "env": "GITLAB_URL",
940
+ "helpGroup": "CONNECTION",
941
+ "name": "gitlab-url",
942
+ "summary": "Base URL of the GitLab instance. Defaults to https://gitlab.com.",
943
+ "hasDynamicHelp": false,
944
+ "multiple": false,
945
+ "type": "option"
946
+ },
947
+ "gitlab-token": {
948
+ "env": "GITLAB_TOKEN",
949
+ "helpGroup": "CONNECTION",
950
+ "name": "gitlab-token",
951
+ "summary": "Personal, project, or group access token.",
952
+ "hasDynamicHelp": false,
953
+ "multiple": false,
954
+ "type": "option"
955
+ },
956
+ "project": {
957
+ "char": "p",
958
+ "env": "GITLAB_PROJECT",
959
+ "name": "project",
960
+ "required": true,
961
+ "summary": "Project id, or its full path such as group/subgroup/project.",
962
+ "hasDynamicHelp": false,
963
+ "multiple": false,
964
+ "type": "option"
965
+ },
966
+ "limit": {
967
+ "name": "limit",
968
+ "summary": "Maximum number of commits to return across all pages.",
969
+ "default": 20,
970
+ "hasDynamicHelp": false,
971
+ "multiple": false,
972
+ "type": "option"
973
+ },
974
+ "ref": {
975
+ "name": "ref",
976
+ "summary": "Branch, tag, or SHA to list from. Defaults to the default branch.",
977
+ "hasDynamicHelp": false,
978
+ "multiple": false,
979
+ "type": "option"
980
+ },
981
+ "path": {
982
+ "name": "path",
983
+ "summary": "Only commits that touched this file or directory.",
984
+ "hasDynamicHelp": false,
985
+ "multiple": false,
986
+ "type": "option"
987
+ },
988
+ "since": {
989
+ "name": "since",
990
+ "summary": "Only commits on or after this ISO 8601 timestamp.",
991
+ "hasDynamicHelp": false,
992
+ "multiple": false,
993
+ "type": "option"
994
+ },
995
+ "until": {
996
+ "name": "until",
997
+ "summary": "Only commits on or before this ISO 8601 timestamp.",
998
+ "hasDynamicHelp": false,
999
+ "multiple": false,
1000
+ "type": "option"
1001
+ },
1002
+ "author": {
1003
+ "name": "author",
1004
+ "summary": "Only commits by this author name or email.",
1005
+ "hasDynamicHelp": false,
1006
+ "multiple": false,
1007
+ "type": "option"
1008
+ },
1009
+ "stats": {
1010
+ "name": "stats",
1011
+ "summary": "Include per-commit line counts in the JSON payload.",
1012
+ "allowNo": false,
1013
+ "type": "boolean"
1014
+ }
1015
+ },
1016
+ "hasDynamicHelp": false,
1017
+ "hiddenAliases": [],
1018
+ "id": "gitlab:commit:list",
1019
+ "pluginAlias": "@simplysf/simply-gitlab",
1020
+ "pluginName": "@simplysf/simply-gitlab",
1021
+ "pluginType": "core",
1022
+ "strict": true,
1023
+ "summary": "List repository commits.",
1024
+ "enableJsonFlag": true,
1025
+ "isWrite": false,
1026
+ "isESM": true,
1027
+ "relativePath": [
1028
+ "lib",
1029
+ "commands",
1030
+ "gitlab",
1031
+ "commit",
1032
+ "list.js"
1033
+ ],
1034
+ "aliasPermutations": [],
1035
+ "permutations": [
1036
+ "gitlab:commit:list",
1037
+ "commit:gitlab:list",
1038
+ "commit:list:gitlab",
1039
+ "gitlab:list:commit",
1040
+ "list:gitlab:commit",
1041
+ "list:commit:gitlab"
1042
+ ]
1043
+ },
1044
+ "gitlab:commit:view": {
1045
+ "aliases": [],
1046
+ "args": {},
1047
+ "description": "Accepts a full or short SHA, or the name of a branch or tag — in which case the commit at its tip is shown, so the answer changes as the branch moves. Use commit diff for the changes themselves.",
1048
+ "examples": [
1049
+ "<%= config.bin %> <%= command.id %> --project group/project --sha 9a1b2c3",
1050
+ "<%= config.bin %> <%= command.id %> --project group/project --sha main --json"
1051
+ ],
1052
+ "flags": {
1053
+ "json": {
1054
+ "description": "Format output as json.",
1055
+ "helpGroup": "GLOBAL",
1056
+ "name": "json",
1057
+ "allowNo": false,
1058
+ "type": "boolean"
1059
+ },
1060
+ "env-file": {
1061
+ "char": "e",
1062
+ "description": "Loaded before anything else. Variables already present in the environment win, so the file never overrides an explicit export, and only GitLab connection variables are read from it. A path that cannot be read is an error.",
1063
+ "helpGroup": "CONNECTION",
1064
+ "name": "env-file",
1065
+ "summary": "Path to a .env file holding connection settings.",
1066
+ "hasDynamicHelp": false,
1067
+ "multiple": false,
1068
+ "type": "option"
1069
+ },
1070
+ "gitlab-url": {
1071
+ "env": "GITLAB_URL",
1072
+ "helpGroup": "CONNECTION",
1073
+ "name": "gitlab-url",
1074
+ "summary": "Base URL of the GitLab instance. Defaults to https://gitlab.com.",
1075
+ "hasDynamicHelp": false,
1076
+ "multiple": false,
1077
+ "type": "option"
1078
+ },
1079
+ "gitlab-token": {
1080
+ "env": "GITLAB_TOKEN",
1081
+ "helpGroup": "CONNECTION",
1082
+ "name": "gitlab-token",
1083
+ "summary": "Personal, project, or group access token.",
1084
+ "hasDynamicHelp": false,
1085
+ "multiple": false,
1086
+ "type": "option"
1087
+ },
1088
+ "project": {
1089
+ "char": "p",
1090
+ "env": "GITLAB_PROJECT",
1091
+ "name": "project",
1092
+ "required": true,
1093
+ "summary": "Project id, or its full path such as group/subgroup/project.",
1094
+ "hasDynamicHelp": false,
1095
+ "multiple": false,
1096
+ "type": "option"
1097
+ },
1098
+ "sha": {
1099
+ "name": "sha",
1100
+ "required": true,
1101
+ "summary": "Commit SHA, or the name of a branch or tag.",
1102
+ "hasDynamicHelp": false,
1103
+ "multiple": false,
1104
+ "type": "option"
1105
+ }
1106
+ },
1107
+ "hasDynamicHelp": false,
1108
+ "hiddenAliases": [],
1109
+ "id": "gitlab:commit:view",
1110
+ "pluginAlias": "@simplysf/simply-gitlab",
1111
+ "pluginName": "@simplysf/simply-gitlab",
1112
+ "pluginType": "core",
1113
+ "strict": true,
1114
+ "summary": "Show one commit.",
1115
+ "enableJsonFlag": true,
1116
+ "isWrite": false,
1117
+ "isESM": true,
1118
+ "relativePath": [
1119
+ "lib",
1120
+ "commands",
1121
+ "gitlab",
1122
+ "commit",
1123
+ "view.js"
1124
+ ],
1125
+ "aliasPermutations": [],
1126
+ "permutations": [
1127
+ "gitlab:commit:view",
1128
+ "commit:gitlab:view",
1129
+ "commit:view:gitlab",
1130
+ "gitlab:view:commit",
1131
+ "view:gitlab:commit",
1132
+ "view:commit:gitlab"
1133
+ ]
1134
+ },
1135
+ "gitlab:file:create": {
1136
+ "aliases": [],
1137
+ "args": {},
1138
+ "description": "Commits one new file to a branch. GitLab refuses the request if the file already exists — use file update for that — and refuses it if the branch is protected and the token lacks the role to push to it. Use --dry-run to see exactly what would be sent.",
1139
+ "examples": [
1140
+ "<%= config.bin %> <%= command.id %> --project group/project --path docs/new.md --branch main --content-file ./new.md --message \"docs: add page\"",
1141
+ "<%= config.bin %> <%= command.id %> --project group/project --path src/config.json --branch feature --content-file ./config.json --message \"feat: add config\" --dry-run"
1142
+ ],
1143
+ "flags": {
1144
+ "json": {
1145
+ "description": "Format output as json.",
1146
+ "helpGroup": "GLOBAL",
1147
+ "name": "json",
1148
+ "allowNo": false,
1149
+ "type": "boolean"
1150
+ },
1151
+ "env-file": {
1152
+ "char": "e",
1153
+ "description": "Loaded before anything else. Variables already present in the environment win, so the file never overrides an explicit export, and only GitLab connection variables are read from it. A path that cannot be read is an error.",
1154
+ "helpGroup": "CONNECTION",
1155
+ "name": "env-file",
1156
+ "summary": "Path to a .env file holding connection settings.",
1157
+ "hasDynamicHelp": false,
1158
+ "multiple": false,
1159
+ "type": "option"
1160
+ },
1161
+ "gitlab-url": {
1162
+ "env": "GITLAB_URL",
1163
+ "helpGroup": "CONNECTION",
1164
+ "name": "gitlab-url",
1165
+ "summary": "Base URL of the GitLab instance. Defaults to https://gitlab.com.",
1166
+ "hasDynamicHelp": false,
1167
+ "multiple": false,
1168
+ "type": "option"
1169
+ },
1170
+ "gitlab-token": {
1171
+ "env": "GITLAB_TOKEN",
1172
+ "helpGroup": "CONNECTION",
1173
+ "name": "gitlab-token",
1174
+ "summary": "Personal, project, or group access token.",
1175
+ "hasDynamicHelp": false,
1176
+ "multiple": false,
1177
+ "type": "option"
1178
+ },
1179
+ "project": {
1180
+ "char": "p",
1181
+ "env": "GITLAB_PROJECT",
1182
+ "name": "project",
1183
+ "required": true,
1184
+ "summary": "Project id, or its full path such as group/subgroup/project.",
1185
+ "hasDynamicHelp": false,
1186
+ "multiple": false,
1187
+ "type": "option"
1188
+ },
1189
+ "dry-run": {
1190
+ "name": "dry-run",
1191
+ "summary": "Print the request that would be sent and exit without sending it.",
1192
+ "allowNo": false,
1193
+ "type": "boolean"
1194
+ },
1195
+ "path": {
1196
+ "name": "path",
1197
+ "required": true,
1198
+ "summary": "Path the file will have in the repository.",
1199
+ "hasDynamicHelp": false,
1200
+ "multiple": false,
1201
+ "type": "option"
1202
+ },
1203
+ "branch": {
1204
+ "name": "branch",
1205
+ "required": true,
1206
+ "summary": "Branch to commit to.",
1207
+ "hasDynamicHelp": false,
1208
+ "multiple": false,
1209
+ "type": "option"
1210
+ },
1211
+ "content": {
1212
+ "exclusive": [
1213
+ "content-file"
1214
+ ],
1215
+ "name": "content",
1216
+ "summary": "File contents.",
1217
+ "hasDynamicHelp": false,
1218
+ "multiple": false,
1219
+ "type": "option"
1220
+ },
1221
+ "content-file": {
1222
+ "name": "content-file",
1223
+ "summary": "Path to a local file holding the contents.",
1224
+ "hasDynamicHelp": false,
1225
+ "multiple": false,
1226
+ "type": "option"
1227
+ },
1228
+ "message": {
1229
+ "name": "message",
1230
+ "required": true,
1231
+ "summary": "Commit message.",
1232
+ "hasDynamicHelp": false,
1233
+ "multiple": false,
1234
+ "type": "option"
1235
+ },
1236
+ "start-branch": {
1237
+ "name": "start-branch",
1238
+ "summary": "Branch to create --branch from, if it does not exist.",
1239
+ "hasDynamicHelp": false,
1240
+ "multiple": false,
1241
+ "type": "option"
1242
+ },
1243
+ "author-email": {
1244
+ "name": "author-email",
1245
+ "summary": "Commit author email.",
1246
+ "hasDynamicHelp": false,
1247
+ "multiple": false,
1248
+ "type": "option"
1249
+ },
1250
+ "author-name": {
1251
+ "name": "author-name",
1252
+ "summary": "Commit author name.",
1253
+ "hasDynamicHelp": false,
1254
+ "multiple": false,
1255
+ "type": "option"
1256
+ }
1257
+ },
1258
+ "hasDynamicHelp": false,
1259
+ "hiddenAliases": [],
1260
+ "id": "gitlab:file:create",
1261
+ "pluginAlias": "@simplysf/simply-gitlab",
1262
+ "pluginName": "@simplysf/simply-gitlab",
1263
+ "pluginType": "core",
1264
+ "strict": true,
1265
+ "summary": "Create a file in a repository.",
1266
+ "enableJsonFlag": true,
1267
+ "isWrite": true,
1268
+ "isESM": true,
1269
+ "relativePath": [
1270
+ "lib",
1271
+ "commands",
1272
+ "gitlab",
1273
+ "file",
1274
+ "create.js"
1275
+ ],
1276
+ "aliasPermutations": [],
1277
+ "permutations": [
1278
+ "gitlab:file:create",
1279
+ "file:gitlab:create",
1280
+ "file:create:gitlab",
1281
+ "gitlab:create:file",
1282
+ "create:gitlab:file",
1283
+ "create:file:gitlab"
1284
+ ]
1285
+ },
1286
+ "gitlab:file:update": {
1287
+ "aliases": [],
1288
+ "args": {},
1289
+ "description": "Commits new contents over an existing file. The whole file is replaced; there is no partial edit. Pass --last-commit-id with the value file view reported to have GitLab reject the write if someone else changed the file meanwhile, instead of silently overwriting them.",
1290
+ "examples": [
1291
+ "<%= config.bin %> <%= command.id %> --project group/project --path README.md --branch main --content-file ./README.md --message \"docs: refresh readme\"",
1292
+ "<%= config.bin %> <%= command.id %> --project group/project --path README.md --branch main --content-file ./README.md --message \"docs: refresh\" --last-commit-id 9a1b2c3"
1293
+ ],
1294
+ "flags": {
1295
+ "json": {
1296
+ "description": "Format output as json.",
1297
+ "helpGroup": "GLOBAL",
1298
+ "name": "json",
1299
+ "allowNo": false,
1300
+ "type": "boolean"
1301
+ },
1302
+ "env-file": {
1303
+ "char": "e",
1304
+ "description": "Loaded before anything else. Variables already present in the environment win, so the file never overrides an explicit export, and only GitLab connection variables are read from it. A path that cannot be read is an error.",
1305
+ "helpGroup": "CONNECTION",
1306
+ "name": "env-file",
1307
+ "summary": "Path to a .env file holding connection settings.",
1308
+ "hasDynamicHelp": false,
1309
+ "multiple": false,
1310
+ "type": "option"
1311
+ },
1312
+ "gitlab-url": {
1313
+ "env": "GITLAB_URL",
1314
+ "helpGroup": "CONNECTION",
1315
+ "name": "gitlab-url",
1316
+ "summary": "Base URL of the GitLab instance. Defaults to https://gitlab.com.",
1317
+ "hasDynamicHelp": false,
1318
+ "multiple": false,
1319
+ "type": "option"
1320
+ },
1321
+ "gitlab-token": {
1322
+ "env": "GITLAB_TOKEN",
1323
+ "helpGroup": "CONNECTION",
1324
+ "name": "gitlab-token",
1325
+ "summary": "Personal, project, or group access token.",
1326
+ "hasDynamicHelp": false,
1327
+ "multiple": false,
1328
+ "type": "option"
1329
+ },
1330
+ "project": {
1331
+ "char": "p",
1332
+ "env": "GITLAB_PROJECT",
1333
+ "name": "project",
1334
+ "required": true,
1335
+ "summary": "Project id, or its full path such as group/subgroup/project.",
1336
+ "hasDynamicHelp": false,
1337
+ "multiple": false,
1338
+ "type": "option"
1339
+ },
1340
+ "dry-run": {
1341
+ "name": "dry-run",
1342
+ "summary": "Print the request that would be sent and exit without sending it.",
1343
+ "allowNo": false,
1344
+ "type": "boolean"
1345
+ },
1346
+ "path": {
1347
+ "name": "path",
1348
+ "required": true,
1349
+ "summary": "Path to the file within the repository.",
1350
+ "hasDynamicHelp": false,
1351
+ "multiple": false,
1352
+ "type": "option"
1353
+ },
1354
+ "branch": {
1355
+ "name": "branch",
1356
+ "required": true,
1357
+ "summary": "Branch to commit to.",
1358
+ "hasDynamicHelp": false,
1359
+ "multiple": false,
1360
+ "type": "option"
1361
+ },
1362
+ "content": {
1363
+ "exclusive": [
1364
+ "content-file"
1365
+ ],
1366
+ "name": "content",
1367
+ "summary": "New file contents.",
1368
+ "hasDynamicHelp": false,
1369
+ "multiple": false,
1370
+ "type": "option"
1371
+ },
1372
+ "content-file": {
1373
+ "name": "content-file",
1374
+ "summary": "Path to a local file holding the new contents.",
1375
+ "hasDynamicHelp": false,
1376
+ "multiple": false,
1377
+ "type": "option"
1378
+ },
1379
+ "message": {
1380
+ "name": "message",
1381
+ "required": true,
1382
+ "summary": "Commit message.",
1383
+ "hasDynamicHelp": false,
1384
+ "multiple": false,
1385
+ "type": "option"
1386
+ },
1387
+ "start-branch": {
1388
+ "name": "start-branch",
1389
+ "summary": "Branch to create --branch from, if it does not exist.",
1390
+ "hasDynamicHelp": false,
1391
+ "multiple": false,
1392
+ "type": "option"
1393
+ },
1394
+ "last-commit-id": {
1395
+ "name": "last-commit-id",
1396
+ "summary": "Reject the write if the file changed since this commit.",
1397
+ "hasDynamicHelp": false,
1398
+ "multiple": false,
1399
+ "type": "option"
1400
+ },
1401
+ "author-email": {
1402
+ "name": "author-email",
1403
+ "summary": "Commit author email.",
1404
+ "hasDynamicHelp": false,
1405
+ "multiple": false,
1406
+ "type": "option"
1407
+ },
1408
+ "author-name": {
1409
+ "name": "author-name",
1410
+ "summary": "Commit author name.",
1411
+ "hasDynamicHelp": false,
1412
+ "multiple": false,
1413
+ "type": "option"
1414
+ }
1415
+ },
1416
+ "hasDynamicHelp": false,
1417
+ "hiddenAliases": [],
1418
+ "id": "gitlab:file:update",
1419
+ "pluginAlias": "@simplysf/simply-gitlab",
1420
+ "pluginName": "@simplysf/simply-gitlab",
1421
+ "pluginType": "core",
1422
+ "strict": true,
1423
+ "summary": "Replace a file in a repository.",
1424
+ "enableJsonFlag": true,
1425
+ "isWrite": true,
1426
+ "isESM": true,
1427
+ "relativePath": [
1428
+ "lib",
1429
+ "commands",
1430
+ "gitlab",
1431
+ "file",
1432
+ "update.js"
1433
+ ],
1434
+ "aliasPermutations": [],
1435
+ "permutations": [
1436
+ "gitlab:file:update",
1437
+ "file:gitlab:update",
1438
+ "file:update:gitlab",
1439
+ "gitlab:update:file",
1440
+ "update:gitlab:file",
1441
+ "update:file:gitlab"
1442
+ ]
1443
+ },
1444
+ "gitlab:file:view": {
1445
+ "aliases": [],
1446
+ "args": {},
1447
+ "description": "Reads one file at a ref and writes its decoded contents to stdout, under a short metadata header. Use --raw for the contents alone, or --json for the API payload, whose \"content\" is base64 exactly as GitLab sends it.\n\nA binary file is not printed: its bytes would emit escape sequences to a terminal and noise to whatever reads this stream. The metadata still is, so you can see what was found.",
1448
+ "examples": [
1449
+ "<%= config.bin %> <%= command.id %> --project group/project --path src/index.ts --ref main",
1450
+ "<%= config.bin %> <%= command.id %> --project group/project --path README.md --ref v1.2.0 --raw"
1451
+ ],
1452
+ "flags": {
1453
+ "json": {
1454
+ "description": "Format output as json.",
1455
+ "helpGroup": "GLOBAL",
1456
+ "name": "json",
1457
+ "allowNo": false,
1458
+ "type": "boolean"
1459
+ },
1460
+ "env-file": {
1461
+ "char": "e",
1462
+ "description": "Loaded before anything else. Variables already present in the environment win, so the file never overrides an explicit export, and only GitLab connection variables are read from it. A path that cannot be read is an error.",
1463
+ "helpGroup": "CONNECTION",
1464
+ "name": "env-file",
1465
+ "summary": "Path to a .env file holding connection settings.",
1466
+ "hasDynamicHelp": false,
1467
+ "multiple": false,
1468
+ "type": "option"
1469
+ },
1470
+ "gitlab-url": {
1471
+ "env": "GITLAB_URL",
1472
+ "helpGroup": "CONNECTION",
1473
+ "name": "gitlab-url",
1474
+ "summary": "Base URL of the GitLab instance. Defaults to https://gitlab.com.",
1475
+ "hasDynamicHelp": false,
1476
+ "multiple": false,
1477
+ "type": "option"
1478
+ },
1479
+ "gitlab-token": {
1480
+ "env": "GITLAB_TOKEN",
1481
+ "helpGroup": "CONNECTION",
1482
+ "name": "gitlab-token",
1483
+ "summary": "Personal, project, or group access token.",
1484
+ "hasDynamicHelp": false,
1485
+ "multiple": false,
1486
+ "type": "option"
1487
+ },
1488
+ "project": {
1489
+ "char": "p",
1490
+ "env": "GITLAB_PROJECT",
1491
+ "name": "project",
1492
+ "required": true,
1493
+ "summary": "Project id, or its full path such as group/subgroup/project.",
1494
+ "hasDynamicHelp": false,
1495
+ "multiple": false,
1496
+ "type": "option"
1497
+ },
1498
+ "path": {
1499
+ "name": "path",
1500
+ "required": true,
1501
+ "summary": "Path to the file within the repository.",
1502
+ "hasDynamicHelp": false,
1503
+ "multiple": false,
1504
+ "type": "option"
1505
+ },
1506
+ "ref": {
1507
+ "name": "ref",
1508
+ "required": true,
1509
+ "summary": "Branch, tag, or commit SHA to read from.",
1510
+ "hasDynamicHelp": false,
1511
+ "multiple": false,
1512
+ "type": "option"
1513
+ },
1514
+ "raw": {
1515
+ "name": "raw",
1516
+ "summary": "Print only the file contents, with no metadata header.",
1517
+ "allowNo": false,
1518
+ "type": "boolean"
1519
+ }
1520
+ },
1521
+ "hasDynamicHelp": false,
1522
+ "hiddenAliases": [],
1523
+ "id": "gitlab:file:view",
1524
+ "pluginAlias": "@simplysf/simply-gitlab",
1525
+ "pluginName": "@simplysf/simply-gitlab",
1526
+ "pluginType": "core",
1527
+ "strict": true,
1528
+ "summary": "Print a file from a repository.",
1529
+ "enableJsonFlag": true,
1530
+ "isWrite": false,
1531
+ "isESM": true,
1532
+ "relativePath": [
1533
+ "lib",
1534
+ "commands",
1535
+ "gitlab",
1536
+ "file",
1537
+ "view.js"
1538
+ ],
1539
+ "aliasPermutations": [],
1540
+ "permutations": [
1541
+ "gitlab:file:view",
1542
+ "file:gitlab:view",
1543
+ "file:view:gitlab",
1544
+ "gitlab:view:file",
1545
+ "view:gitlab:file",
1546
+ "view:file:gitlab"
1547
+ ]
1548
+ },
1549
+ "gitlab:mr:create": {
1550
+ "aliases": [],
1551
+ "args": {},
1552
+ "description": "Both branches must already exist on the project. --draft prefixes the title with \"Draft: \", which is how GitLab itself marks a draft; there is no separate field for it.\n\nAssignees and reviewers are numeric user ids, not usernames — GitLab accepts only ids here. --body or --body-file supplies raw JSON for anything the flags do not cover, such as approval rules. Use --dry-run to see exactly what would be sent.",
1553
+ "examples": [
1554
+ "<%= config.bin %> <%= command.id %> --project group/project --source-branch feature --target-branch main --title \"feat: the thing\"",
1555
+ "<%= config.bin %> <%= command.id %> --project group/project --source-branch feature --target-branch main --title wip --draft --squash"
1556
+ ],
1557
+ "flags": {
1558
+ "json": {
1559
+ "description": "Format output as json.",
1560
+ "helpGroup": "GLOBAL",
1561
+ "name": "json",
1562
+ "allowNo": false,
1563
+ "type": "boolean"
1564
+ },
1565
+ "env-file": {
1566
+ "char": "e",
1567
+ "description": "Loaded before anything else. Variables already present in the environment win, so the file never overrides an explicit export, and only GitLab connection variables are read from it. A path that cannot be read is an error.",
1568
+ "helpGroup": "CONNECTION",
1569
+ "name": "env-file",
1570
+ "summary": "Path to a .env file holding connection settings.",
1571
+ "hasDynamicHelp": false,
1572
+ "multiple": false,
1573
+ "type": "option"
1574
+ },
1575
+ "gitlab-url": {
1576
+ "env": "GITLAB_URL",
1577
+ "helpGroup": "CONNECTION",
1578
+ "name": "gitlab-url",
1579
+ "summary": "Base URL of the GitLab instance. Defaults to https://gitlab.com.",
1580
+ "hasDynamicHelp": false,
1581
+ "multiple": false,
1582
+ "type": "option"
1583
+ },
1584
+ "gitlab-token": {
1585
+ "env": "GITLAB_TOKEN",
1586
+ "helpGroup": "CONNECTION",
1587
+ "name": "gitlab-token",
1588
+ "summary": "Personal, project, or group access token.",
1589
+ "hasDynamicHelp": false,
1590
+ "multiple": false,
1591
+ "type": "option"
1592
+ },
1593
+ "project": {
1594
+ "char": "p",
1595
+ "env": "GITLAB_PROJECT",
1596
+ "name": "project",
1597
+ "required": true,
1598
+ "summary": "Project id, or its full path such as group/subgroup/project.",
1599
+ "hasDynamicHelp": false,
1600
+ "multiple": false,
1601
+ "type": "option"
1602
+ },
1603
+ "dry-run": {
1604
+ "name": "dry-run",
1605
+ "summary": "Print the request that would be sent and exit without sending it.",
1606
+ "allowNo": false,
1607
+ "type": "boolean"
1608
+ },
1609
+ "source-branch": {
1610
+ "name": "source-branch",
1611
+ "summary": "Branch holding the changes.",
1612
+ "hasDynamicHelp": false,
1613
+ "multiple": false,
1614
+ "type": "option"
1615
+ },
1616
+ "target-branch": {
1617
+ "name": "target-branch",
1618
+ "summary": "Branch the changes are proposed for.",
1619
+ "hasDynamicHelp": false,
1620
+ "multiple": false,
1621
+ "type": "option"
1622
+ },
1623
+ "title": {
1624
+ "name": "title",
1625
+ "summary": "Merge request title.",
1626
+ "hasDynamicHelp": false,
1627
+ "multiple": false,
1628
+ "type": "option"
1629
+ },
1630
+ "description": {
1631
+ "name": "description",
1632
+ "summary": "Merge request description, as Markdown.",
1633
+ "hasDynamicHelp": false,
1634
+ "multiple": false,
1635
+ "type": "option"
1636
+ },
1637
+ "draft": {
1638
+ "name": "draft",
1639
+ "summary": "Open it as a draft.",
1640
+ "allowNo": false,
1641
+ "type": "boolean"
1642
+ },
1643
+ "squash": {
1644
+ "name": "squash",
1645
+ "summary": "Squash the commits when it merges.",
1646
+ "allowNo": false,
1647
+ "type": "boolean"
1648
+ },
1649
+ "remove-source-branch": {
1650
+ "name": "remove-source-branch",
1651
+ "summary": "Delete the source branch on merge.",
1652
+ "allowNo": false,
1653
+ "type": "boolean"
1654
+ },
1655
+ "assignee-id": {
1656
+ "name": "assignee-id",
1657
+ "summary": "User id to assign. Repeatable.",
1658
+ "hasDynamicHelp": false,
1659
+ "multiple": true,
1660
+ "type": "option"
1661
+ },
1662
+ "reviewer-id": {
1663
+ "name": "reviewer-id",
1664
+ "summary": "User id to request review from. Repeatable.",
1665
+ "hasDynamicHelp": false,
1666
+ "multiple": true,
1667
+ "type": "option"
1668
+ },
1669
+ "labels": {
1670
+ "name": "labels",
1671
+ "summary": "Comma-separated labels to apply.",
1672
+ "hasDynamicHelp": false,
1673
+ "multiple": false,
1674
+ "type": "option"
1675
+ },
1676
+ "milestone-id": {
1677
+ "name": "milestone-id",
1678
+ "summary": "Milestone id to attach.",
1679
+ "hasDynamicHelp": false,
1680
+ "multiple": false,
1681
+ "type": "option"
1682
+ },
1683
+ "body": {
1684
+ "exclusive": [
1685
+ "body-file"
1686
+ ],
1687
+ "name": "body",
1688
+ "summary": "Raw JSON request body.",
1689
+ "hasDynamicHelp": false,
1690
+ "multiple": false,
1691
+ "type": "option"
1692
+ },
1693
+ "body-file": {
1694
+ "name": "body-file",
1695
+ "summary": "Path to a file holding the raw JSON request body.",
1696
+ "hasDynamicHelp": false,
1697
+ "multiple": false,
1698
+ "type": "option"
1699
+ }
1700
+ },
1701
+ "hasDynamicHelp": false,
1702
+ "hiddenAliases": [],
1703
+ "id": "gitlab:mr:create",
1704
+ "pluginAlias": "@simplysf/simply-gitlab",
1705
+ "pluginName": "@simplysf/simply-gitlab",
1706
+ "pluginType": "core",
1707
+ "strict": true,
1708
+ "summary": "Open a merge request.",
1709
+ "enableJsonFlag": true,
1710
+ "isWrite": true,
1711
+ "isESM": true,
1712
+ "relativePath": [
1713
+ "lib",
1714
+ "commands",
1715
+ "gitlab",
1716
+ "mr",
1717
+ "create.js"
1718
+ ],
1719
+ "aliasPermutations": [],
1720
+ "permutations": [
1721
+ "gitlab:mr:create",
1722
+ "mr:gitlab:create",
1723
+ "mr:create:gitlab",
1724
+ "gitlab:create:mr",
1725
+ "create:gitlab:mr",
1726
+ "create:mr:gitlab"
1727
+ ]
1728
+ },
1729
+ "gitlab:mr:list": {
1730
+ "aliases": [],
1731
+ "args": {},
1732
+ "description": "Defaults to open merge requests, which is what a list is nearly always for; pass --state all to include closed and merged ones. The IID column is the number to pass to the other mr commands — it is per-project, and is not the \"id\" field in the JSON payload.",
1733
+ "examples": [
1734
+ "<%= config.bin %> <%= command.id %> --project group/project",
1735
+ "<%= config.bin %> <%= command.id %> --project group/project --state merged --target-branch main --limit 10",
1736
+ "<%= config.bin %> <%= command.id %> --project group/project --author-username someone --json"
1737
+ ],
1738
+ "flags": {
1739
+ "json": {
1740
+ "description": "Format output as json.",
1741
+ "helpGroup": "GLOBAL",
1742
+ "name": "json",
1743
+ "allowNo": false,
1744
+ "type": "boolean"
1745
+ },
1746
+ "env-file": {
1747
+ "char": "e",
1748
+ "description": "Loaded before anything else. Variables already present in the environment win, so the file never overrides an explicit export, and only GitLab connection variables are read from it. A path that cannot be read is an error.",
1749
+ "helpGroup": "CONNECTION",
1750
+ "name": "env-file",
1751
+ "summary": "Path to a .env file holding connection settings.",
1752
+ "hasDynamicHelp": false,
1753
+ "multiple": false,
1754
+ "type": "option"
1755
+ },
1756
+ "gitlab-url": {
1757
+ "env": "GITLAB_URL",
1758
+ "helpGroup": "CONNECTION",
1759
+ "name": "gitlab-url",
1760
+ "summary": "Base URL of the GitLab instance. Defaults to https://gitlab.com.",
1761
+ "hasDynamicHelp": false,
1762
+ "multiple": false,
1763
+ "type": "option"
1764
+ },
1765
+ "gitlab-token": {
1766
+ "env": "GITLAB_TOKEN",
1767
+ "helpGroup": "CONNECTION",
1768
+ "name": "gitlab-token",
1769
+ "summary": "Personal, project, or group access token.",
1770
+ "hasDynamicHelp": false,
1771
+ "multiple": false,
1772
+ "type": "option"
1773
+ },
1774
+ "project": {
1775
+ "char": "p",
1776
+ "env": "GITLAB_PROJECT",
1777
+ "name": "project",
1778
+ "required": true,
1779
+ "summary": "Project id, or its full path such as group/subgroup/project.",
1780
+ "hasDynamicHelp": false,
1781
+ "multiple": false,
1782
+ "type": "option"
1783
+ },
1784
+ "limit": {
1785
+ "name": "limit",
1786
+ "summary": "Maximum number of merge requests to return across all pages.",
1787
+ "default": 20,
1788
+ "hasDynamicHelp": false,
1789
+ "multiple": false,
1790
+ "type": "option"
1791
+ },
1792
+ "state": {
1793
+ "name": "state",
1794
+ "summary": "Merge request state to return.",
1795
+ "default": "opened",
1796
+ "hasDynamicHelp": false,
1797
+ "multiple": false,
1798
+ "options": [
1799
+ "opened",
1800
+ "closed",
1801
+ "locked",
1802
+ "merged",
1803
+ "all"
1804
+ ],
1805
+ "type": "option"
1806
+ },
1807
+ "source-branch": {
1808
+ "name": "source-branch",
1809
+ "summary": "Only merge requests from this source branch.",
1810
+ "hasDynamicHelp": false,
1811
+ "multiple": false,
1812
+ "type": "option"
1813
+ },
1814
+ "target-branch": {
1815
+ "name": "target-branch",
1816
+ "summary": "Only merge requests into this target branch.",
1817
+ "hasDynamicHelp": false,
1818
+ "multiple": false,
1819
+ "type": "option"
1820
+ },
1821
+ "author-username": {
1822
+ "name": "author-username",
1823
+ "summary": "Only merge requests opened by this username.",
1824
+ "hasDynamicHelp": false,
1825
+ "multiple": false,
1826
+ "type": "option"
1827
+ },
1828
+ "reviewer-username": {
1829
+ "name": "reviewer-username",
1830
+ "summary": "Only merge requests this username is reviewing.",
1831
+ "hasDynamicHelp": false,
1832
+ "multiple": false,
1833
+ "type": "option"
1834
+ },
1835
+ "labels": {
1836
+ "name": "labels",
1837
+ "summary": "Comma-separated labels every result must carry.",
1838
+ "hasDynamicHelp": false,
1839
+ "multiple": false,
1840
+ "type": "option"
1841
+ },
1842
+ "search": {
1843
+ "name": "search",
1844
+ "summary": "Match against the title and description.",
1845
+ "hasDynamicHelp": false,
1846
+ "multiple": false,
1847
+ "type": "option"
1848
+ }
1849
+ },
1850
+ "hasDynamicHelp": false,
1851
+ "hiddenAliases": [],
1852
+ "id": "gitlab:mr:list",
1853
+ "pluginAlias": "@simplysf/simply-gitlab",
1854
+ "pluginName": "@simplysf/simply-gitlab",
1855
+ "pluginType": "core",
1856
+ "strict": true,
1857
+ "summary": "List merge requests for a project.",
1858
+ "enableJsonFlag": true,
1859
+ "isWrite": false,
1860
+ "isESM": true,
1861
+ "relativePath": [
1862
+ "lib",
1863
+ "commands",
1864
+ "gitlab",
1865
+ "mr",
1866
+ "list.js"
1867
+ ],
1868
+ "aliasPermutations": [],
1869
+ "permutations": [
1870
+ "gitlab:mr:list",
1871
+ "mr:gitlab:list",
1872
+ "mr:list:gitlab",
1873
+ "gitlab:list:mr",
1874
+ "list:gitlab:mr",
1875
+ "list:mr:gitlab"
1876
+ ]
1877
+ },
1878
+ "gitlab:mr:update": {
1879
+ "aliases": [],
1880
+ "args": {},
1881
+ "description": "Only the attributes you name are changed, with one exception worth knowing: --labels replaces the whole label set rather than adding to it.\n\nNaming nothing to change is refused rather than sent, because GitLab answers an empty update with a cheerful 200 and an unchanged merge request. --state close and --state reopen do what the buttons of those names do; neither merges anything.",
1882
+ "examples": [
1883
+ "<%= config.bin %> <%= command.id %> --project group/project --mr 42 --title \"feat: renamed\"",
1884
+ "<%= config.bin %> <%= command.id %> --project group/project --mr 42 --state close",
1885
+ "<%= config.bin %> <%= command.id %> --project group/project --mr 42 --labels backend,urgent --dry-run"
1886
+ ],
1887
+ "flags": {
1888
+ "json": {
1889
+ "description": "Format output as json.",
1890
+ "helpGroup": "GLOBAL",
1891
+ "name": "json",
1892
+ "allowNo": false,
1893
+ "type": "boolean"
1894
+ },
1895
+ "env-file": {
1896
+ "char": "e",
1897
+ "description": "Loaded before anything else. Variables already present in the environment win, so the file never overrides an explicit export, and only GitLab connection variables are read from it. A path that cannot be read is an error.",
1898
+ "helpGroup": "CONNECTION",
1899
+ "name": "env-file",
1900
+ "summary": "Path to a .env file holding connection settings.",
1901
+ "hasDynamicHelp": false,
1902
+ "multiple": false,
1903
+ "type": "option"
1904
+ },
1905
+ "gitlab-url": {
1906
+ "env": "GITLAB_URL",
1907
+ "helpGroup": "CONNECTION",
1908
+ "name": "gitlab-url",
1909
+ "summary": "Base URL of the GitLab instance. Defaults to https://gitlab.com.",
1910
+ "hasDynamicHelp": false,
1911
+ "multiple": false,
1912
+ "type": "option"
1913
+ },
1914
+ "gitlab-token": {
1915
+ "env": "GITLAB_TOKEN",
1916
+ "helpGroup": "CONNECTION",
1917
+ "name": "gitlab-token",
1918
+ "summary": "Personal, project, or group access token.",
1919
+ "hasDynamicHelp": false,
1920
+ "multiple": false,
1921
+ "type": "option"
1922
+ },
1923
+ "project": {
1924
+ "char": "p",
1925
+ "env": "GITLAB_PROJECT",
1926
+ "name": "project",
1927
+ "required": true,
1928
+ "summary": "Project id, or its full path such as group/subgroup/project.",
1929
+ "hasDynamicHelp": false,
1930
+ "multiple": false,
1931
+ "type": "option"
1932
+ },
1933
+ "dry-run": {
1934
+ "name": "dry-run",
1935
+ "summary": "Print the request that would be sent and exit without sending it.",
1936
+ "allowNo": false,
1937
+ "type": "boolean"
1938
+ },
1939
+ "mr": {
1940
+ "name": "mr",
1941
+ "required": true,
1942
+ "summary": "Merge request iid.",
1943
+ "hasDynamicHelp": false,
1944
+ "multiple": false,
1945
+ "type": "option"
1946
+ },
1947
+ "title": {
1948
+ "name": "title",
1949
+ "summary": "New title.",
1950
+ "hasDynamicHelp": false,
1951
+ "multiple": false,
1952
+ "type": "option"
1953
+ },
1954
+ "description": {
1955
+ "name": "description",
1956
+ "summary": "New description, as Markdown.",
1957
+ "hasDynamicHelp": false,
1958
+ "multiple": false,
1959
+ "type": "option"
1960
+ },
1961
+ "target-branch": {
1962
+ "name": "target-branch",
1963
+ "summary": "New target branch.",
1964
+ "hasDynamicHelp": false,
1965
+ "multiple": false,
1966
+ "type": "option"
1967
+ },
1968
+ "state": {
1969
+ "name": "state",
1970
+ "summary": "Close or reopen the merge request.",
1971
+ "hasDynamicHelp": false,
1972
+ "multiple": false,
1973
+ "options": [
1974
+ "close",
1975
+ "reopen"
1976
+ ],
1977
+ "type": "option"
1978
+ },
1979
+ "squash": {
1980
+ "name": "squash",
1981
+ "summary": "Squash the commits when it merges.",
1982
+ "allowNo": true,
1983
+ "type": "boolean"
1984
+ },
1985
+ "remove-source-branch": {
1986
+ "name": "remove-source-branch",
1987
+ "summary": "Delete the source branch on merge.",
1988
+ "allowNo": true,
1989
+ "type": "boolean"
1990
+ },
1991
+ "assignee-id": {
1992
+ "name": "assignee-id",
1993
+ "summary": "User id to assign, replacing the set. Repeatable.",
1994
+ "hasDynamicHelp": false,
1995
+ "multiple": true,
1996
+ "type": "option"
1997
+ },
1998
+ "reviewer-id": {
1999
+ "name": "reviewer-id",
2000
+ "summary": "User id to review, replacing the set. Repeatable.",
2001
+ "hasDynamicHelp": false,
2002
+ "multiple": true,
2003
+ "type": "option"
2004
+ },
2005
+ "labels": {
2006
+ "name": "labels",
2007
+ "summary": "Comma-separated labels, replacing the existing set.",
2008
+ "hasDynamicHelp": false,
2009
+ "multiple": false,
2010
+ "type": "option"
2011
+ },
2012
+ "milestone-id": {
2013
+ "name": "milestone-id",
2014
+ "summary": "Milestone id to attach.",
2015
+ "hasDynamicHelp": false,
2016
+ "multiple": false,
2017
+ "type": "option"
2018
+ },
2019
+ "body": {
2020
+ "exclusive": [
2021
+ "body-file"
2022
+ ],
2023
+ "name": "body",
2024
+ "summary": "Raw JSON request body.",
2025
+ "hasDynamicHelp": false,
2026
+ "multiple": false,
2027
+ "type": "option"
2028
+ },
2029
+ "body-file": {
2030
+ "name": "body-file",
2031
+ "summary": "Path to a file holding the raw JSON request body.",
2032
+ "hasDynamicHelp": false,
2033
+ "multiple": false,
2034
+ "type": "option"
2035
+ }
2036
+ },
2037
+ "hasDynamicHelp": false,
2038
+ "hiddenAliases": [],
2039
+ "id": "gitlab:mr:update",
2040
+ "pluginAlias": "@simplysf/simply-gitlab",
2041
+ "pluginName": "@simplysf/simply-gitlab",
2042
+ "pluginType": "core",
2043
+ "strict": true,
2044
+ "summary": "Change an existing merge request.",
2045
+ "enableJsonFlag": true,
2046
+ "isWrite": true,
2047
+ "isESM": true,
2048
+ "relativePath": [
2049
+ "lib",
2050
+ "commands",
2051
+ "gitlab",
2052
+ "mr",
2053
+ "update.js"
2054
+ ],
2055
+ "aliasPermutations": [],
2056
+ "permutations": [
2057
+ "gitlab:mr:update",
2058
+ "mr:gitlab:update",
2059
+ "mr:update:gitlab",
2060
+ "gitlab:update:mr",
2061
+ "update:gitlab:mr",
2062
+ "update:mr:gitlab"
2063
+ ]
2064
+ },
2065
+ "gitlab:mr:view": {
2066
+ "aliases": [],
2067
+ "args": {},
2068
+ "description": "Takes the project-scoped iid — the number in the merge request URL — not the instance-wide id. Use --json for the full payload, which carries the pipeline status, approvals, and diff refs the summary below leaves out.",
2069
+ "examples": [
2070
+ "<%= config.bin %> <%= command.id %> --project group/project --mr 42",
2071
+ "<%= config.bin %> <%= command.id %> --project group/project --mr 42 --json"
2072
+ ],
2073
+ "flags": {
2074
+ "json": {
2075
+ "description": "Format output as json.",
2076
+ "helpGroup": "GLOBAL",
2077
+ "name": "json",
2078
+ "allowNo": false,
2079
+ "type": "boolean"
2080
+ },
2081
+ "env-file": {
2082
+ "char": "e",
2083
+ "description": "Loaded before anything else. Variables already present in the environment win, so the file never overrides an explicit export, and only GitLab connection variables are read from it. A path that cannot be read is an error.",
2084
+ "helpGroup": "CONNECTION",
2085
+ "name": "env-file",
2086
+ "summary": "Path to a .env file holding connection settings.",
2087
+ "hasDynamicHelp": false,
2088
+ "multiple": false,
2089
+ "type": "option"
2090
+ },
2091
+ "gitlab-url": {
2092
+ "env": "GITLAB_URL",
2093
+ "helpGroup": "CONNECTION",
2094
+ "name": "gitlab-url",
2095
+ "summary": "Base URL of the GitLab instance. Defaults to https://gitlab.com.",
2096
+ "hasDynamicHelp": false,
2097
+ "multiple": false,
2098
+ "type": "option"
2099
+ },
2100
+ "gitlab-token": {
2101
+ "env": "GITLAB_TOKEN",
2102
+ "helpGroup": "CONNECTION",
2103
+ "name": "gitlab-token",
2104
+ "summary": "Personal, project, or group access token.",
2105
+ "hasDynamicHelp": false,
2106
+ "multiple": false,
2107
+ "type": "option"
2108
+ },
2109
+ "project": {
2110
+ "char": "p",
2111
+ "env": "GITLAB_PROJECT",
2112
+ "name": "project",
2113
+ "required": true,
2114
+ "summary": "Project id, or its full path such as group/subgroup/project.",
2115
+ "hasDynamicHelp": false,
2116
+ "multiple": false,
2117
+ "type": "option"
2118
+ },
2119
+ "mr": {
2120
+ "name": "mr",
2121
+ "required": true,
2122
+ "summary": "Merge request iid.",
2123
+ "hasDynamicHelp": false,
2124
+ "multiple": false,
2125
+ "type": "option"
2126
+ }
2127
+ },
2128
+ "hasDynamicHelp": false,
2129
+ "hiddenAliases": [],
2130
+ "id": "gitlab:mr:view",
2131
+ "pluginAlias": "@simplysf/simply-gitlab",
2132
+ "pluginName": "@simplysf/simply-gitlab",
2133
+ "pluginType": "core",
2134
+ "strict": true,
2135
+ "summary": "Show one merge request.",
2136
+ "enableJsonFlag": true,
2137
+ "isWrite": false,
2138
+ "isESM": true,
2139
+ "relativePath": [
2140
+ "lib",
2141
+ "commands",
2142
+ "gitlab",
2143
+ "mr",
2144
+ "view.js"
2145
+ ],
2146
+ "aliasPermutations": [],
2147
+ "permutations": [
2148
+ "gitlab:mr:view",
2149
+ "mr:gitlab:view",
2150
+ "mr:view:gitlab",
2151
+ "gitlab:view:mr",
2152
+ "view:gitlab:mr",
2153
+ "view:mr:gitlab"
2154
+ ]
2155
+ },
2156
+ "gitlab:project:list": {
2157
+ "aliases": [],
2158
+ "args": {},
2159
+ "description": "Without --search this lists every project the token can reach, newest activity first, which on a large instance is not a useful answer — narrow it with --search or --membership. Use --simple for a much smaller payload when you only need ids and paths.",
2160
+ "examples": [
2161
+ "<%= config.bin %> <%= command.id %> --membership",
2162
+ "<%= config.bin %> <%= command.id %> --search platform --limit 10",
2163
+ "<%= config.bin %> <%= command.id %> --search platform --simple --json"
2164
+ ],
2165
+ "flags": {
2166
+ "json": {
2167
+ "description": "Format output as json.",
2168
+ "helpGroup": "GLOBAL",
2169
+ "name": "json",
2170
+ "allowNo": false,
2171
+ "type": "boolean"
2172
+ },
2173
+ "env-file": {
2174
+ "char": "e",
2175
+ "description": "Loaded before anything else. Variables already present in the environment win, so the file never overrides an explicit export, and only GitLab connection variables are read from it. A path that cannot be read is an error.",
2176
+ "helpGroup": "CONNECTION",
2177
+ "name": "env-file",
2178
+ "summary": "Path to a .env file holding connection settings.",
2179
+ "hasDynamicHelp": false,
2180
+ "multiple": false,
2181
+ "type": "option"
2182
+ },
2183
+ "gitlab-url": {
2184
+ "env": "GITLAB_URL",
2185
+ "helpGroup": "CONNECTION",
2186
+ "name": "gitlab-url",
2187
+ "summary": "Base URL of the GitLab instance. Defaults to https://gitlab.com.",
2188
+ "hasDynamicHelp": false,
2189
+ "multiple": false,
2190
+ "type": "option"
2191
+ },
2192
+ "gitlab-token": {
2193
+ "env": "GITLAB_TOKEN",
2194
+ "helpGroup": "CONNECTION",
2195
+ "name": "gitlab-token",
2196
+ "summary": "Personal, project, or group access token.",
2197
+ "hasDynamicHelp": false,
2198
+ "multiple": false,
2199
+ "type": "option"
2200
+ },
2201
+ "limit": {
2202
+ "name": "limit",
2203
+ "summary": "Maximum number of projects to return across all pages.",
2204
+ "default": 20,
2205
+ "hasDynamicHelp": false,
2206
+ "multiple": false,
2207
+ "type": "option"
2208
+ },
2209
+ "search": {
2210
+ "name": "search",
2211
+ "summary": "Match against the project name and path.",
2212
+ "hasDynamicHelp": false,
2213
+ "multiple": false,
2214
+ "type": "option"
2215
+ },
2216
+ "membership": {
2217
+ "name": "membership",
2218
+ "summary": "Only projects you are a member of.",
2219
+ "allowNo": false,
2220
+ "type": "boolean"
2221
+ },
2222
+ "owned": {
2223
+ "name": "owned",
2224
+ "summary": "Only projects you own.",
2225
+ "allowNo": false,
2226
+ "type": "boolean"
2227
+ },
2228
+ "simple": {
2229
+ "name": "simple",
2230
+ "summary": "Return only the core fields, for a much smaller payload.",
2231
+ "allowNo": false,
2232
+ "type": "boolean"
2233
+ }
2234
+ },
2235
+ "hasDynamicHelp": false,
2236
+ "hiddenAliases": [],
2237
+ "id": "gitlab:project:list",
2238
+ "pluginAlias": "@simplysf/simply-gitlab",
2239
+ "pluginName": "@simplysf/simply-gitlab",
2240
+ "pluginType": "core",
2241
+ "strict": true,
2242
+ "summary": "List projects you can see.",
2243
+ "enableJsonFlag": true,
2244
+ "isWrite": false,
2245
+ "isESM": true,
2246
+ "relativePath": [
2247
+ "lib",
2248
+ "commands",
2249
+ "gitlab",
2250
+ "project",
2251
+ "list.js"
2252
+ ],
2253
+ "aliasPermutations": [],
2254
+ "permutations": [
2255
+ "gitlab:project:list",
2256
+ "project:gitlab:list",
2257
+ "project:list:gitlab",
2258
+ "gitlab:list:project",
2259
+ "list:gitlab:project",
2260
+ "list:project:gitlab"
2261
+ ]
2262
+ },
2263
+ "gitlab:project:view": {
2264
+ "aliases": [],
2265
+ "args": {},
2266
+ "description": "Accepts either the numeric id or the full path. Use --json for the complete, unmodified API payload, which carries far more than the summary below — permissions, statistics, and every feature toggle on the project.",
2267
+ "examples": [
2268
+ "<%= config.bin %> <%= command.id %> --project group/project",
2269
+ "<%= config.bin %> <%= command.id %> --project 1234 --json"
2270
+ ],
2271
+ "flags": {
2272
+ "json": {
2273
+ "description": "Format output as json.",
2274
+ "helpGroup": "GLOBAL",
2275
+ "name": "json",
2276
+ "allowNo": false,
2277
+ "type": "boolean"
2278
+ },
2279
+ "env-file": {
2280
+ "char": "e",
2281
+ "description": "Loaded before anything else. Variables already present in the environment win, so the file never overrides an explicit export, and only GitLab connection variables are read from it. A path that cannot be read is an error.",
2282
+ "helpGroup": "CONNECTION",
2283
+ "name": "env-file",
2284
+ "summary": "Path to a .env file holding connection settings.",
2285
+ "hasDynamicHelp": false,
2286
+ "multiple": false,
2287
+ "type": "option"
2288
+ },
2289
+ "gitlab-url": {
2290
+ "env": "GITLAB_URL",
2291
+ "helpGroup": "CONNECTION",
2292
+ "name": "gitlab-url",
2293
+ "summary": "Base URL of the GitLab instance. Defaults to https://gitlab.com.",
2294
+ "hasDynamicHelp": false,
2295
+ "multiple": false,
2296
+ "type": "option"
2297
+ },
2298
+ "gitlab-token": {
2299
+ "env": "GITLAB_TOKEN",
2300
+ "helpGroup": "CONNECTION",
2301
+ "name": "gitlab-token",
2302
+ "summary": "Personal, project, or group access token.",
2303
+ "hasDynamicHelp": false,
2304
+ "multiple": false,
2305
+ "type": "option"
2306
+ },
2307
+ "project": {
2308
+ "char": "p",
2309
+ "env": "GITLAB_PROJECT",
2310
+ "name": "project",
2311
+ "required": true,
2312
+ "summary": "Project id, or its full path such as group/subgroup/project.",
2313
+ "hasDynamicHelp": false,
2314
+ "multiple": false,
2315
+ "type": "option"
2316
+ }
2317
+ },
2318
+ "hasDynamicHelp": false,
2319
+ "hiddenAliases": [],
2320
+ "id": "gitlab:project:view",
2321
+ "pluginAlias": "@simplysf/simply-gitlab",
2322
+ "pluginName": "@simplysf/simply-gitlab",
2323
+ "pluginType": "core",
2324
+ "strict": true,
2325
+ "summary": "Show one project.",
2326
+ "enableJsonFlag": true,
2327
+ "isWrite": false,
2328
+ "isESM": true,
2329
+ "relativePath": [
2330
+ "lib",
2331
+ "commands",
2332
+ "gitlab",
2333
+ "project",
2334
+ "view.js"
2335
+ ],
2336
+ "aliasPermutations": [],
2337
+ "permutations": [
2338
+ "gitlab:project:view",
2339
+ "project:gitlab:view",
2340
+ "project:view:gitlab",
2341
+ "gitlab:view:project",
2342
+ "view:gitlab:project",
2343
+ "view:project:gitlab"
2344
+ ]
2345
+ },
2346
+ "gitlab:release:list": {
2347
+ "aliases": [],
2348
+ "args": {},
2349
+ "description": "Releases are tags with notes and assets attached, so a project can have many tags and no releases at all. Use --json for the release notes, asset links, and the commit each release points at.",
2350
+ "examples": [
2351
+ "<%= config.bin %> <%= command.id %> --project group/project",
2352
+ "<%= config.bin %> <%= command.id %> --project group/project --limit 5 --json"
2353
+ ],
2354
+ "flags": {
2355
+ "json": {
2356
+ "description": "Format output as json.",
2357
+ "helpGroup": "GLOBAL",
2358
+ "name": "json",
2359
+ "allowNo": false,
2360
+ "type": "boolean"
2361
+ },
2362
+ "env-file": {
2363
+ "char": "e",
2364
+ "description": "Loaded before anything else. Variables already present in the environment win, so the file never overrides an explicit export, and only GitLab connection variables are read from it. A path that cannot be read is an error.",
2365
+ "helpGroup": "CONNECTION",
2366
+ "name": "env-file",
2367
+ "summary": "Path to a .env file holding connection settings.",
2368
+ "hasDynamicHelp": false,
2369
+ "multiple": false,
2370
+ "type": "option"
2371
+ },
2372
+ "gitlab-url": {
2373
+ "env": "GITLAB_URL",
2374
+ "helpGroup": "CONNECTION",
2375
+ "name": "gitlab-url",
2376
+ "summary": "Base URL of the GitLab instance. Defaults to https://gitlab.com.",
2377
+ "hasDynamicHelp": false,
2378
+ "multiple": false,
2379
+ "type": "option"
2380
+ },
2381
+ "gitlab-token": {
2382
+ "env": "GITLAB_TOKEN",
2383
+ "helpGroup": "CONNECTION",
2384
+ "name": "gitlab-token",
2385
+ "summary": "Personal, project, or group access token.",
2386
+ "hasDynamicHelp": false,
2387
+ "multiple": false,
2388
+ "type": "option"
2389
+ },
2390
+ "project": {
2391
+ "char": "p",
2392
+ "env": "GITLAB_PROJECT",
2393
+ "name": "project",
2394
+ "required": true,
2395
+ "summary": "Project id, or its full path such as group/subgroup/project.",
2396
+ "hasDynamicHelp": false,
2397
+ "multiple": false,
2398
+ "type": "option"
2399
+ },
2400
+ "limit": {
2401
+ "name": "limit",
2402
+ "summary": "Maximum number of releases to return across all pages.",
2403
+ "default": 20,
2404
+ "hasDynamicHelp": false,
2405
+ "multiple": false,
2406
+ "type": "option"
2407
+ }
2408
+ },
2409
+ "hasDynamicHelp": false,
2410
+ "hiddenAliases": [],
2411
+ "id": "gitlab:release:list",
2412
+ "pluginAlias": "@simplysf/simply-gitlab",
2413
+ "pluginName": "@simplysf/simply-gitlab",
2414
+ "pluginType": "core",
2415
+ "strict": true,
2416
+ "summary": "List releases for a project.",
2417
+ "enableJsonFlag": true,
2418
+ "isWrite": false,
2419
+ "isESM": true,
2420
+ "relativePath": [
2421
+ "lib",
2422
+ "commands",
2423
+ "gitlab",
2424
+ "release",
2425
+ "list.js"
2426
+ ],
2427
+ "aliasPermutations": [],
2428
+ "permutations": [
2429
+ "gitlab:release:list",
2430
+ "release:gitlab:list",
2431
+ "release:list:gitlab",
2432
+ "gitlab:list:release",
2433
+ "list:gitlab:release",
2434
+ "list:release:gitlab"
2435
+ ]
2436
+ },
2437
+ "gitlab:tag:list": {
2438
+ "aliases": [],
2439
+ "args": {},
2440
+ "description": "Tags come back newest first by the commit date they point at. That is the commit date, not the tag creation date, so a tag cut today on an old commit sorts by the old commit — use --order-by name if you need a deterministic order instead.",
2441
+ "examples": [
2442
+ "<%= config.bin %> <%= command.id %> --project group/project",
2443
+ "<%= config.bin %> <%= command.id %> --project group/project --search v1. --limit 50"
2444
+ ],
2445
+ "flags": {
2446
+ "json": {
2447
+ "description": "Format output as json.",
2448
+ "helpGroup": "GLOBAL",
2449
+ "name": "json",
2450
+ "allowNo": false,
2451
+ "type": "boolean"
2452
+ },
2453
+ "env-file": {
2454
+ "char": "e",
2455
+ "description": "Loaded before anything else. Variables already present in the environment win, so the file never overrides an explicit export, and only GitLab connection variables are read from it. A path that cannot be read is an error.",
2456
+ "helpGroup": "CONNECTION",
2457
+ "name": "env-file",
2458
+ "summary": "Path to a .env file holding connection settings.",
2459
+ "hasDynamicHelp": false,
2460
+ "multiple": false,
2461
+ "type": "option"
2462
+ },
2463
+ "gitlab-url": {
2464
+ "env": "GITLAB_URL",
2465
+ "helpGroup": "CONNECTION",
2466
+ "name": "gitlab-url",
2467
+ "summary": "Base URL of the GitLab instance. Defaults to https://gitlab.com.",
2468
+ "hasDynamicHelp": false,
2469
+ "multiple": false,
2470
+ "type": "option"
2471
+ },
2472
+ "gitlab-token": {
2473
+ "env": "GITLAB_TOKEN",
2474
+ "helpGroup": "CONNECTION",
2475
+ "name": "gitlab-token",
2476
+ "summary": "Personal, project, or group access token.",
2477
+ "hasDynamicHelp": false,
2478
+ "multiple": false,
2479
+ "type": "option"
2480
+ },
2481
+ "project": {
2482
+ "char": "p",
2483
+ "env": "GITLAB_PROJECT",
2484
+ "name": "project",
2485
+ "required": true,
2486
+ "summary": "Project id, or its full path such as group/subgroup/project.",
2487
+ "hasDynamicHelp": false,
2488
+ "multiple": false,
2489
+ "type": "option"
2490
+ },
2491
+ "limit": {
2492
+ "name": "limit",
2493
+ "summary": "Maximum number of tags to return across all pages.",
2494
+ "default": 20,
2495
+ "hasDynamicHelp": false,
2496
+ "multiple": false,
2497
+ "type": "option"
2498
+ },
2499
+ "search": {
2500
+ "name": "search",
2501
+ "summary": "Return only tags whose name contains this term.",
2502
+ "hasDynamicHelp": false,
2503
+ "multiple": false,
2504
+ "type": "option"
2505
+ },
2506
+ "order-by": {
2507
+ "name": "order-by",
2508
+ "summary": "Field to sort by.",
2509
+ "hasDynamicHelp": false,
2510
+ "multiple": false,
2511
+ "options": [
2512
+ "name",
2513
+ "updated",
2514
+ "version"
2515
+ ],
2516
+ "type": "option"
2517
+ },
2518
+ "sort": {
2519
+ "name": "sort",
2520
+ "summary": "Sort direction.",
2521
+ "hasDynamicHelp": false,
2522
+ "multiple": false,
2523
+ "options": [
2524
+ "asc",
2525
+ "desc"
2526
+ ],
2527
+ "type": "option"
2528
+ }
2529
+ },
2530
+ "hasDynamicHelp": false,
2531
+ "hiddenAliases": [],
2532
+ "id": "gitlab:tag:list",
2533
+ "pluginAlias": "@simplysf/simply-gitlab",
2534
+ "pluginName": "@simplysf/simply-gitlab",
2535
+ "pluginType": "core",
2536
+ "strict": true,
2537
+ "summary": "List repository tags.",
2538
+ "enableJsonFlag": true,
2539
+ "isWrite": false,
2540
+ "isESM": true,
2541
+ "relativePath": [
2542
+ "lib",
2543
+ "commands",
2544
+ "gitlab",
2545
+ "tag",
2546
+ "list.js"
2547
+ ],
2548
+ "aliasPermutations": [],
2549
+ "permutations": [
2550
+ "gitlab:tag:list",
2551
+ "tag:gitlab:list",
2552
+ "tag:list:gitlab",
2553
+ "gitlab:list:tag",
2554
+ "list:gitlab:tag",
2555
+ "list:tag:gitlab"
2556
+ ]
2557
+ },
2558
+ "gitlab:ci:environment:list": {
2559
+ "aliases": [],
2560
+ "args": {},
2561
+ "description": "Environments are what CI deploys to and what review apps create. Both available and stopped ones are listed; --state narrows to one. Use --json for the last deployment on each, which is the field worth having when you are answering \"what is running where\".",
2562
+ "examples": [
2563
+ "<%= config.bin %> <%= command.id %> --project group/project",
2564
+ "<%= config.bin %> <%= command.id %> --project group/project --state available --search prod"
2565
+ ],
2566
+ "flags": {
2567
+ "json": {
2568
+ "description": "Format output as json.",
2569
+ "helpGroup": "GLOBAL",
2570
+ "name": "json",
2571
+ "allowNo": false,
2572
+ "type": "boolean"
2573
+ },
2574
+ "env-file": {
2575
+ "char": "e",
2576
+ "description": "Loaded before anything else. Variables already present in the environment win, so the file never overrides an explicit export, and only GitLab connection variables are read from it. A path that cannot be read is an error.",
2577
+ "helpGroup": "CONNECTION",
2578
+ "name": "env-file",
2579
+ "summary": "Path to a .env file holding connection settings.",
2580
+ "hasDynamicHelp": false,
2581
+ "multiple": false,
2582
+ "type": "option"
2583
+ },
2584
+ "gitlab-url": {
2585
+ "env": "GITLAB_URL",
2586
+ "helpGroup": "CONNECTION",
2587
+ "name": "gitlab-url",
2588
+ "summary": "Base URL of the GitLab instance. Defaults to https://gitlab.com.",
2589
+ "hasDynamicHelp": false,
2590
+ "multiple": false,
2591
+ "type": "option"
2592
+ },
2593
+ "gitlab-token": {
2594
+ "env": "GITLAB_TOKEN",
2595
+ "helpGroup": "CONNECTION",
2596
+ "name": "gitlab-token",
2597
+ "summary": "Personal, project, or group access token.",
2598
+ "hasDynamicHelp": false,
2599
+ "multiple": false,
2600
+ "type": "option"
2601
+ },
2602
+ "project": {
2603
+ "char": "p",
2604
+ "env": "GITLAB_PROJECT",
2605
+ "name": "project",
2606
+ "required": true,
2607
+ "summary": "Project id, or its full path such as group/subgroup/project.",
2608
+ "hasDynamicHelp": false,
2609
+ "multiple": false,
2610
+ "type": "option"
2611
+ },
2612
+ "limit": {
2613
+ "name": "limit",
2614
+ "summary": "Maximum number of environments to return across all pages.",
2615
+ "default": 20,
2616
+ "hasDynamicHelp": false,
2617
+ "multiple": false,
2618
+ "type": "option"
2619
+ },
2620
+ "name": {
2621
+ "name": "name",
2622
+ "summary": "Return the environment with exactly this name.",
2623
+ "hasDynamicHelp": false,
2624
+ "multiple": false,
2625
+ "type": "option"
2626
+ },
2627
+ "search": {
2628
+ "name": "search",
2629
+ "summary": "Return environments whose name contains this term.",
2630
+ "hasDynamicHelp": false,
2631
+ "multiple": false,
2632
+ "type": "option"
2633
+ },
2634
+ "state": {
2635
+ "name": "state",
2636
+ "summary": "Environment state.",
2637
+ "hasDynamicHelp": false,
2638
+ "multiple": false,
2639
+ "options": [
2640
+ "available",
2641
+ "stopped"
2642
+ ],
2643
+ "type": "option"
2644
+ }
2645
+ },
2646
+ "hasDynamicHelp": false,
2647
+ "hiddenAliases": [],
2648
+ "id": "gitlab:ci:environment:list",
2649
+ "pluginAlias": "@simplysf/simply-gitlab",
2650
+ "pluginName": "@simplysf/simply-gitlab",
2651
+ "pluginType": "core",
2652
+ "strict": true,
2653
+ "summary": "List a project deployment environments.",
2654
+ "enableJsonFlag": true,
2655
+ "isWrite": false,
2656
+ "isESM": true,
2657
+ "relativePath": [
2658
+ "lib",
2659
+ "commands",
2660
+ "gitlab",
2661
+ "ci",
2662
+ "environment",
2663
+ "list.js"
2664
+ ],
2665
+ "aliasPermutations": [],
2666
+ "permutations": [
2667
+ "gitlab:ci:environment:list",
2668
+ "ci:gitlab:environment:list",
2669
+ "ci:environment:gitlab:list",
2670
+ "ci:environment:list:gitlab",
2671
+ "gitlab:environment:ci:list",
2672
+ "environment:gitlab:ci:list",
2673
+ "environment:ci:gitlab:list",
2674
+ "environment:ci:list:gitlab",
2675
+ "gitlab:environment:list:ci",
2676
+ "environment:gitlab:list:ci",
2677
+ "environment:list:gitlab:ci",
2678
+ "environment:list:ci:gitlab",
2679
+ "gitlab:ci:list:environment",
2680
+ "ci:gitlab:list:environment",
2681
+ "ci:list:gitlab:environment",
2682
+ "ci:list:environment:gitlab",
2683
+ "gitlab:list:ci:environment",
2684
+ "list:gitlab:ci:environment",
2685
+ "list:ci:gitlab:environment",
2686
+ "list:ci:environment:gitlab",
2687
+ "gitlab:list:environment:ci",
2688
+ "list:gitlab:environment:ci",
2689
+ "list:environment:gitlab:ci",
2690
+ "list:environment:ci:gitlab"
2691
+ ]
2692
+ },
2693
+ "gitlab:ci:job:list": {
2694
+ "aliases": [],
2695
+ "args": {},
2696
+ "description": "Jobs across every pipeline, newest first. --scope is repeatable and the scopes are ORed, so --scope failed --scope running is \"either\". The ID column is what ci job log takes.",
2697
+ "examples": [
2698
+ "<%= config.bin %> <%= command.id %> --project group/project --scope failed --limit 10",
2699
+ "<%= config.bin %> <%= command.id %> --project group/project --scope running --scope pending"
2700
+ ],
2701
+ "flags": {
2702
+ "json": {
2703
+ "description": "Format output as json.",
2704
+ "helpGroup": "GLOBAL",
2705
+ "name": "json",
2706
+ "allowNo": false,
2707
+ "type": "boolean"
2708
+ },
2709
+ "env-file": {
2710
+ "char": "e",
2711
+ "description": "Loaded before anything else. Variables already present in the environment win, so the file never overrides an explicit export, and only GitLab connection variables are read from it. A path that cannot be read is an error.",
2712
+ "helpGroup": "CONNECTION",
2713
+ "name": "env-file",
2714
+ "summary": "Path to a .env file holding connection settings.",
2715
+ "hasDynamicHelp": false,
2716
+ "multiple": false,
2717
+ "type": "option"
2718
+ },
2719
+ "gitlab-url": {
2720
+ "env": "GITLAB_URL",
2721
+ "helpGroup": "CONNECTION",
2722
+ "name": "gitlab-url",
2723
+ "summary": "Base URL of the GitLab instance. Defaults to https://gitlab.com.",
2724
+ "hasDynamicHelp": false,
2725
+ "multiple": false,
2726
+ "type": "option"
2727
+ },
2728
+ "gitlab-token": {
2729
+ "env": "GITLAB_TOKEN",
2730
+ "helpGroup": "CONNECTION",
2731
+ "name": "gitlab-token",
2732
+ "summary": "Personal, project, or group access token.",
2733
+ "hasDynamicHelp": false,
2734
+ "multiple": false,
2735
+ "type": "option"
2736
+ },
2737
+ "project": {
2738
+ "char": "p",
2739
+ "env": "GITLAB_PROJECT",
2740
+ "name": "project",
2741
+ "required": true,
2742
+ "summary": "Project id, or its full path such as group/subgroup/project.",
2743
+ "hasDynamicHelp": false,
2744
+ "multiple": false,
2745
+ "type": "option"
2746
+ },
2747
+ "limit": {
2748
+ "name": "limit",
2749
+ "summary": "Maximum number of jobs to return across all pages.",
2750
+ "default": 20,
2751
+ "hasDynamicHelp": false,
2752
+ "multiple": false,
2753
+ "type": "option"
2754
+ },
2755
+ "scope": {
2756
+ "name": "scope",
2757
+ "summary": "Job states to include. Repeatable.",
2758
+ "hasDynamicHelp": false,
2759
+ "multiple": true,
2760
+ "options": [
2761
+ "created",
2762
+ "pending",
2763
+ "running",
2764
+ "failed",
2765
+ "success",
2766
+ "canceled",
2767
+ "skipped",
2768
+ "waiting_for_resource",
2769
+ "manual"
2770
+ ],
2771
+ "type": "option"
2772
+ }
2773
+ },
2774
+ "hasDynamicHelp": false,
2775
+ "hiddenAliases": [],
2776
+ "id": "gitlab:ci:job:list",
2777
+ "pluginAlias": "@simplysf/simply-gitlab",
2778
+ "pluginName": "@simplysf/simply-gitlab",
2779
+ "pluginType": "core",
2780
+ "strict": true,
2781
+ "summary": "List CI jobs for a project.",
2782
+ "enableJsonFlag": true,
2783
+ "isWrite": false,
2784
+ "isESM": true,
2785
+ "relativePath": [
2786
+ "lib",
2787
+ "commands",
2788
+ "gitlab",
2789
+ "ci",
2790
+ "job",
2791
+ "list.js"
2792
+ ],
2793
+ "aliasPermutations": [],
2794
+ "permutations": [
2795
+ "gitlab:ci:job:list",
2796
+ "ci:gitlab:job:list",
2797
+ "ci:job:gitlab:list",
2798
+ "ci:job:list:gitlab",
2799
+ "gitlab:job:ci:list",
2800
+ "job:gitlab:ci:list",
2801
+ "job:ci:gitlab:list",
2802
+ "job:ci:list:gitlab",
2803
+ "gitlab:job:list:ci",
2804
+ "job:gitlab:list:ci",
2805
+ "job:list:gitlab:ci",
2806
+ "job:list:ci:gitlab",
2807
+ "gitlab:ci:list:job",
2808
+ "ci:gitlab:list:job",
2809
+ "ci:list:gitlab:job",
2810
+ "ci:list:job:gitlab",
2811
+ "gitlab:list:ci:job",
2812
+ "list:gitlab:ci:job",
2813
+ "list:ci:gitlab:job",
2814
+ "list:ci:job:gitlab",
2815
+ "gitlab:list:job:ci",
2816
+ "list:gitlab:job:ci",
2817
+ "list:job:gitlab:ci",
2818
+ "list:job:ci:gitlab"
2819
+ ]
2820
+ },
2821
+ "gitlab:ci:job:log": {
2822
+ "aliases": [],
2823
+ "args": {},
2824
+ "description": "A job trace regularly runs to tens of megabytes, and what matters about a failed job is at the end, so only the last 200 lines are printed. --tail changes that number and --tail 0 prints the whole thing.\n\nThe trace is written by whatever the job ran, which means it is arbitrary text from an untrusted source. Control characters are stripped before it is printed, so the coloured output a runner emits arrives here plain.",
2825
+ "examples": [
2826
+ "<%= config.bin %> <%= command.id %> --project group/project --job 12345",
2827
+ "<%= config.bin %> <%= command.id %> --project group/project --job 12345 --tail 0"
2828
+ ],
2829
+ "flags": {
2830
+ "json": {
2831
+ "description": "Format output as json.",
2832
+ "helpGroup": "GLOBAL",
2833
+ "name": "json",
2834
+ "allowNo": false,
2835
+ "type": "boolean"
2836
+ },
2837
+ "env-file": {
2838
+ "char": "e",
2839
+ "description": "Loaded before anything else. Variables already present in the environment win, so the file never overrides an explicit export, and only GitLab connection variables are read from it. A path that cannot be read is an error.",
2840
+ "helpGroup": "CONNECTION",
2841
+ "name": "env-file",
2842
+ "summary": "Path to a .env file holding connection settings.",
2843
+ "hasDynamicHelp": false,
2844
+ "multiple": false,
2845
+ "type": "option"
2846
+ },
2847
+ "gitlab-url": {
2848
+ "env": "GITLAB_URL",
2849
+ "helpGroup": "CONNECTION",
2850
+ "name": "gitlab-url",
2851
+ "summary": "Base URL of the GitLab instance. Defaults to https://gitlab.com.",
2852
+ "hasDynamicHelp": false,
2853
+ "multiple": false,
2854
+ "type": "option"
2855
+ },
2856
+ "gitlab-token": {
2857
+ "env": "GITLAB_TOKEN",
2858
+ "helpGroup": "CONNECTION",
2859
+ "name": "gitlab-token",
2860
+ "summary": "Personal, project, or group access token.",
2861
+ "hasDynamicHelp": false,
2862
+ "multiple": false,
2863
+ "type": "option"
2864
+ },
2865
+ "project": {
2866
+ "char": "p",
2867
+ "env": "GITLAB_PROJECT",
2868
+ "name": "project",
2869
+ "required": true,
2870
+ "summary": "Project id, or its full path such as group/subgroup/project.",
2871
+ "hasDynamicHelp": false,
2872
+ "multiple": false,
2873
+ "type": "option"
2874
+ },
2875
+ "job": {
2876
+ "name": "job",
2877
+ "required": true,
2878
+ "summary": "Job id, as listed by ci job list.",
2879
+ "hasDynamicHelp": false,
2880
+ "multiple": false,
2881
+ "type": "option"
2882
+ },
2883
+ "tail": {
2884
+ "name": "tail",
2885
+ "summary": "Print only the last N lines. 0 prints the whole trace.",
2886
+ "default": 200,
2887
+ "hasDynamicHelp": false,
2888
+ "multiple": false,
2889
+ "type": "option"
2890
+ }
2891
+ },
2892
+ "hasDynamicHelp": false,
2893
+ "hiddenAliases": [],
2894
+ "id": "gitlab:ci:job:log",
2895
+ "pluginAlias": "@simplysf/simply-gitlab",
2896
+ "pluginName": "@simplysf/simply-gitlab",
2897
+ "pluginType": "core",
2898
+ "strict": true,
2899
+ "summary": "Print a job log.",
2900
+ "enableJsonFlag": true,
2901
+ "isWrite": false,
2902
+ "isESM": true,
2903
+ "relativePath": [
2904
+ "lib",
2905
+ "commands",
2906
+ "gitlab",
2907
+ "ci",
2908
+ "job",
2909
+ "log.js"
2910
+ ],
2911
+ "aliasPermutations": [],
2912
+ "permutations": [
2913
+ "gitlab:ci:job:log",
2914
+ "ci:gitlab:job:log",
2915
+ "ci:job:gitlab:log",
2916
+ "ci:job:log:gitlab",
2917
+ "gitlab:job:ci:log",
2918
+ "job:gitlab:ci:log",
2919
+ "job:ci:gitlab:log",
2920
+ "job:ci:log:gitlab",
2921
+ "gitlab:job:log:ci",
2922
+ "job:gitlab:log:ci",
2923
+ "job:log:gitlab:ci",
2924
+ "job:log:ci:gitlab",
2925
+ "gitlab:ci:log:job",
2926
+ "ci:gitlab:log:job",
2927
+ "ci:log:gitlab:job",
2928
+ "ci:log:job:gitlab",
2929
+ "gitlab:log:ci:job",
2930
+ "log:gitlab:ci:job",
2931
+ "log:ci:gitlab:job",
2932
+ "log:ci:job:gitlab",
2933
+ "gitlab:log:job:ci",
2934
+ "log:gitlab:job:ci",
2935
+ "log:job:gitlab:ci",
2936
+ "log:job:ci:gitlab"
2937
+ ]
2938
+ },
2939
+ "gitlab:ci:variable:list": {
2940
+ "aliases": [],
2941
+ "args": {},
2942
+ "description": "Variable values are hidden by default, including under --json. GitLab returns every value in clear text on this endpoint — the \"masked\" attribute only hides a value in job logs, not from the API — and those values are deploy keys and production credentials.\n\nPass --reveal to print them. Doing so puts live secrets on stdout, into your shell history if you redirect it, and into the context of anything reading this output, so it is a deliberate step rather than the default.",
2943
+ "examples": [
2944
+ "<%= config.bin %> <%= command.id %> --project group/project",
2945
+ "<%= config.bin %> <%= command.id %> --project group/project --reveal"
2946
+ ],
2947
+ "flags": {
2948
+ "json": {
2949
+ "description": "Format output as json.",
2950
+ "helpGroup": "GLOBAL",
2951
+ "name": "json",
2952
+ "allowNo": false,
2953
+ "type": "boolean"
2954
+ },
2955
+ "env-file": {
2956
+ "char": "e",
2957
+ "description": "Loaded before anything else. Variables already present in the environment win, so the file never overrides an explicit export, and only GitLab connection variables are read from it. A path that cannot be read is an error.",
2958
+ "helpGroup": "CONNECTION",
2959
+ "name": "env-file",
2960
+ "summary": "Path to a .env file holding connection settings.",
2961
+ "hasDynamicHelp": false,
2962
+ "multiple": false,
2963
+ "type": "option"
2964
+ },
2965
+ "gitlab-url": {
2966
+ "env": "GITLAB_URL",
2967
+ "helpGroup": "CONNECTION",
2968
+ "name": "gitlab-url",
2969
+ "summary": "Base URL of the GitLab instance. Defaults to https://gitlab.com.",
2970
+ "hasDynamicHelp": false,
2971
+ "multiple": false,
2972
+ "type": "option"
2973
+ },
2974
+ "gitlab-token": {
2975
+ "env": "GITLAB_TOKEN",
2976
+ "helpGroup": "CONNECTION",
2977
+ "name": "gitlab-token",
2978
+ "summary": "Personal, project, or group access token.",
2979
+ "hasDynamicHelp": false,
2980
+ "multiple": false,
2981
+ "type": "option"
2982
+ },
2983
+ "project": {
2984
+ "char": "p",
2985
+ "env": "GITLAB_PROJECT",
2986
+ "name": "project",
2987
+ "required": true,
2988
+ "summary": "Project id, or its full path such as group/subgroup/project.",
2989
+ "hasDynamicHelp": false,
2990
+ "multiple": false,
2991
+ "type": "option"
2992
+ },
2993
+ "limit": {
2994
+ "name": "limit",
2995
+ "summary": "Maximum number of variables to return across all pages.",
2996
+ "default": 50,
2997
+ "hasDynamicHelp": false,
2998
+ "multiple": false,
2999
+ "type": "option"
3000
+ },
3001
+ "reveal": {
3002
+ "description": "Off by default. Every value on this endpoint is a live secret, so revealing them is worth a moment of thought about where this output is going.",
3003
+ "name": "reveal",
3004
+ "summary": "Print the variable values in clear text.",
3005
+ "allowNo": false,
3006
+ "type": "boolean"
3007
+ }
3008
+ },
3009
+ "hasDynamicHelp": false,
3010
+ "hiddenAliases": [],
3011
+ "id": "gitlab:ci:variable:list",
3012
+ "pluginAlias": "@simplysf/simply-gitlab",
3013
+ "pluginName": "@simplysf/simply-gitlab",
3014
+ "pluginType": "core",
3015
+ "strict": true,
3016
+ "summary": "List a project CI/CD variables.",
3017
+ "enableJsonFlag": true,
3018
+ "isWrite": false,
3019
+ "isESM": true,
3020
+ "relativePath": [
3021
+ "lib",
3022
+ "commands",
3023
+ "gitlab",
3024
+ "ci",
3025
+ "variable",
3026
+ "list.js"
3027
+ ],
3028
+ "aliasPermutations": [],
3029
+ "permutations": [
3030
+ "gitlab:ci:variable:list",
3031
+ "ci:gitlab:variable:list",
3032
+ "ci:variable:gitlab:list",
3033
+ "ci:variable:list:gitlab",
3034
+ "gitlab:variable:ci:list",
3035
+ "variable:gitlab:ci:list",
3036
+ "variable:ci:gitlab:list",
3037
+ "variable:ci:list:gitlab",
3038
+ "gitlab:variable:list:ci",
3039
+ "variable:gitlab:list:ci",
3040
+ "variable:list:gitlab:ci",
3041
+ "variable:list:ci:gitlab",
3042
+ "gitlab:ci:list:variable",
3043
+ "ci:gitlab:list:variable",
3044
+ "ci:list:gitlab:variable",
3045
+ "ci:list:variable:gitlab",
3046
+ "gitlab:list:ci:variable",
3047
+ "list:gitlab:ci:variable",
3048
+ "list:ci:gitlab:variable",
3049
+ "list:ci:variable:gitlab",
3050
+ "gitlab:list:variable:ci",
3051
+ "list:gitlab:variable:ci",
3052
+ "list:variable:gitlab:ci",
3053
+ "list:variable:ci:gitlab"
3054
+ ]
3055
+ }
3056
+ },
3057
+ "version": "0.5.0"
3058
+ }