@xano/cli 0.0.59 → 0.0.61

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.
@@ -1,5 +1,56 @@
1
1
  {
2
2
  "commands": {
3
+ "update": {
4
+ "aliases": [],
5
+ "args": {},
6
+ "description": "Update the Xano CLI to the latest version",
7
+ "examples": [
8
+ "$ xano update",
9
+ "$ xano update --check"
10
+ ],
11
+ "flags": {
12
+ "profile": {
13
+ "char": "p",
14
+ "description": "Profile to use (uses default profile if not specified)",
15
+ "env": "XANO_PROFILE",
16
+ "name": "profile",
17
+ "required": false,
18
+ "hasDynamicHelp": false,
19
+ "multiple": false,
20
+ "type": "option"
21
+ },
22
+ "verbose": {
23
+ "char": "v",
24
+ "description": "Show detailed request/response information",
25
+ "env": "XANO_VERBOSE",
26
+ "name": "verbose",
27
+ "required": false,
28
+ "allowNo": false,
29
+ "type": "boolean"
30
+ },
31
+ "check": {
32
+ "description": "Check for updates without installing",
33
+ "name": "check",
34
+ "allowNo": false,
35
+ "type": "boolean"
36
+ }
37
+ },
38
+ "hasDynamicHelp": false,
39
+ "hiddenAliases": [],
40
+ "id": "update",
41
+ "pluginAlias": "@xano/cli",
42
+ "pluginName": "@xano/cli",
43
+ "pluginType": "core",
44
+ "strict": true,
45
+ "enableJsonFlag": false,
46
+ "isESM": true,
47
+ "relativePath": [
48
+ "dist",
49
+ "commands",
50
+ "update",
51
+ "index.js"
52
+ ]
53
+ },
3
54
  "auth": {
4
55
  "aliases": [],
5
56
  "args": {},
@@ -35,13 +86,19 @@
35
86
  "index.js"
36
87
  ]
37
88
  },
38
- "update": {
89
+ "platform:get": {
39
90
  "aliases": [],
40
- "args": {},
41
- "description": "Update the Xano CLI to the latest version",
91
+ "args": {
92
+ "platform_id": {
93
+ "description": "Platform ID to retrieve",
94
+ "name": "platform_id",
95
+ "required": true
96
+ }
97
+ },
98
+ "description": "Get details of a specific platform",
42
99
  "examples": [
43
- "$ xano update",
44
- "$ xano update --check"
100
+ "$ xano platform get 23629\nPlatform ID: 23629\n Created: 2025-11-28\n Helm: 0.1.356\n Images:\n backend 0.0.2985\n frontend 0.1.3427\n database 0.1.6\n node 0.1.192\n deno 0.0.212\n redis 0.1.34\n realtime 0.1.149\n standalone 0.0.2456\n playwright 0.0.992\n static 0.0.10\n static-build 0.0.4\n backend-encoded 0.0.1396\n",
101
+ "$ xano platform get 23629 -o json"
45
102
  ],
46
103
  "flags": {
47
104
  "profile": {
@@ -63,16 +120,24 @@
63
120
  "allowNo": false,
64
121
  "type": "boolean"
65
122
  },
66
- "check": {
67
- "description": "Check for updates without installing",
68
- "name": "check",
69
- "allowNo": false,
70
- "type": "boolean"
123
+ "output": {
124
+ "char": "o",
125
+ "description": "Output format",
126
+ "name": "output",
127
+ "required": false,
128
+ "default": "summary",
129
+ "hasDynamicHelp": false,
130
+ "multiple": false,
131
+ "options": [
132
+ "summary",
133
+ "json"
134
+ ],
135
+ "type": "option"
71
136
  }
72
137
  },
73
138
  "hasDynamicHelp": false,
74
139
  "hiddenAliases": [],
75
- "id": "update",
140
+ "id": "platform:get",
76
141
  "pluginAlias": "@xano/cli",
77
142
  "pluginName": "@xano/cli",
78
143
  "pluginType": "core",
@@ -82,18 +147,18 @@
82
147
  "relativePath": [
83
148
  "dist",
84
149
  "commands",
85
- "update",
150
+ "platform",
151
+ "get",
86
152
  "index.js"
87
153
  ]
88
154
  },
89
- "branch:create": {
155
+ "platform:list": {
90
156
  "aliases": [],
91
157
  "args": {},
92
- "description": "Create a new branch by cloning from an existing branch",
158
+ "description": "List all platforms",
93
159
  "examples": [
94
- "$ xano branch create --label dev\nCreated branch: dev\n Cloned from: v1\n",
95
- "$ xano branch create -l feature-auth -s dev -d \"Authentication feature\"\nCreated branch: feature-auth\n Cloned from: dev\n Description: Authentication feature\n",
96
- "$ xano branch create --label staging --color \"#ebc346\" --output json\n{\n \"created_at\": \"2024-02-11T10:00:00Z\",\n \"label\": \"staging\",\n \"backup\": false,\n \"live\": false\n}\n"
160
+ "$ xano platform list\nPlatforms:\n ID: 23629 | Helm: 0.1.356 | Created: 2025-11-28\n",
161
+ "$ xano platform list --output json"
97
162
  ],
98
163
  "flags": {
99
164
  "profile": {
@@ -115,33 +180,6 @@
115
180
  "allowNo": false,
116
181
  "type": "boolean"
117
182
  },
118
- "color": {
119
- "char": "c",
120
- "description": "Color hex code for the branch (e.g., \"#ebc346\")",
121
- "name": "color",
122
- "required": false,
123
- "hasDynamicHelp": false,
124
- "multiple": false,
125
- "type": "option"
126
- },
127
- "description": {
128
- "char": "d",
129
- "description": "Description for the new branch",
130
- "name": "description",
131
- "required": false,
132
- "hasDynamicHelp": false,
133
- "multiple": false,
134
- "type": "option"
135
- },
136
- "label": {
137
- "char": "l",
138
- "description": "Label for the new branch",
139
- "name": "label",
140
- "required": true,
141
- "hasDynamicHelp": false,
142
- "multiple": false,
143
- "type": "option"
144
- },
145
183
  "output": {
146
184
  "char": "o",
147
185
  "description": "Output format",
@@ -155,30 +193,11 @@
155
193
  "json"
156
194
  ],
157
195
  "type": "option"
158
- },
159
- "source": {
160
- "char": "s",
161
- "description": "Source branch to clone from (defaults to \"v1\")",
162
- "name": "source",
163
- "required": false,
164
- "default": "v1",
165
- "hasDynamicHelp": false,
166
- "multiple": false,
167
- "type": "option"
168
- },
169
- "workspace": {
170
- "char": "w",
171
- "description": "Workspace ID (uses profile workspace if not provided)",
172
- "name": "workspace",
173
- "required": false,
174
- "hasDynamicHelp": false,
175
- "multiple": false,
176
- "type": "option"
177
196
  }
178
197
  },
179
198
  "hasDynamicHelp": false,
180
199
  "hiddenAliases": [],
181
- "id": "branch:create",
200
+ "id": "platform:list",
182
201
  "pluginAlias": "@xano/cli",
183
202
  "pluginName": "@xano/cli",
184
203
  "pluginType": "core",
@@ -188,25 +207,21 @@
188
207
  "relativePath": [
189
208
  "dist",
190
209
  "commands",
191
- "branch",
192
- "create",
210
+ "platform",
211
+ "list",
193
212
  "index.js"
194
213
  ]
195
214
  },
196
- "branch:edit": {
215
+ "function:create": {
197
216
  "aliases": [],
198
- "args": {
199
- "branch_label": {
200
- "description": "Branch label to edit (cannot edit \"v1\" label)",
201
- "name": "branch_label",
202
- "required": true
203
- }
204
- },
205
- "description": "Update an existing branch (cannot update \"v1\" label)",
217
+ "args": {},
218
+ "description": "Create a new function in a workspace",
206
219
  "examples": [
207
- "$ xano branch edit dev --label development\nUpdated branch: development\n",
208
- "$ xano branch edit feature-auth -l feature-authentication --color \"#ff5733\"\nUpdated branch: feature-authentication\n Color: #ff5733\n",
209
- "$ xano branch edit staging --description \"Staging environment\" -o json\n{\n \"created_at\": \"2024-02-10T09:15:00Z\",\n \"label\": \"staging\",\n \"backup\": false\n}\n"
220
+ "$ xano function:create -w 40 -f function.xs\nFunction created successfully!\nID: 123\nName: my_function\n",
221
+ "$ xano function:create -f function.xs\nFunction created successfully!\nID: 123\nName: my_function\n",
222
+ "$ xano function:create -w 40 -f function.xs --edit\n# Opens function.xs in $EDITOR, then creates function with edited content\nFunction created successfully!\nID: 123\nName: my_function\n",
223
+ "$ cat function.xs | xano function:create -w 40 --stdin\nFunction created successfully!\nID: 123\nName: my_function\n",
224
+ "$ xano function:create -w 40 -f function.xs -o json\n{\n \"id\": 123,\n \"name\": \"my_function\",\n ...\n}\n"
210
225
  ],
211
226
  "flags": {
212
227
  "profile": {
@@ -228,28 +243,24 @@
228
243
  "allowNo": false,
229
244
  "type": "boolean"
230
245
  },
231
- "color": {
232
- "char": "c",
233
- "description": "New color hex code for the branch (e.g., \"#ff5733\")",
234
- "name": "color",
235
- "required": false,
236
- "hasDynamicHelp": false,
237
- "multiple": false,
238
- "type": "option"
239
- },
240
- "description": {
241
- "char": "d",
242
- "description": "New description for the branch",
243
- "name": "description",
246
+ "edit": {
247
+ "char": "e",
248
+ "dependsOn": [
249
+ "file"
250
+ ],
251
+ "description": "Open file in editor before creating function (requires --file)",
252
+ "name": "edit",
244
253
  "required": false,
245
- "hasDynamicHelp": false,
246
- "multiple": false,
247
- "type": "option"
254
+ "allowNo": false,
255
+ "type": "boolean"
248
256
  },
249
- "label": {
250
- "char": "l",
251
- "description": "New label for the branch",
252
- "name": "label",
257
+ "file": {
258
+ "char": "f",
259
+ "description": "Path to file containing XanoScript code",
260
+ "exclusive": [
261
+ "stdin"
262
+ ],
263
+ "name": "file",
253
264
  "required": false,
254
265
  "hasDynamicHelp": false,
255
266
  "multiple": false,
@@ -269,9 +280,20 @@
269
280
  ],
270
281
  "type": "option"
271
282
  },
283
+ "stdin": {
284
+ "char": "s",
285
+ "description": "Read XanoScript code from stdin",
286
+ "exclusive": [
287
+ "file"
288
+ ],
289
+ "name": "stdin",
290
+ "required": false,
291
+ "allowNo": false,
292
+ "type": "boolean"
293
+ },
272
294
  "workspace": {
273
295
  "char": "w",
274
- "description": "Workspace ID (uses profile workspace if not provided)",
296
+ "description": "Workspace ID (optional if set in profile)",
275
297
  "name": "workspace",
276
298
  "required": false,
277
299
  "hasDynamicHelp": false,
@@ -281,7 +303,7 @@
281
303
  },
282
304
  "hasDynamicHelp": false,
283
305
  "hiddenAliases": [],
284
- "id": "branch:edit",
306
+ "id": "function:create",
285
307
  "pluginAlias": "@xano/cli",
286
308
  "pluginName": "@xano/cli",
287
309
  "pluginType": "core",
@@ -291,25 +313,30 @@
291
313
  "relativePath": [
292
314
  "dist",
293
315
  "commands",
294
- "branch",
295
- "edit",
316
+ "function",
317
+ "create",
296
318
  "index.js"
297
319
  ]
298
320
  },
299
- "branch:delete": {
321
+ "function:edit": {
300
322
  "aliases": [],
301
323
  "args": {
302
- "branch_label": {
303
- "description": "Branch label to delete (cannot delete \"v1\" or the live branch)",
304
- "name": "branch_label",
305
- "required": true
324
+ "function_id": {
325
+ "description": "Function ID to edit",
326
+ "name": "function_id",
327
+ "required": false
306
328
  }
307
329
  },
308
- "description": "Delete a branch (cannot delete \"v1\" or the live branch)",
330
+ "description": "Edit a function in a workspace",
309
331
  "examples": [
310
- "$ xano branch delete feature-old\nAre you sure you want to delete branch 'feature-old'? This action cannot be undone. (y/N) y\nDeleted branch: feature-old\n",
311
- "$ xano branch delete dev --force\nDeleted branch: dev\n",
312
- "$ xano branch delete staging -f -o json\n{\n \"deleted\": true,\n \"branch_label\": \"staging\"\n}\n"
332
+ "$ xano function:edit 163\n# Fetches the function code and opens it in $EDITOR for editing\nFunction updated successfully!\nID: 163\nName: my_function\n",
333
+ "$ xano function:edit\n# Prompts for function, fetches the code and opens it in $EDITOR for editing\nSelect a function to edit:\n ❯ my_function (ID: 163) - Sample function\n another-func (ID: 164)\n",
334
+ "$ xano function:edit 163 -f function.xs\nFunction updated successfully!\nID: 163\nName: my_function\n",
335
+ "$ xano function:edit 163 -w 40 -f function.xs\nFunction updated successfully!\nID: 163\nName: my_function\n",
336
+ "$ xano function:edit -f function.xs\nSelect a function to edit:\n ❯ my_function (ID: 163) - Sample function\n another-func (ID: 164)\n",
337
+ "$ xano function:edit 163 -f function.xs --edit\n# Opens function.xs in $EDITOR, then updates function with edited content\nFunction updated successfully!\nID: 163\nName: my_function\n",
338
+ "$ cat function.xs | xano function:edit 163 --stdin\nFunction updated successfully!\nID: 163\nName: my_function\n",
339
+ "$ xano function:edit 163 -f function.xs -o json\n{\n \"id\": 163,\n \"name\": \"my_function\",\n ...\n}\n"
313
340
  ],
314
341
  "flags": {
315
342
  "profile": {
@@ -331,13 +358,25 @@
331
358
  "allowNo": false,
332
359
  "type": "boolean"
333
360
  },
334
- "force": {
335
- "char": "f",
336
- "description": "Skip confirmation prompt",
337
- "name": "force",
338
- "required": false,
339
- "allowNo": false,
340
- "type": "boolean"
361
+ "edit": {
362
+ "char": "e",
363
+ "description": "Open file in editor before updating function (requires --file)",
364
+ "name": "edit",
365
+ "required": false,
366
+ "allowNo": false,
367
+ "type": "boolean"
368
+ },
369
+ "file": {
370
+ "char": "f",
371
+ "description": "Path to file containing XanoScript code",
372
+ "exclusive": [
373
+ "stdin"
374
+ ],
375
+ "name": "file",
376
+ "required": false,
377
+ "hasDynamicHelp": false,
378
+ "multiple": false,
379
+ "type": "option"
341
380
  },
342
381
  "output": {
343
382
  "char": "o",
@@ -353,9 +392,27 @@
353
392
  ],
354
393
  "type": "option"
355
394
  },
395
+ "publish": {
396
+ "description": "Publish the function after editing",
397
+ "name": "publish",
398
+ "required": false,
399
+ "allowNo": false,
400
+ "type": "boolean"
401
+ },
402
+ "stdin": {
403
+ "char": "s",
404
+ "description": "Read XanoScript code from stdin",
405
+ "exclusive": [
406
+ "file"
407
+ ],
408
+ "name": "stdin",
409
+ "required": false,
410
+ "allowNo": false,
411
+ "type": "boolean"
412
+ },
356
413
  "workspace": {
357
414
  "char": "w",
358
- "description": "Workspace ID (uses profile workspace if not provided)",
415
+ "description": "Workspace ID (optional if set in profile)",
359
416
  "name": "workspace",
360
417
  "required": false,
361
418
  "hasDynamicHelp": false,
@@ -365,7 +422,7 @@
365
422
  },
366
423
  "hasDynamicHelp": false,
367
424
  "hiddenAliases": [],
368
- "id": "branch:delete",
425
+ "id": "function:edit",
369
426
  "pluginAlias": "@xano/cli",
370
427
  "pluginName": "@xano/cli",
371
428
  "pluginType": "core",
@@ -375,25 +432,28 @@
375
432
  "relativePath": [
376
433
  "dist",
377
434
  "commands",
378
- "branch",
379
- "delete",
435
+ "function",
436
+ "edit",
380
437
  "index.js"
381
438
  ]
382
439
  },
383
- "branch:get": {
440
+ "function:get": {
384
441
  "aliases": [],
385
442
  "args": {
386
- "branch_label": {
387
- "description": "Branch label (e.g., \"v1\", \"dev\")",
388
- "name": "branch_label",
389
- "required": true
443
+ "function_id": {
444
+ "description": "Function ID",
445
+ "name": "function_id",
446
+ "required": false
390
447
  }
391
448
  },
392
- "description": "Get details for a specific branch",
449
+ "description": "Get a specific function from a workspace",
393
450
  "examples": [
394
- "$ xano branch get v1\nBranch: v1 (live)\n Created: 2024-01-15\n",
395
- "$ xano branch get dev -w 123\nBranch: dev\n Created: 2024-02-01\n",
396
- "$ xano branch get staging --output json\n{\n \"created_at\": \"2024-02-10T09:15:00Z\",\n \"label\": \"staging\",\n \"backup\": false,\n \"live\": false\n}\n"
451
+ "$ xano function:get 145 -w 40\nFunction: yo (ID: 145)\nCreated: 2025-10-10 10:30:00\nDescription: Sample function\n",
452
+ "$ xano function:get 145 --profile production\nFunction: yo (ID: 145)\nCreated: 2025-10-10 10:30:00\n",
453
+ "$ xano function:get\nSelect a function:\n ❯ yo (ID: 145) - Sample function\n another-func (ID: 146)\n",
454
+ "$ xano function:get 145 -w 40 --output json\n{\n \"id\": 145,\n \"name\": \"yo\",\n \"description\": \"Sample function\"\n}\n",
455
+ "$ xano function:get 145 -p staging -o json --include_draft\n{\n \"id\": 145,\n \"name\": \"yo\"\n}\n",
456
+ "$ xano function:get 145 -p staging -o xs\nfunction yo {\n input {\n }\n stack {\n }\n response = null\n}\n"
397
457
  ],
398
458
  "flags": {
399
459
  "profile": {
@@ -415,6 +475,20 @@
415
475
  "allowNo": false,
416
476
  "type": "boolean"
417
477
  },
478
+ "include_draft": {
479
+ "description": "Include draft version",
480
+ "name": "include_draft",
481
+ "required": false,
482
+ "allowNo": false,
483
+ "type": "boolean"
484
+ },
485
+ "include_xanoscript": {
486
+ "description": "Include XanoScript in response",
487
+ "name": "include_xanoscript",
488
+ "required": false,
489
+ "allowNo": false,
490
+ "type": "boolean"
491
+ },
418
492
  "output": {
419
493
  "char": "o",
420
494
  "description": "Output format",
@@ -425,13 +499,14 @@
425
499
  "multiple": false,
426
500
  "options": [
427
501
  "summary",
428
- "json"
502
+ "json",
503
+ "xs"
429
504
  ],
430
505
  "type": "option"
431
506
  },
432
507
  "workspace": {
433
508
  "char": "w",
434
- "description": "Workspace ID (uses profile workspace if not provided)",
509
+ "description": "Workspace ID (optional if set in profile)",
435
510
  "name": "workspace",
436
511
  "required": false,
437
512
  "hasDynamicHelp": false,
@@ -441,7 +516,7 @@
441
516
  },
442
517
  "hasDynamicHelp": false,
443
518
  "hiddenAliases": [],
444
- "id": "branch:get",
519
+ "id": "function:get",
445
520
  "pluginAlias": "@xano/cli",
446
521
  "pluginName": "@xano/cli",
447
522
  "pluginType": "core",
@@ -451,25 +526,20 @@
451
526
  "relativePath": [
452
527
  "dist",
453
528
  "commands",
454
- "branch",
529
+ "function",
455
530
  "get",
456
531
  "index.js"
457
532
  ]
458
533
  },
459
- "branch:set_live": {
534
+ "function:list": {
460
535
  "aliases": [],
461
- "args": {
462
- "branch_label": {
463
- "description": "Branch label to set as live (use \"v1\" for default branch)",
464
- "name": "branch_label",
465
- "required": true
466
- }
467
- },
468
- "description": "Set a branch as the live (active) branch for API requests",
536
+ "args": {},
537
+ "description": "List all functions in a workspace from the Xano Metadata API",
469
538
  "examples": [
470
- "$ xano branch set-live staging\nAre you sure you want to set 'staging' as the live branch? (y/N) y\nBranch 'staging' is now live\n",
471
- "$ xano branch set-live v1 --force\nBranch 'v1' is now live\n",
472
- "$ xano branch set-live production -f -o json\n{\n \"created_at\": \"2024-02-10T09:15:00Z\",\n \"label\": \"production\",\n \"backup\": false,\n \"live\": true\n}\n"
539
+ "$ xano function:list -w 40\nAvailable functions:\n - function-1 (ID: 1)\n - function-2 (ID: 2)\n - function-3 (ID: 3)\n",
540
+ "$ xano function:list --profile production\nAvailable functions:\n - my-function (ID: 1)\n - another-function (ID: 2)\n",
541
+ "$ xano function:list -w 40 --output json\n[\n {\n \"id\": 1,\n \"name\": \"function-1\"\n }\n]\n",
542
+ "$ xano function:list -p staging -o json --include_draft\n[\n {\n \"id\": 1,\n \"name\": \"function-1\"\n }\n]\n"
473
543
  ],
474
544
  "flags": {
475
545
  "profile": {
@@ -491,14 +561,33 @@
491
561
  "allowNo": false,
492
562
  "type": "boolean"
493
563
  },
494
- "force": {
495
- "char": "f",
496
- "description": "Skip confirmation prompt",
497
- "name": "force",
564
+ "include_draft": {
565
+ "description": "Include draft functions",
566
+ "name": "include_draft",
567
+ "required": false,
568
+ "allowNo": false,
569
+ "type": "boolean"
570
+ },
571
+ "include_xanoscript": {
572
+ "description": "Include XanoScript in response",
573
+ "name": "include_xanoscript",
498
574
  "required": false,
499
575
  "allowNo": false,
500
576
  "type": "boolean"
501
577
  },
578
+ "order": {
579
+ "description": "Sort order",
580
+ "name": "order",
581
+ "required": false,
582
+ "default": "desc",
583
+ "hasDynamicHelp": false,
584
+ "multiple": false,
585
+ "options": [
586
+ "asc",
587
+ "desc"
588
+ ],
589
+ "type": "option"
590
+ },
502
591
  "output": {
503
592
  "char": "o",
504
593
  "description": "Output format",
@@ -513,9 +602,36 @@
513
602
  ],
514
603
  "type": "option"
515
604
  },
605
+ "page": {
606
+ "description": "Page number for pagination",
607
+ "name": "page",
608
+ "required": false,
609
+ "default": 1,
610
+ "hasDynamicHelp": false,
611
+ "multiple": false,
612
+ "type": "option"
613
+ },
614
+ "per_page": {
615
+ "description": "Number of results per page",
616
+ "name": "per_page",
617
+ "required": false,
618
+ "default": 50,
619
+ "hasDynamicHelp": false,
620
+ "multiple": false,
621
+ "type": "option"
622
+ },
623
+ "sort": {
624
+ "description": "Sort field",
625
+ "name": "sort",
626
+ "required": false,
627
+ "default": "created_at",
628
+ "hasDynamicHelp": false,
629
+ "multiple": false,
630
+ "type": "option"
631
+ },
516
632
  "workspace": {
517
633
  "char": "w",
518
- "description": "Workspace ID (uses profile workspace if not provided)",
634
+ "description": "Workspace ID (optional if set in profile)",
519
635
  "name": "workspace",
520
636
  "required": false,
521
637
  "hasDynamicHelp": false,
@@ -525,7 +641,7 @@
525
641
  },
526
642
  "hasDynamicHelp": false,
527
643
  "hiddenAliases": [],
528
- "id": "branch:set_live",
644
+ "id": "function:list",
529
645
  "pluginAlias": "@xano/cli",
530
646
  "pluginName": "@xano/cli",
531
647
  "pluginType": "core",
@@ -535,25 +651,25 @@
535
651
  "relativePath": [
536
652
  "dist",
537
653
  "commands",
538
- "branch",
539
- "set_live",
654
+ "function",
655
+ "list",
540
656
  "index.js"
541
657
  ]
542
658
  },
543
- "branch:list": {
659
+ "branch:edit": {
544
660
  "aliases": [],
545
661
  "args": {
546
- "workspace_id": {
547
- "description": "Workspace ID (uses profile workspace if not provided)",
548
- "name": "workspace_id",
549
- "required": false
662
+ "branch_label": {
663
+ "description": "Branch label to edit (cannot edit \"v1\" label)",
664
+ "name": "branch_label",
665
+ "required": true
550
666
  }
551
667
  },
552
- "description": "List all branches in a workspace",
668
+ "description": "Update an existing branch (cannot update \"v1\" label)",
553
669
  "examples": [
554
- "$ xano branch list\nAvailable branches:\n - v1 (live)\n - dev\n - staging\n",
555
- "$ xano branch list 123\nAvailable branches:\n - v1 (live)\n - feature-auth\n",
556
- "$ xano branch list --output json\n[\n {\n \"created_at\": \"2024-01-15T10:30:00Z\",\n \"label\": \"v1\",\n \"backup\": false,\n \"live\": true\n }\n]\n"
670
+ "$ xano branch edit dev --label development\nUpdated branch: development\n",
671
+ "$ xano branch edit feature-auth -l feature-authentication --color \"#ff5733\"\nUpdated branch: feature-authentication\n Color: #ff5733\n",
672
+ "$ xano branch edit staging --description \"Staging environment\" -o json\n{\n \"created_at\": \"2024-02-10T09:15:00Z\",\n \"label\": \"staging\",\n \"backup\": false\n}\n"
557
673
  ],
558
674
  "flags": {
559
675
  "profile": {
@@ -575,87 +691,28 @@
575
691
  "allowNo": false,
576
692
  "type": "boolean"
577
693
  },
578
- "output": {
579
- "char": "o",
580
- "description": "Output format",
581
- "name": "output",
694
+ "color": {
695
+ "char": "c",
696
+ "description": "New color hex code for the branch (e.g., \"#ff5733\")",
697
+ "name": "color",
582
698
  "required": false,
583
- "default": "summary",
584
699
  "hasDynamicHelp": false,
585
700
  "multiple": false,
586
- "options": [
587
- "summary",
588
- "json"
589
- ],
590
701
  "type": "option"
591
- }
592
- },
593
- "hasDynamicHelp": false,
594
- "hiddenAliases": [],
595
- "id": "branch:list",
596
- "pluginAlias": "@xano/cli",
597
- "pluginName": "@xano/cli",
598
- "pluginType": "core",
599
- "strict": true,
600
- "enableJsonFlag": false,
601
- "isESM": true,
602
- "relativePath": [
603
- "dist",
604
- "commands",
605
- "branch",
606
- "list",
607
- "index.js"
608
- ]
609
- },
610
- "function:create": {
611
- "aliases": [],
612
- "args": {},
613
- "description": "Create a new function in a workspace",
614
- "examples": [
615
- "$ xano function:create -w 40 -f function.xs\nFunction created successfully!\nID: 123\nName: my_function\n",
616
- "$ xano function:create -f function.xs\nFunction created successfully!\nID: 123\nName: my_function\n",
617
- "$ xano function:create -w 40 -f function.xs --edit\n# Opens function.xs in $EDITOR, then creates function with edited content\nFunction created successfully!\nID: 123\nName: my_function\n",
618
- "$ cat function.xs | xano function:create -w 40 --stdin\nFunction created successfully!\nID: 123\nName: my_function\n",
619
- "$ xano function:create -w 40 -f function.xs -o json\n{\n \"id\": 123,\n \"name\": \"my_function\",\n ...\n}\n"
620
- ],
621
- "flags": {
622
- "profile": {
623
- "char": "p",
624
- "description": "Profile to use (uses default profile if not specified)",
625
- "env": "XANO_PROFILE",
626
- "name": "profile",
702
+ },
703
+ "description": {
704
+ "char": "d",
705
+ "description": "New description for the branch",
706
+ "name": "description",
627
707
  "required": false,
628
708
  "hasDynamicHelp": false,
629
709
  "multiple": false,
630
710
  "type": "option"
631
711
  },
632
- "verbose": {
633
- "char": "v",
634
- "description": "Show detailed request/response information",
635
- "env": "XANO_VERBOSE",
636
- "name": "verbose",
637
- "required": false,
638
- "allowNo": false,
639
- "type": "boolean"
640
- },
641
- "edit": {
642
- "char": "e",
643
- "dependsOn": [
644
- "file"
645
- ],
646
- "description": "Open file in editor before creating function (requires --file)",
647
- "name": "edit",
648
- "required": false,
649
- "allowNo": false,
650
- "type": "boolean"
651
- },
652
- "file": {
653
- "char": "f",
654
- "description": "Path to file containing XanoScript code",
655
- "exclusive": [
656
- "stdin"
657
- ],
658
- "name": "file",
712
+ "label": {
713
+ "char": "l",
714
+ "description": "New label for the branch",
715
+ "name": "label",
659
716
  "required": false,
660
717
  "hasDynamicHelp": false,
661
718
  "multiple": false,
@@ -675,20 +732,9 @@
675
732
  ],
676
733
  "type": "option"
677
734
  },
678
- "stdin": {
679
- "char": "s",
680
- "description": "Read XanoScript code from stdin",
681
- "exclusive": [
682
- "file"
683
- ],
684
- "name": "stdin",
685
- "required": false,
686
- "allowNo": false,
687
- "type": "boolean"
688
- },
689
735
  "workspace": {
690
736
  "char": "w",
691
- "description": "Workspace ID (optional if set in profile)",
737
+ "description": "Workspace ID (uses profile workspace if not provided)",
692
738
  "name": "workspace",
693
739
  "required": false,
694
740
  "hasDynamicHelp": false,
@@ -698,7 +744,7 @@
698
744
  },
699
745
  "hasDynamicHelp": false,
700
746
  "hiddenAliases": [],
701
- "id": "function:create",
747
+ "id": "branch:edit",
702
748
  "pluginAlias": "@xano/cli",
703
749
  "pluginName": "@xano/cli",
704
750
  "pluginType": "core",
@@ -708,30 +754,25 @@
708
754
  "relativePath": [
709
755
  "dist",
710
756
  "commands",
711
- "function",
712
- "create",
757
+ "branch",
758
+ "edit",
713
759
  "index.js"
714
760
  ]
715
761
  },
716
- "function:edit": {
762
+ "branch:get": {
717
763
  "aliases": [],
718
764
  "args": {
719
- "function_id": {
720
- "description": "Function ID to edit",
721
- "name": "function_id",
722
- "required": false
765
+ "branch_label": {
766
+ "description": "Branch label (e.g., \"v1\", \"dev\")",
767
+ "name": "branch_label",
768
+ "required": true
723
769
  }
724
770
  },
725
- "description": "Edit a function in a workspace",
771
+ "description": "Get details for a specific branch",
726
772
  "examples": [
727
- "$ xano function:edit 163\n# Fetches the function code and opens it in $EDITOR for editing\nFunction updated successfully!\nID: 163\nName: my_function\n",
728
- "$ xano function:edit\n# Prompts for function, fetches the code and opens it in $EDITOR for editing\nSelect a function to edit:\n ❯ my_function (ID: 163) - Sample function\n another-func (ID: 164)\n",
729
- "$ xano function:edit 163 -f function.xs\nFunction updated successfully!\nID: 163\nName: my_function\n",
730
- "$ xano function:edit 163 -w 40 -f function.xs\nFunction updated successfully!\nID: 163\nName: my_function\n",
731
- "$ xano function:edit -f function.xs\nSelect a function to edit:\n ❯ my_function (ID: 163) - Sample function\n another-func (ID: 164)\n",
732
- "$ xano function:edit 163 -f function.xs --edit\n# Opens function.xs in $EDITOR, then updates function with edited content\nFunction updated successfully!\nID: 163\nName: my_function\n",
733
- "$ cat function.xs | xano function:edit 163 --stdin\nFunction updated successfully!\nID: 163\nName: my_function\n",
734
- "$ xano function:edit 163 -f function.xs -o json\n{\n \"id\": 163,\n \"name\": \"my_function\",\n ...\n}\n"
773
+ "$ xano branch get v1\nBranch: v1 (live)\n Created: 2024-01-15\n",
774
+ "$ xano branch get dev -w 123\nBranch: dev\n Created: 2024-02-01\n",
775
+ "$ xano branch get staging --output json\n{\n \"created_at\": \"2024-02-10T09:15:00Z\",\n \"label\": \"staging\",\n \"backup\": false,\n \"live\": false\n}\n"
735
776
  ],
736
777
  "flags": {
737
778
  "profile": {
@@ -753,26 +794,6 @@
753
794
  "allowNo": false,
754
795
  "type": "boolean"
755
796
  },
756
- "edit": {
757
- "char": "e",
758
- "description": "Open file in editor before updating function (requires --file)",
759
- "name": "edit",
760
- "required": false,
761
- "allowNo": false,
762
- "type": "boolean"
763
- },
764
- "file": {
765
- "char": "f",
766
- "description": "Path to file containing XanoScript code",
767
- "exclusive": [
768
- "stdin"
769
- ],
770
- "name": "file",
771
- "required": false,
772
- "hasDynamicHelp": false,
773
- "multiple": false,
774
- "type": "option"
775
- },
776
797
  "output": {
777
798
  "char": "o",
778
799
  "description": "Output format",
@@ -787,27 +808,9 @@
787
808
  ],
788
809
  "type": "option"
789
810
  },
790
- "publish": {
791
- "description": "Publish the function after editing",
792
- "name": "publish",
793
- "required": false,
794
- "allowNo": false,
795
- "type": "boolean"
796
- },
797
- "stdin": {
798
- "char": "s",
799
- "description": "Read XanoScript code from stdin",
800
- "exclusive": [
801
- "file"
802
- ],
803
- "name": "stdin",
804
- "required": false,
805
- "allowNo": false,
806
- "type": "boolean"
807
- },
808
811
  "workspace": {
809
812
  "char": "w",
810
- "description": "Workspace ID (optional if set in profile)",
813
+ "description": "Workspace ID (uses profile workspace if not provided)",
811
814
  "name": "workspace",
812
815
  "required": false,
813
816
  "hasDynamicHelp": false,
@@ -817,7 +820,7 @@
817
820
  },
818
821
  "hasDynamicHelp": false,
819
822
  "hiddenAliases": [],
820
- "id": "function:edit",
823
+ "id": "branch:get",
821
824
  "pluginAlias": "@xano/cli",
822
825
  "pluginName": "@xano/cli",
823
826
  "pluginType": "core",
@@ -827,28 +830,19 @@
827
830
  "relativePath": [
828
831
  "dist",
829
832
  "commands",
830
- "function",
831
- "edit",
833
+ "branch",
834
+ "get",
832
835
  "index.js"
833
836
  ]
834
837
  },
835
- "function:get": {
838
+ "branch:create": {
836
839
  "aliases": [],
837
- "args": {
838
- "function_id": {
839
- "description": "Function ID",
840
- "name": "function_id",
841
- "required": false
842
- }
843
- },
844
- "description": "Get a specific function from a workspace",
840
+ "args": {},
841
+ "description": "Create a new branch by cloning from an existing branch",
845
842
  "examples": [
846
- "$ xano function:get 145 -w 40\nFunction: yo (ID: 145)\nCreated: 2025-10-10 10:30:00\nDescription: Sample function\n",
847
- "$ xano function:get 145 --profile production\nFunction: yo (ID: 145)\nCreated: 2025-10-10 10:30:00\n",
848
- "$ xano function:get\nSelect a function:\n ❯ yo (ID: 145) - Sample function\n another-func (ID: 146)\n",
849
- "$ xano function:get 145 -w 40 --output json\n{\n \"id\": 145,\n \"name\": \"yo\",\n \"description\": \"Sample function\"\n}\n",
850
- "$ xano function:get 145 -p staging -o json --include_draft\n{\n \"id\": 145,\n \"name\": \"yo\"\n}\n",
851
- "$ xano function:get 145 -p staging -o xs\nfunction yo {\n input {\n }\n stack {\n }\n response = null\n}\n"
843
+ "$ xano branch create --label dev\nCreated branch: dev\n Cloned from: v1\n",
844
+ "$ xano branch create -l feature-auth -s dev -d \"Authentication feature\"\nCreated branch: feature-auth\n Cloned from: dev\n Description: Authentication feature\n",
845
+ "$ xano branch create --label staging --color \"#ebc346\" --output json\n{\n \"created_at\": \"2024-02-11T10:00:00Z\",\n \"label\": \"staging\",\n \"backup\": false,\n \"live\": false\n}\n"
852
846
  ],
853
847
  "flags": {
854
848
  "profile": {
@@ -870,19 +864,32 @@
870
864
  "allowNo": false,
871
865
  "type": "boolean"
872
866
  },
873
- "include_draft": {
874
- "description": "Include draft version",
875
- "name": "include_draft",
867
+ "color": {
868
+ "char": "c",
869
+ "description": "Color hex code for the branch (e.g., \"#ebc346\")",
870
+ "name": "color",
876
871
  "required": false,
877
- "allowNo": false,
878
- "type": "boolean"
872
+ "hasDynamicHelp": false,
873
+ "multiple": false,
874
+ "type": "option"
879
875
  },
880
- "include_xanoscript": {
881
- "description": "Include XanoScript in response",
882
- "name": "include_xanoscript",
876
+ "description": {
877
+ "char": "d",
878
+ "description": "Description for the new branch",
879
+ "name": "description",
883
880
  "required": false,
884
- "allowNo": false,
885
- "type": "boolean"
881
+ "hasDynamicHelp": false,
882
+ "multiple": false,
883
+ "type": "option"
884
+ },
885
+ "label": {
886
+ "char": "l",
887
+ "description": "Label for the new branch",
888
+ "name": "label",
889
+ "required": true,
890
+ "hasDynamicHelp": false,
891
+ "multiple": false,
892
+ "type": "option"
886
893
  },
887
894
  "output": {
888
895
  "char": "o",
@@ -894,14 +901,23 @@
894
901
  "multiple": false,
895
902
  "options": [
896
903
  "summary",
897
- "json",
898
- "xs"
904
+ "json"
899
905
  ],
900
906
  "type": "option"
901
907
  },
908
+ "source": {
909
+ "char": "s",
910
+ "description": "Source branch to clone from (defaults to \"v1\")",
911
+ "name": "source",
912
+ "required": false,
913
+ "default": "v1",
914
+ "hasDynamicHelp": false,
915
+ "multiple": false,
916
+ "type": "option"
917
+ },
902
918
  "workspace": {
903
919
  "char": "w",
904
- "description": "Workspace ID (optional if set in profile)",
920
+ "description": "Workspace ID (uses profile workspace if not provided)",
905
921
  "name": "workspace",
906
922
  "required": false,
907
923
  "hasDynamicHelp": false,
@@ -911,7 +927,7 @@
911
927
  },
912
928
  "hasDynamicHelp": false,
913
929
  "hiddenAliases": [],
914
- "id": "function:get",
930
+ "id": "branch:create",
915
931
  "pluginAlias": "@xano/cli",
916
932
  "pluginName": "@xano/cli",
917
933
  "pluginType": "core",
@@ -921,20 +937,25 @@
921
937
  "relativePath": [
922
938
  "dist",
923
939
  "commands",
924
- "function",
925
- "get",
940
+ "branch",
941
+ "create",
926
942
  "index.js"
927
943
  ]
928
944
  },
929
- "function:list": {
945
+ "branch:delete": {
930
946
  "aliases": [],
931
- "args": {},
932
- "description": "List all functions in a workspace from the Xano Metadata API",
947
+ "args": {
948
+ "branch_label": {
949
+ "description": "Branch label to delete (cannot delete \"v1\" or the live branch)",
950
+ "name": "branch_label",
951
+ "required": true
952
+ }
953
+ },
954
+ "description": "Delete a branch (cannot delete \"v1\" or the live branch)",
933
955
  "examples": [
934
- "$ xano function:list -w 40\nAvailable functions:\n - function-1 (ID: 1)\n - function-2 (ID: 2)\n - function-3 (ID: 3)\n",
935
- "$ xano function:list --profile production\nAvailable functions:\n - my-function (ID: 1)\n - another-function (ID: 2)\n",
936
- "$ xano function:list -w 40 --output json\n[\n {\n \"id\": 1,\n \"name\": \"function-1\"\n }\n]\n",
937
- "$ xano function:list -p staging -o json --include_draft\n[\n {\n \"id\": 1,\n \"name\": \"function-1\"\n }\n]\n"
956
+ "$ xano branch delete feature-old\nAre you sure you want to delete branch 'feature-old'? This action cannot be undone. (y/N) y\nDeleted branch: feature-old\n",
957
+ "$ xano branch delete dev --force\nDeleted branch: dev\n",
958
+ "$ xano branch delete staging -f -o json\n{\n \"deleted\": true,\n \"branch_label\": \"staging\"\n}\n"
938
959
  ],
939
960
  "flags": {
940
961
  "profile": {
@@ -956,33 +977,14 @@
956
977
  "allowNo": false,
957
978
  "type": "boolean"
958
979
  },
959
- "include_draft": {
960
- "description": "Include draft functions",
961
- "name": "include_draft",
962
- "required": false,
963
- "allowNo": false,
964
- "type": "boolean"
965
- },
966
- "include_xanoscript": {
967
- "description": "Include XanoScript in response",
968
- "name": "include_xanoscript",
980
+ "force": {
981
+ "char": "f",
982
+ "description": "Skip confirmation prompt",
983
+ "name": "force",
969
984
  "required": false,
970
985
  "allowNo": false,
971
986
  "type": "boolean"
972
987
  },
973
- "order": {
974
- "description": "Sort order",
975
- "name": "order",
976
- "required": false,
977
- "default": "desc",
978
- "hasDynamicHelp": false,
979
- "multiple": false,
980
- "options": [
981
- "asc",
982
- "desc"
983
- ],
984
- "type": "option"
985
- },
986
988
  "output": {
987
989
  "char": "o",
988
990
  "description": "Output format",
@@ -997,36 +999,9 @@
997
999
  ],
998
1000
  "type": "option"
999
1001
  },
1000
- "page": {
1001
- "description": "Page number for pagination",
1002
- "name": "page",
1003
- "required": false,
1004
- "default": 1,
1005
- "hasDynamicHelp": false,
1006
- "multiple": false,
1007
- "type": "option"
1008
- },
1009
- "per_page": {
1010
- "description": "Number of results per page",
1011
- "name": "per_page",
1012
- "required": false,
1013
- "default": 50,
1014
- "hasDynamicHelp": false,
1015
- "multiple": false,
1016
- "type": "option"
1017
- },
1018
- "sort": {
1019
- "description": "Sort field",
1020
- "name": "sort",
1021
- "required": false,
1022
- "default": "created_at",
1023
- "hasDynamicHelp": false,
1024
- "multiple": false,
1025
- "type": "option"
1026
- },
1027
1002
  "workspace": {
1028
1003
  "char": "w",
1029
- "description": "Workspace ID (optional if set in profile)",
1004
+ "description": "Workspace ID (uses profile workspace if not provided)",
1030
1005
  "name": "workspace",
1031
1006
  "required": false,
1032
1007
  "hasDynamicHelp": false,
@@ -1036,7 +1011,7 @@
1036
1011
  },
1037
1012
  "hasDynamicHelp": false,
1038
1013
  "hiddenAliases": [],
1039
- "id": "function:list",
1014
+ "id": "branch:delete",
1040
1015
  "pluginAlias": "@xano/cli",
1041
1016
  "pluginName": "@xano/cli",
1042
1017
  "pluginType": "core",
@@ -1046,18 +1021,25 @@
1046
1021
  "relativePath": [
1047
1022
  "dist",
1048
1023
  "commands",
1049
- "function",
1050
- "list",
1024
+ "branch",
1025
+ "delete",
1051
1026
  "index.js"
1052
1027
  ]
1053
1028
  },
1054
- "platform:list": {
1029
+ "branch:list": {
1055
1030
  "aliases": [],
1056
- "args": {},
1057
- "description": "List all platforms",
1031
+ "args": {
1032
+ "workspace_id": {
1033
+ "description": "Workspace ID (uses profile workspace if not provided)",
1034
+ "name": "workspace_id",
1035
+ "required": false
1036
+ }
1037
+ },
1038
+ "description": "List all branches in a workspace",
1058
1039
  "examples": [
1059
- "$ xano platform list\nPlatforms:\n ID: 23629 | Helm: 0.1.356 | Created: 2025-11-28\n",
1060
- "$ xano platform list --output json"
1040
+ "$ xano branch list\nAvailable branches:\n - v1 (live)\n - dev\n - staging\n",
1041
+ "$ xano branch list 123\nAvailable branches:\n - v1 (live)\n - feature-auth\n",
1042
+ "$ xano branch list --output json\n[\n {\n \"created_at\": \"2024-01-15T10:30:00Z\",\n \"label\": \"v1\",\n \"backup\": false,\n \"live\": true\n }\n]\n"
1061
1043
  ],
1062
1044
  "flags": {
1063
1045
  "profile": {
@@ -1096,7 +1078,7 @@
1096
1078
  },
1097
1079
  "hasDynamicHelp": false,
1098
1080
  "hiddenAliases": [],
1099
- "id": "platform:list",
1081
+ "id": "branch:list",
1100
1082
  "pluginAlias": "@xano/cli",
1101
1083
  "pluginName": "@xano/cli",
1102
1084
  "pluginType": "core",
@@ -1106,24 +1088,25 @@
1106
1088
  "relativePath": [
1107
1089
  "dist",
1108
1090
  "commands",
1109
- "platform",
1091
+ "branch",
1110
1092
  "list",
1111
1093
  "index.js"
1112
1094
  ]
1113
1095
  },
1114
- "platform:get": {
1096
+ "branch:set_live": {
1115
1097
  "aliases": [],
1116
1098
  "args": {
1117
- "platform_id": {
1118
- "description": "Platform ID to retrieve",
1119
- "name": "platform_id",
1099
+ "branch_label": {
1100
+ "description": "Branch label to set as live (use \"v1\" for default branch)",
1101
+ "name": "branch_label",
1120
1102
  "required": true
1121
1103
  }
1122
1104
  },
1123
- "description": "Get details of a specific platform",
1105
+ "description": "Set a branch as the live (active) branch for API requests",
1124
1106
  "examples": [
1125
- "$ xano platform get 23629\nPlatform ID: 23629\n Created: 2025-11-28\n Helm: 0.1.356\n Images:\n backend 0.0.2985\n frontend 0.1.3427\n database 0.1.6\n node 0.1.192\n deno 0.0.212\n redis 0.1.34\n realtime 0.1.149\n standalone 0.0.2456\n playwright 0.0.992\n static 0.0.10\n static-build 0.0.4\n backend-encoded 0.0.1396\n",
1126
- "$ xano platform get 23629 -o json"
1107
+ "$ xano branch set-live staging\nAre you sure you want to set 'staging' as the live branch? (y/N) y\nBranch 'staging' is now live\n",
1108
+ "$ xano branch set-live v1 --force\nBranch 'v1' is now live\n",
1109
+ "$ xano branch set-live production -f -o json\n{\n \"created_at\": \"2024-02-10T09:15:00Z\",\n \"label\": \"production\",\n \"backup\": false,\n \"live\": true\n}\n"
1127
1110
  ],
1128
1111
  "flags": {
1129
1112
  "profile": {
@@ -1145,6 +1128,14 @@
1145
1128
  "allowNo": false,
1146
1129
  "type": "boolean"
1147
1130
  },
1131
+ "force": {
1132
+ "char": "f",
1133
+ "description": "Skip confirmation prompt",
1134
+ "name": "force",
1135
+ "required": false,
1136
+ "allowNo": false,
1137
+ "type": "boolean"
1138
+ },
1148
1139
  "output": {
1149
1140
  "char": "o",
1150
1141
  "description": "Output format",
@@ -1158,11 +1149,20 @@
1158
1149
  "json"
1159
1150
  ],
1160
1151
  "type": "option"
1152
+ },
1153
+ "workspace": {
1154
+ "char": "w",
1155
+ "description": "Workspace ID (uses profile workspace if not provided)",
1156
+ "name": "workspace",
1157
+ "required": false,
1158
+ "hasDynamicHelp": false,
1159
+ "multiple": false,
1160
+ "type": "option"
1161
1161
  }
1162
1162
  },
1163
1163
  "hasDynamicHelp": false,
1164
1164
  "hiddenAliases": [],
1165
- "id": "platform:get",
1165
+ "id": "branch:set_live",
1166
1166
  "pluginAlias": "@xano/cli",
1167
1167
  "pluginName": "@xano/cli",
1168
1168
  "pluginType": "core",
@@ -1172,8 +1172,8 @@
1172
1172
  "relativePath": [
1173
1173
  "dist",
1174
1174
  "commands",
1175
- "platform",
1176
- "get",
1175
+ "branch",
1176
+ "set_live",
1177
1177
  "index.js"
1178
1178
  ]
1179
1179
  },
@@ -1306,31 +1306,6 @@
1306
1306
  "index.js"
1307
1307
  ]
1308
1308
  },
1309
- "profile:get": {
1310
- "aliases": [],
1311
- "args": {},
1312
- "description": "Get the current default profile name",
1313
- "examples": [
1314
- "$ xano profile get\nproduction\n"
1315
- ],
1316
- "flags": {},
1317
- "hasDynamicHelp": false,
1318
- "hiddenAliases": [],
1319
- "id": "profile:get",
1320
- "pluginAlias": "@xano/cli",
1321
- "pluginName": "@xano/cli",
1322
- "pluginType": "core",
1323
- "strict": true,
1324
- "enableJsonFlag": false,
1325
- "isESM": true,
1326
- "relativePath": [
1327
- "dist",
1328
- "commands",
1329
- "profile",
1330
- "get",
1331
- "index.js"
1332
- ]
1333
- },
1334
1309
  "profile:edit": {
1335
1310
  "aliases": [],
1336
1311
  "args": {
@@ -1444,192 +1419,18 @@
1444
1419
  "edit",
1445
1420
  "index.js"
1446
1421
  ]
1447
- },
1448
- "profile:list": {
1449
- "aliases": [],
1450
- "args": {},
1451
- "description": "List all available profile configurations",
1452
- "examples": [
1453
- "$ xano profile:list\nAvailable profiles:\n - default\n - production\n - staging\n - development\n",
1454
- "$ xano profile:list --details\nAvailable profiles:\n\nProfile: default\n Account Origin: https://account.xano.com\n Instance Origin: https://instance.xano.com\n Access Token: ***...***\n Workspace: my-workspace\n Branch: main\n Project: my-project\n\nProfile: production\n Account Origin: https://account.xano.com\n Instance Origin: https://prod-instance.xano.com\n Access Token: ***...***\n",
1455
- "$ xano profile:list -d\nAvailable profiles:\n\nProfile: default\n Account Origin: https://account.xano.com\n Instance Origin: https://instance.xano.com\n Access Token: ***...***\n Workspace: my-workspace\n Branch: main\n Project: my-project\n"
1456
- ],
1457
- "flags": {
1458
- "details": {
1459
- "char": "d",
1460
- "description": "Show detailed information for each profile",
1461
- "name": "details",
1462
- "required": false,
1463
- "allowNo": false,
1464
- "type": "boolean"
1465
- }
1466
- },
1467
- "hasDynamicHelp": false,
1468
- "hiddenAliases": [],
1469
- "id": "profile:list",
1470
- "pluginAlias": "@xano/cli",
1471
- "pluginName": "@xano/cli",
1472
- "pluginType": "core",
1473
- "strict": true,
1474
- "enableJsonFlag": false,
1475
- "isESM": true,
1476
- "relativePath": [
1477
- "dist",
1478
- "commands",
1479
- "profile",
1480
- "list",
1481
- "index.js"
1482
- ]
1483
- },
1484
- "profile:me": {
1485
- "aliases": [],
1486
- "args": {},
1487
- "description": "Get information about the currently authenticated user",
1488
- "examples": [
1489
- "$ xano profile:me\nUser Information:\n ID: 1\n Name: John Doe\n Email: john@example.com\n",
1490
- "$ xano profile:me --profile production\nUser Information:\n ID: 42\n Name: Admin User\n Email: admin@example.com\n",
1491
- "$ xano profile:me --output json\n{\n \"id\": 1,\n \"name\": \"John Doe\",\n \"email\": \"john@example.com\"\n}\n"
1492
- ],
1493
- "flags": {
1494
- "profile": {
1495
- "char": "p",
1496
- "description": "Profile to use (uses default profile if not specified)",
1497
- "env": "XANO_PROFILE",
1498
- "name": "profile",
1499
- "required": false,
1500
- "hasDynamicHelp": false,
1501
- "multiple": false,
1502
- "type": "option"
1503
- },
1504
- "verbose": {
1505
- "char": "v",
1506
- "description": "Show detailed request/response information",
1507
- "env": "XANO_VERBOSE",
1508
- "name": "verbose",
1509
- "required": false,
1510
- "allowNo": false,
1511
- "type": "boolean"
1512
- },
1513
- "output": {
1514
- "char": "o",
1515
- "description": "Output format",
1516
- "name": "output",
1517
- "required": false,
1518
- "default": "summary",
1519
- "hasDynamicHelp": false,
1520
- "multiple": false,
1521
- "options": [
1522
- "summary",
1523
- "json"
1524
- ],
1525
- "type": "option"
1526
- }
1527
- },
1528
- "hasDynamicHelp": false,
1529
- "hiddenAliases": [],
1530
- "id": "profile:me",
1531
- "pluginAlias": "@xano/cli",
1532
- "pluginName": "@xano/cli",
1533
- "pluginType": "core",
1534
- "strict": true,
1535
- "enableJsonFlag": false,
1536
- "isESM": true,
1537
- "relativePath": [
1538
- "dist",
1539
- "commands",
1540
- "profile",
1541
- "me",
1542
- "index.js"
1543
- ]
1544
- },
1545
- "profile:token": {
1546
- "aliases": [],
1547
- "args": {},
1548
- "description": "Print the access token for the default profile",
1549
- "examples": [
1550
- "$ xano profile:token\neyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...\n",
1551
- "$ xano profile:token | pbcopy\n# Copies the token to clipboard on macOS\n"
1552
- ],
1553
- "flags": {},
1554
- "hasDynamicHelp": false,
1555
- "hiddenAliases": [],
1556
- "id": "profile:token",
1557
- "pluginAlias": "@xano/cli",
1558
- "pluginName": "@xano/cli",
1559
- "pluginType": "core",
1560
- "strict": true,
1561
- "enableJsonFlag": false,
1562
- "isESM": true,
1563
- "relativePath": [
1564
- "dist",
1565
- "commands",
1566
- "profile",
1567
- "token",
1568
- "index.js"
1569
- ]
1570
- },
1571
- "profile:set": {
1572
- "aliases": [],
1573
- "args": {
1574
- "name": {
1575
- "description": "Profile name to set as default",
1576
- "name": "name",
1577
- "required": true
1578
- }
1579
- },
1580
- "description": "Set the default profile",
1581
- "examples": [
1582
- "$ xano profile set production\nDefault profile set to 'production'\n"
1583
- ],
1584
- "flags": {},
1585
- "hasDynamicHelp": false,
1586
- "hiddenAliases": [],
1587
- "id": "profile:set",
1588
- "pluginAlias": "@xano/cli",
1589
- "pluginName": "@xano/cli",
1590
- "pluginType": "core",
1591
- "strict": true,
1592
- "enableJsonFlag": false,
1593
- "isESM": true,
1594
- "relativePath": [
1595
- "dist",
1596
- "commands",
1597
- "profile",
1598
- "set",
1599
- "index.js"
1600
- ]
1601
- },
1602
- "profile:wizard": {
1603
- "aliases": [],
1604
- "args": {},
1605
- "description": "Create a new profile configuration using an interactive wizard",
1606
- "examples": [
1607
- "$ xano profile:wizard\nWelcome to the Xano Profile Wizard!\n? Enter your access token: ***...***\n? Select an instance:\n > Production (https://app.xano.com)\n Staging (https://staging.xano.com)\n? Profile name: production\nProfile 'production' created successfully at ~/.xano/credentials.yaml\n"
1608
- ],
1609
- "flags": {
1610
- "name": {
1611
- "char": "n",
1612
- "description": "Profile name (skip prompt if provided)",
1613
- "name": "name",
1614
- "required": false,
1615
- "hasDynamicHelp": false,
1616
- "multiple": false,
1617
- "type": "option"
1618
- },
1619
- "origin": {
1620
- "char": "o",
1621
- "description": "Xano instance origin URL",
1622
- "name": "origin",
1623
- "required": false,
1624
- "default": "https://app.xano.com",
1625
- "hasDynamicHelp": false,
1626
- "multiple": false,
1627
- "type": "option"
1628
- }
1629
- },
1422
+ },
1423
+ "profile:get": {
1424
+ "aliases": [],
1425
+ "args": {},
1426
+ "description": "Get the current default profile name",
1427
+ "examples": [
1428
+ "$ xano profile get\nproduction\n"
1429
+ ],
1430
+ "flags": {},
1630
1431
  "hasDynamicHelp": false,
1631
1432
  "hiddenAliases": [],
1632
- "id": "profile:wizard",
1433
+ "id": "profile:get",
1633
1434
  "pluginAlias": "@xano/cli",
1634
1435
  "pluginName": "@xano/cli",
1635
1436
  "pluginType": "core",
@@ -1640,22 +1441,32 @@
1640
1441
  "dist",
1641
1442
  "commands",
1642
1443
  "profile",
1643
- "wizard",
1444
+ "get",
1644
1445
  "index.js"
1645
1446
  ]
1646
1447
  },
1647
- "profile:workspace": {
1448
+ "profile:list": {
1648
1449
  "aliases": [],
1649
1450
  "args": {},
1650
- "description": "Print the workspace ID for the default profile",
1451
+ "description": "List all available profile configurations",
1651
1452
  "examples": [
1652
- "$ xano profile:workspace\nabc123-workspace-id\n",
1653
- "$ xano profile:workspace | pbcopy\n# Copies the workspace ID to clipboard on macOS\n"
1453
+ "$ xano profile:list\nAvailable profiles:\n - default\n - production\n - staging\n - development\n",
1454
+ "$ xano profile:list --details\nAvailable profiles:\n\nProfile: default\n Account Origin: https://account.xano.com\n Instance Origin: https://instance.xano.com\n Access Token: ***...***\n Workspace: my-workspace\n Branch: main\n Project: my-project\n\nProfile: production\n Account Origin: https://account.xano.com\n Instance Origin: https://prod-instance.xano.com\n Access Token: ***...***\n",
1455
+ "$ xano profile:list -d\nAvailable profiles:\n\nProfile: default\n Account Origin: https://account.xano.com\n Instance Origin: https://instance.xano.com\n Access Token: ***...***\n Workspace: my-workspace\n Branch: main\n Project: my-project\n"
1654
1456
  ],
1655
- "flags": {},
1457
+ "flags": {
1458
+ "details": {
1459
+ "char": "d",
1460
+ "description": "Show detailed information for each profile",
1461
+ "name": "details",
1462
+ "required": false,
1463
+ "allowNo": false,
1464
+ "type": "boolean"
1465
+ }
1466
+ },
1656
1467
  "hasDynamicHelp": false,
1657
1468
  "hiddenAliases": [],
1658
- "id": "profile:workspace",
1469
+ "id": "profile:list",
1659
1470
  "pluginAlias": "@xano/cli",
1660
1471
  "pluginName": "@xano/cli",
1661
1472
  "pluginType": "core",
@@ -1666,19 +1477,18 @@
1666
1477
  "dist",
1667
1478
  "commands",
1668
1479
  "profile",
1669
- "workspace",
1480
+ "list",
1670
1481
  "index.js"
1671
1482
  ]
1672
1483
  },
1673
- "static_host:list": {
1484
+ "profile:me": {
1674
1485
  "aliases": [],
1675
1486
  "args": {},
1676
- "description": "List all static hosts in a workspace from the Xano Metadata API",
1487
+ "description": "Get information about the currently authenticated user",
1677
1488
  "examples": [
1678
- "$ xano static_host:list -w 40\nAvailable static hosts:\n - my-static-host (ID: 1)\n - another-host (ID: 2)\n",
1679
- "$ xano static_host:list --profile production\nAvailable static hosts:\n - my-static-host (ID: 1)\n - another-host (ID: 2)\n",
1680
- "$ xano static_host:list -w 40 --output json\n[\n {\n \"id\": 1,\n \"name\": \"my-static-host\",\n \"domain\": \"example.com\"\n }\n]\n",
1681
- "$ xano static_host:list -p staging -o json --page 2\n[\n {\n \"id\": 3,\n \"name\": \"static-host-3\"\n }\n]\n"
1489
+ "$ xano profile:me\nUser Information:\n ID: 1\n Name: John Doe\n Email: john@example.com\n",
1490
+ "$ xano profile:me --profile production\nUser Information:\n ID: 42\n Name: Admin User\n Email: admin@example.com\n",
1491
+ "$ xano profile:me --output json\n{\n \"id\": 1,\n \"name\": \"John Doe\",\n \"email\": \"john@example.com\"\n}\n"
1682
1492
  ],
1683
1493
  "flags": {
1684
1494
  "profile": {
@@ -1713,38 +1523,11 @@
1713
1523
  "json"
1714
1524
  ],
1715
1525
  "type": "option"
1716
- },
1717
- "page": {
1718
- "description": "Page number for pagination",
1719
- "name": "page",
1720
- "required": false,
1721
- "default": 1,
1722
- "hasDynamicHelp": false,
1723
- "multiple": false,
1724
- "type": "option"
1725
- },
1726
- "per_page": {
1727
- "description": "Number of results per page",
1728
- "name": "per_page",
1729
- "required": false,
1730
- "default": 50,
1731
- "hasDynamicHelp": false,
1732
- "multiple": false,
1733
- "type": "option"
1734
- },
1735
- "workspace": {
1736
- "char": "w",
1737
- "description": "Workspace ID (optional if set in profile)",
1738
- "name": "workspace",
1739
- "required": false,
1740
- "hasDynamicHelp": false,
1741
- "multiple": false,
1742
- "type": "option"
1743
1526
  }
1744
1527
  },
1745
1528
  "hasDynamicHelp": false,
1746
1529
  "hiddenAliases": [],
1747
- "id": "static_host:list",
1530
+ "id": "profile:me",
1748
1531
  "pluginAlias": "@xano/cli",
1749
1532
  "pluginName": "@xano/cli",
1750
1533
  "pluginType": "core",
@@ -1754,8 +1537,65 @@
1754
1537
  "relativePath": [
1755
1538
  "dist",
1756
1539
  "commands",
1757
- "static_host",
1758
- "list",
1540
+ "profile",
1541
+ "me",
1542
+ "index.js"
1543
+ ]
1544
+ },
1545
+ "profile:set": {
1546
+ "aliases": [],
1547
+ "args": {
1548
+ "name": {
1549
+ "description": "Profile name to set as default",
1550
+ "name": "name",
1551
+ "required": true
1552
+ }
1553
+ },
1554
+ "description": "Set the default profile",
1555
+ "examples": [
1556
+ "$ xano profile set production\nDefault profile set to 'production'\n"
1557
+ ],
1558
+ "flags": {},
1559
+ "hasDynamicHelp": false,
1560
+ "hiddenAliases": [],
1561
+ "id": "profile:set",
1562
+ "pluginAlias": "@xano/cli",
1563
+ "pluginName": "@xano/cli",
1564
+ "pluginType": "core",
1565
+ "strict": true,
1566
+ "enableJsonFlag": false,
1567
+ "isESM": true,
1568
+ "relativePath": [
1569
+ "dist",
1570
+ "commands",
1571
+ "profile",
1572
+ "set",
1573
+ "index.js"
1574
+ ]
1575
+ },
1576
+ "profile:token": {
1577
+ "aliases": [],
1578
+ "args": {},
1579
+ "description": "Print the access token for the default profile",
1580
+ "examples": [
1581
+ "$ xano profile:token\neyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...\n",
1582
+ "$ xano profile:token | pbcopy\n# Copies the token to clipboard on macOS\n"
1583
+ ],
1584
+ "flags": {},
1585
+ "hasDynamicHelp": false,
1586
+ "hiddenAliases": [],
1587
+ "id": "profile:token",
1588
+ "pluginAlias": "@xano/cli",
1589
+ "pluginName": "@xano/cli",
1590
+ "pluginType": "core",
1591
+ "strict": true,
1592
+ "enableJsonFlag": false,
1593
+ "isESM": true,
1594
+ "relativePath": [
1595
+ "dist",
1596
+ "commands",
1597
+ "profile",
1598
+ "token",
1759
1599
  "index.js"
1760
1600
  ]
1761
1601
  },
@@ -1954,6 +1794,51 @@
1954
1794
  "index.js"
1955
1795
  ]
1956
1796
  },
1797
+ "profile:wizard": {
1798
+ "aliases": [],
1799
+ "args": {},
1800
+ "description": "Create a new profile configuration using an interactive wizard",
1801
+ "examples": [
1802
+ "$ xano profile:wizard\nWelcome to the Xano Profile Wizard!\n? Enter your access token: ***...***\n? Select an instance:\n > Production (https://app.xano.com)\n Staging (https://staging.xano.com)\n? Profile name: production\nProfile 'production' created successfully at ~/.xano/credentials.yaml\n"
1803
+ ],
1804
+ "flags": {
1805
+ "name": {
1806
+ "char": "n",
1807
+ "description": "Profile name (skip prompt if provided)",
1808
+ "name": "name",
1809
+ "required": false,
1810
+ "hasDynamicHelp": false,
1811
+ "multiple": false,
1812
+ "type": "option"
1813
+ },
1814
+ "origin": {
1815
+ "char": "o",
1816
+ "description": "Xano instance origin URL",
1817
+ "name": "origin",
1818
+ "required": false,
1819
+ "default": "https://app.xano.com",
1820
+ "hasDynamicHelp": false,
1821
+ "multiple": false,
1822
+ "type": "option"
1823
+ }
1824
+ },
1825
+ "hasDynamicHelp": false,
1826
+ "hiddenAliases": [],
1827
+ "id": "profile:wizard",
1828
+ "pluginAlias": "@xano/cli",
1829
+ "pluginName": "@xano/cli",
1830
+ "pluginType": "core",
1831
+ "strict": true,
1832
+ "enableJsonFlag": false,
1833
+ "isESM": true,
1834
+ "relativePath": [
1835
+ "dist",
1836
+ "commands",
1837
+ "profile",
1838
+ "wizard",
1839
+ "index.js"
1840
+ ]
1841
+ },
1957
1842
  "release:edit": {
1958
1843
  "aliases": [],
1959
1844
  "args": {
@@ -2206,20 +2091,13 @@
2206
2091
  "index.js"
2207
2092
  ]
2208
2093
  },
2209
- "release:pull": {
2094
+ "release:import": {
2210
2095
  "aliases": [],
2211
- "args": {
2212
- "directory": {
2213
- "description": "Output directory for pulled documents",
2214
- "name": "directory",
2215
- "required": true
2216
- }
2217
- },
2218
- "description": "Pull a release multidoc from the Xano Metadata API and split into individual files",
2096
+ "args": {},
2097
+ "description": "Import a release file into a workspace",
2219
2098
  "examples": [
2220
- "$ xano release pull ./my-release -r v1.0\nPulled 42 documents from release 'v1.0' to ./my-release\n",
2221
- "$ xano release pull ./output -r v1.0 -w 40\nPulled 15 documents from release 'v1.0' to ./output\n",
2222
- "$ xano release pull ./backup -r v1.0 --profile production --env --records\nPulled 58 documents from release 'v1.0' to ./backup\n"
2099
+ "$ xano release import --file ./my-release.tar.gz\nImported release as #15\n",
2100
+ "$ xano release import --file ./my-release.tar.gz -o json"
2223
2101
  ],
2224
2102
  "flags": {
2225
2103
  "profile": {
@@ -2241,32 +2119,32 @@
2241
2119
  "allowNo": false,
2242
2120
  "type": "boolean"
2243
2121
  },
2244
- "env": {
2245
- "description": "Include environment variables",
2246
- "name": "env",
2247
- "required": false,
2248
- "allowNo": false,
2249
- "type": "boolean"
2122
+ "file": {
2123
+ "char": "f",
2124
+ "description": "Path to the release file (.tar.gz)",
2125
+ "name": "file",
2126
+ "required": true,
2127
+ "hasDynamicHelp": false,
2128
+ "multiple": false,
2129
+ "type": "option"
2250
2130
  },
2251
- "records": {
2252
- "description": "Include records",
2253
- "name": "records",
2131
+ "output": {
2132
+ "char": "o",
2133
+ "description": "Output format",
2134
+ "name": "output",
2254
2135
  "required": false,
2255
- "allowNo": false,
2256
- "type": "boolean"
2257
- },
2258
- "release": {
2259
- "char": "r",
2260
- "description": "Release name to pull from",
2261
- "name": "release",
2262
- "required": true,
2136
+ "default": "summary",
2263
2137
  "hasDynamicHelp": false,
2264
2138
  "multiple": false,
2139
+ "options": [
2140
+ "summary",
2141
+ "json"
2142
+ ],
2265
2143
  "type": "option"
2266
2144
  },
2267
2145
  "workspace": {
2268
2146
  "char": "w",
2269
- "description": "Workspace ID (optional if set in profile)",
2147
+ "description": "Workspace ID (uses profile workspace if not provided)",
2270
2148
  "name": "workspace",
2271
2149
  "required": false,
2272
2150
  "hasDynamicHelp": false,
@@ -2276,7 +2154,7 @@
2276
2154
  },
2277
2155
  "hasDynamicHelp": false,
2278
2156
  "hiddenAliases": [],
2279
- "id": "release:pull",
2157
+ "id": "release:import",
2280
2158
  "pluginAlias": "@xano/cli",
2281
2159
  "pluginName": "@xano/cli",
2282
2160
  "pluginType": "core",
@@ -2287,7 +2165,7 @@
2287
2165
  "dist",
2288
2166
  "commands",
2289
2167
  "release",
2290
- "pull",
2168
+ "import",
2291
2169
  "index.js"
2292
2170
  ]
2293
2171
  },
@@ -2360,13 +2238,20 @@
2360
2238
  "index.js"
2361
2239
  ]
2362
2240
  },
2363
- "release:import": {
2241
+ "release:pull": {
2364
2242
  "aliases": [],
2365
- "args": {},
2366
- "description": "Import a release file into a workspace",
2243
+ "args": {
2244
+ "directory": {
2245
+ "description": "Output directory for pulled documents",
2246
+ "name": "directory",
2247
+ "required": true
2248
+ }
2249
+ },
2250
+ "description": "Pull a release multidoc from the Xano Metadata API and split into individual files",
2367
2251
  "examples": [
2368
- "$ xano release import --file ./my-release.tar.gz\nImported release as #15\n",
2369
- "$ xano release import --file ./my-release.tar.gz -o json"
2252
+ "$ xano release pull ./my-release -r v1.0\nPulled 42 documents from release 'v1.0' to ./my-release\n",
2253
+ "$ xano release pull ./output -r v1.0 -w 40\nPulled 15 documents from release 'v1.0' to ./output\n",
2254
+ "$ xano release pull ./backup -r v1.0 --profile production --env --records\nPulled 58 documents from release 'v1.0' to ./backup\n"
2370
2255
  ],
2371
2256
  "flags": {
2372
2257
  "profile": {
@@ -2388,32 +2273,32 @@
2388
2273
  "allowNo": false,
2389
2274
  "type": "boolean"
2390
2275
  },
2391
- "file": {
2392
- "char": "f",
2393
- "description": "Path to the release file (.tar.gz)",
2394
- "name": "file",
2395
- "required": true,
2396
- "hasDynamicHelp": false,
2397
- "multiple": false,
2398
- "type": "option"
2276
+ "env": {
2277
+ "description": "Include environment variables",
2278
+ "name": "env",
2279
+ "required": false,
2280
+ "allowNo": false,
2281
+ "type": "boolean"
2399
2282
  },
2400
- "output": {
2401
- "char": "o",
2402
- "description": "Output format",
2403
- "name": "output",
2283
+ "records": {
2284
+ "description": "Include records",
2285
+ "name": "records",
2404
2286
  "required": false,
2405
- "default": "summary",
2287
+ "allowNo": false,
2288
+ "type": "boolean"
2289
+ },
2290
+ "release": {
2291
+ "char": "r",
2292
+ "description": "Release name to pull from",
2293
+ "name": "release",
2294
+ "required": true,
2406
2295
  "hasDynamicHelp": false,
2407
2296
  "multiple": false,
2408
- "options": [
2409
- "summary",
2410
- "json"
2411
- ],
2412
2297
  "type": "option"
2413
2298
  },
2414
2299
  "workspace": {
2415
2300
  "char": "w",
2416
- "description": "Workspace ID (uses profile workspace if not provided)",
2301
+ "description": "Workspace ID (optional if set in profile)",
2417
2302
  "name": "workspace",
2418
2303
  "required": false,
2419
2304
  "hasDynamicHelp": false,
@@ -2423,7 +2308,7 @@
2423
2308
  },
2424
2309
  "hasDynamicHelp": false,
2425
2310
  "hiddenAliases": [],
2426
- "id": "release:import",
2311
+ "id": "release:pull",
2427
2312
  "pluginAlias": "@xano/cli",
2428
2313
  "pluginName": "@xano/cli",
2429
2314
  "pluginType": "core",
@@ -2434,7 +2319,7 @@
2434
2319
  "dist",
2435
2320
  "commands",
2436
2321
  "release",
2437
- "import",
2322
+ "pull",
2438
2323
  "index.js"
2439
2324
  ]
2440
2325
  },
@@ -2556,20 +2441,15 @@
2556
2441
  "index.js"
2557
2442
  ]
2558
2443
  },
2559
- "tenant:delete": {
2444
+ "static_host:list": {
2560
2445
  "aliases": [],
2561
- "args": {
2562
- "tenant_name": {
2563
- "description": "Tenant name to delete",
2564
- "name": "tenant_name",
2565
- "required": true
2566
- }
2567
- },
2568
- "description": "Delete a tenant permanently. This destroys all associated infrastructure and cannot be undone.",
2446
+ "args": {},
2447
+ "description": "List all static hosts in a workspace from the Xano Metadata API",
2569
2448
  "examples": [
2570
- "$ xano tenant delete t1234-abcd-xyz1\nAre you sure you want to delete tenant t1234-abcd-xyz1? This action cannot be undone. (y/N) y\nDeleted tenant t1234-abcd-xyz1\n",
2571
- "$ xano tenant delete t1234-abcd-xyz1 --force\nDeleted tenant t1234-abcd-xyz1\n",
2572
- "$ xano tenant delete t1234-abcd-xyz1 -f -o json"
2449
+ "$ xano static_host:list -w 40\nAvailable static hosts:\n - my-static-host (ID: 1)\n - another-host (ID: 2)\n",
2450
+ "$ xano static_host:list --profile production\nAvailable static hosts:\n - my-static-host (ID: 1)\n - another-host (ID: 2)\n",
2451
+ "$ xano static_host:list -w 40 --output json\n[\n {\n \"id\": 1,\n \"name\": \"my-static-host\",\n \"domain\": \"example.com\"\n }\n]\n",
2452
+ "$ xano static_host:list -p staging -o json --page 2\n[\n {\n \"id\": 3,\n \"name\": \"static-host-3\"\n }\n]\n"
2573
2453
  ],
2574
2454
  "flags": {
2575
2455
  "profile": {
@@ -2591,14 +2471,6 @@
2591
2471
  "allowNo": false,
2592
2472
  "type": "boolean"
2593
2473
  },
2594
- "force": {
2595
- "char": "f",
2596
- "description": "Skip confirmation prompt",
2597
- "name": "force",
2598
- "required": false,
2599
- "allowNo": false,
2600
- "type": "boolean"
2601
- },
2602
2474
  "output": {
2603
2475
  "char": "o",
2604
2476
  "description": "Output format",
@@ -2613,9 +2485,27 @@
2613
2485
  ],
2614
2486
  "type": "option"
2615
2487
  },
2488
+ "page": {
2489
+ "description": "Page number for pagination",
2490
+ "name": "page",
2491
+ "required": false,
2492
+ "default": 1,
2493
+ "hasDynamicHelp": false,
2494
+ "multiple": false,
2495
+ "type": "option"
2496
+ },
2497
+ "per_page": {
2498
+ "description": "Number of results per page",
2499
+ "name": "per_page",
2500
+ "required": false,
2501
+ "default": 50,
2502
+ "hasDynamicHelp": false,
2503
+ "multiple": false,
2504
+ "type": "option"
2505
+ },
2616
2506
  "workspace": {
2617
2507
  "char": "w",
2618
- "description": "Workspace ID (uses profile workspace if not provided)",
2508
+ "description": "Workspace ID (optional if set in profile)",
2619
2509
  "name": "workspace",
2620
2510
  "required": false,
2621
2511
  "hasDynamicHelp": false,
@@ -2625,7 +2515,7 @@
2625
2515
  },
2626
2516
  "hasDynamicHelp": false,
2627
2517
  "hiddenAliases": [],
2628
- "id": "tenant:delete",
2518
+ "id": "static_host:list",
2629
2519
  "pluginAlias": "@xano/cli",
2630
2520
  "pluginName": "@xano/cli",
2631
2521
  "pluginType": "core",
@@ -2635,24 +2525,24 @@
2635
2525
  "relativePath": [
2636
2526
  "dist",
2637
2527
  "commands",
2638
- "tenant",
2639
- "delete",
2528
+ "static_host",
2529
+ "list",
2640
2530
  "index.js"
2641
2531
  ]
2642
2532
  },
2643
- "tenant:deploy_platform": {
2533
+ "tenant:create": {
2644
2534
  "aliases": [],
2645
2535
  "args": {
2646
- "tenant_name": {
2647
- "description": "Tenant name to deploy to",
2648
- "name": "tenant_name",
2536
+ "display": {
2537
+ "description": "Display name for the tenant",
2538
+ "name": "display",
2649
2539
  "required": true
2650
2540
  }
2651
2541
  },
2652
- "description": "Deploy a platform version to a tenant",
2542
+ "description": "Create a new tenant in a workspace",
2653
2543
  "examples": [
2654
- "$ xano tenant deploy_platform t1234-abcd-xyz1 --platform_id 5\nDeployed platform 5 to tenant: My Tenant (my-tenant)\n",
2655
- "$ xano tenant deploy_platform t1234-abcd-xyz1 --platform_id 5 -o json"
2544
+ "$ xano tenant create \"Production\"\nCreated tenant: Production (production) - ID: 42\n",
2545
+ "$ xano tenant create \"Staging\" --description \"Staging env\" --cluster_id 1 --platform_id 1 --license tier2 -o json"
2656
2546
  ],
2657
2547
  "flags": {
2658
2548
  "profile": {
@@ -2674,6 +2564,57 @@
2674
2564
  "allowNo": false,
2675
2565
  "type": "boolean"
2676
2566
  },
2567
+ "cluster_id": {
2568
+ "description": "Cluster ID to deploy to (required for tier2/tier3)",
2569
+ "name": "cluster_id",
2570
+ "required": false,
2571
+ "hasDynamicHelp": false,
2572
+ "multiple": false,
2573
+ "type": "option"
2574
+ },
2575
+ "description": {
2576
+ "char": "d",
2577
+ "description": "Tenant description",
2578
+ "name": "description",
2579
+ "required": false,
2580
+ "hasDynamicHelp": false,
2581
+ "multiple": false,
2582
+ "type": "option"
2583
+ },
2584
+ "domain": {
2585
+ "description": "Custom domain for the tenant",
2586
+ "name": "domain",
2587
+ "required": false,
2588
+ "hasDynamicHelp": false,
2589
+ "multiple": false,
2590
+ "type": "option"
2591
+ },
2592
+ "ephemeral": {
2593
+ "description": "Mark tenant as ephemeral (allows push operations)",
2594
+ "name": "ephemeral",
2595
+ "allowNo": false,
2596
+ "type": "boolean"
2597
+ },
2598
+ "ingress": {
2599
+ "description": "Enable ingress",
2600
+ "name": "ingress",
2601
+ "allowNo": true,
2602
+ "type": "boolean"
2603
+ },
2604
+ "license": {
2605
+ "description": "License tier",
2606
+ "name": "license",
2607
+ "required": false,
2608
+ "default": "tier1",
2609
+ "hasDynamicHelp": false,
2610
+ "multiple": false,
2611
+ "options": [
2612
+ "tier1",
2613
+ "tier2",
2614
+ "tier3"
2615
+ ],
2616
+ "type": "option"
2617
+ },
2677
2618
  "output": {
2678
2619
  "char": "o",
2679
2620
  "description": "Output format",
@@ -2689,13 +2630,19 @@
2689
2630
  "type": "option"
2690
2631
  },
2691
2632
  "platform_id": {
2692
- "description": "Platform ID to deploy",
2633
+ "description": "Platform ID to use",
2693
2634
  "name": "platform_id",
2694
- "required": true,
2635
+ "required": false,
2695
2636
  "hasDynamicHelp": false,
2696
2637
  "multiple": false,
2697
2638
  "type": "option"
2698
2639
  },
2640
+ "tasks": {
2641
+ "description": "Enable background tasks",
2642
+ "name": "tasks",
2643
+ "allowNo": true,
2644
+ "type": "boolean"
2645
+ },
2699
2646
  "workspace": {
2700
2647
  "char": "w",
2701
2648
  "description": "Workspace ID (uses profile workspace if not provided)",
@@ -2708,7 +2655,7 @@
2708
2655
  },
2709
2656
  "hasDynamicHelp": false,
2710
2657
  "hiddenAliases": [],
2711
- "id": "tenant:deploy_platform",
2658
+ "id": "tenant:create",
2712
2659
  "pluginAlias": "@xano/cli",
2713
2660
  "pluginName": "@xano/cli",
2714
2661
  "pluginType": "core",
@@ -2719,23 +2666,23 @@
2719
2666
  "dist",
2720
2667
  "commands",
2721
2668
  "tenant",
2722
- "deploy_platform",
2669
+ "create",
2723
2670
  "index.js"
2724
2671
  ]
2725
2672
  },
2726
- "tenant:create": {
2673
+ "tenant:deploy_platform": {
2727
2674
  "aliases": [],
2728
2675
  "args": {
2729
- "display": {
2730
- "description": "Display name for the tenant",
2731
- "name": "display",
2676
+ "tenant_name": {
2677
+ "description": "Tenant name to deploy to",
2678
+ "name": "tenant_name",
2732
2679
  "required": true
2733
2680
  }
2734
2681
  },
2735
- "description": "Create a new tenant in a workspace",
2682
+ "description": "Deploy a platform version to a tenant",
2736
2683
  "examples": [
2737
- "$ xano tenant create \"Production\"\nCreated tenant: Production (production) - ID: 42\n",
2738
- "$ xano tenant create \"Staging\" --description \"Staging env\" --cluster_id 1 --platform_id 1 --license tier2 -o json"
2684
+ "$ xano tenant deploy_platform t1234-abcd-xyz1 --platform_id 5\nDeployed platform 5 to tenant: My Tenant (my-tenant)\n",
2685
+ "$ xano tenant deploy_platform t1234-abcd-xyz1 --platform_id 5 -o json"
2739
2686
  ],
2740
2687
  "flags": {
2741
2688
  "profile": {
@@ -2757,56 +2704,97 @@
2757
2704
  "allowNo": false,
2758
2705
  "type": "boolean"
2759
2706
  },
2760
- "cluster_id": {
2761
- "description": "Cluster ID to deploy to (required for tier2/tier3)",
2762
- "name": "cluster_id",
2707
+ "output": {
2708
+ "char": "o",
2709
+ "description": "Output format",
2710
+ "name": "output",
2763
2711
  "required": false,
2712
+ "default": "summary",
2764
2713
  "hasDynamicHelp": false,
2765
2714
  "multiple": false,
2715
+ "options": [
2716
+ "summary",
2717
+ "json"
2718
+ ],
2766
2719
  "type": "option"
2767
2720
  },
2768
- "description": {
2769
- "char": "d",
2770
- "description": "Tenant description",
2771
- "name": "description",
2721
+ "platform_id": {
2722
+ "description": "Platform ID to deploy",
2723
+ "name": "platform_id",
2724
+ "required": true,
2725
+ "hasDynamicHelp": false,
2726
+ "multiple": false,
2727
+ "type": "option"
2728
+ },
2729
+ "workspace": {
2730
+ "char": "w",
2731
+ "description": "Workspace ID (uses profile workspace if not provided)",
2732
+ "name": "workspace",
2733
+ "required": false,
2734
+ "hasDynamicHelp": false,
2735
+ "multiple": false,
2736
+ "type": "option"
2737
+ }
2738
+ },
2739
+ "hasDynamicHelp": false,
2740
+ "hiddenAliases": [],
2741
+ "id": "tenant:deploy_platform",
2742
+ "pluginAlias": "@xano/cli",
2743
+ "pluginName": "@xano/cli",
2744
+ "pluginType": "core",
2745
+ "strict": true,
2746
+ "enableJsonFlag": false,
2747
+ "isESM": true,
2748
+ "relativePath": [
2749
+ "dist",
2750
+ "commands",
2751
+ "tenant",
2752
+ "deploy_platform",
2753
+ "index.js"
2754
+ ]
2755
+ },
2756
+ "tenant:delete": {
2757
+ "aliases": [],
2758
+ "args": {
2759
+ "tenant_name": {
2760
+ "description": "Tenant name to delete",
2761
+ "name": "tenant_name",
2762
+ "required": true
2763
+ }
2764
+ },
2765
+ "description": "Delete a tenant permanently. This destroys all associated infrastructure and cannot be undone.",
2766
+ "examples": [
2767
+ "$ xano tenant delete t1234-abcd-xyz1\nAre you sure you want to delete tenant t1234-abcd-xyz1? This action cannot be undone. (y/N) y\nDeleted tenant t1234-abcd-xyz1\n",
2768
+ "$ xano tenant delete t1234-abcd-xyz1 --force\nDeleted tenant t1234-abcd-xyz1\n",
2769
+ "$ xano tenant delete t1234-abcd-xyz1 -f -o json"
2770
+ ],
2771
+ "flags": {
2772
+ "profile": {
2773
+ "char": "p",
2774
+ "description": "Profile to use (uses default profile if not specified)",
2775
+ "env": "XANO_PROFILE",
2776
+ "name": "profile",
2772
2777
  "required": false,
2773
2778
  "hasDynamicHelp": false,
2774
2779
  "multiple": false,
2775
2780
  "type": "option"
2776
2781
  },
2777
- "domain": {
2778
- "description": "Custom domain for the tenant",
2779
- "name": "domain",
2782
+ "verbose": {
2783
+ "char": "v",
2784
+ "description": "Show detailed request/response information",
2785
+ "env": "XANO_VERBOSE",
2786
+ "name": "verbose",
2780
2787
  "required": false,
2781
- "hasDynamicHelp": false,
2782
- "multiple": false,
2783
- "type": "option"
2784
- },
2785
- "ephemeral": {
2786
- "description": "Mark tenant as ephemeral (allows push operations)",
2787
- "name": "ephemeral",
2788
2788
  "allowNo": false,
2789
2789
  "type": "boolean"
2790
2790
  },
2791
- "ingress": {
2792
- "description": "Enable ingress",
2793
- "name": "ingress",
2794
- "allowNo": true,
2795
- "type": "boolean"
2796
- },
2797
- "license": {
2798
- "description": "License tier",
2799
- "name": "license",
2791
+ "force": {
2792
+ "char": "f",
2793
+ "description": "Skip confirmation prompt",
2794
+ "name": "force",
2800
2795
  "required": false,
2801
- "default": "tier1",
2802
- "hasDynamicHelp": false,
2803
- "multiple": false,
2804
- "options": [
2805
- "tier1",
2806
- "tier2",
2807
- "tier3"
2808
- ],
2809
- "type": "option"
2796
+ "allowNo": false,
2797
+ "type": "boolean"
2810
2798
  },
2811
2799
  "output": {
2812
2800
  "char": "o",
@@ -2822,20 +2810,6 @@
2822
2810
  ],
2823
2811
  "type": "option"
2824
2812
  },
2825
- "platform_id": {
2826
- "description": "Platform ID to use",
2827
- "name": "platform_id",
2828
- "required": false,
2829
- "hasDynamicHelp": false,
2830
- "multiple": false,
2831
- "type": "option"
2832
- },
2833
- "tasks": {
2834
- "description": "Enable background tasks",
2835
- "name": "tasks",
2836
- "allowNo": true,
2837
- "type": "boolean"
2838
- },
2839
2813
  "workspace": {
2840
2814
  "char": "w",
2841
2815
  "description": "Workspace ID (uses profile workspace if not provided)",
@@ -2848,7 +2822,7 @@
2848
2822
  },
2849
2823
  "hasDynamicHelp": false,
2850
2824
  "hiddenAliases": [],
2851
- "id": "tenant:create",
2825
+ "id": "tenant:delete",
2852
2826
  "pluginAlias": "@xano/cli",
2853
2827
  "pluginName": "@xano/cli",
2854
2828
  "pluginType": "core",
@@ -2859,23 +2833,23 @@
2859
2833
  "dist",
2860
2834
  "commands",
2861
2835
  "tenant",
2862
- "create",
2836
+ "delete",
2863
2837
  "index.js"
2864
2838
  ]
2865
2839
  },
2866
- "tenant:get": {
2840
+ "tenant:deploy_release": {
2867
2841
  "aliases": [],
2868
2842
  "args": {
2869
2843
  "tenant_name": {
2870
- "description": "Tenant name to retrieve",
2844
+ "description": "Tenant name to deploy to",
2871
2845
  "name": "tenant_name",
2872
2846
  "required": true
2873
2847
  }
2874
2848
  },
2875
- "description": "Get details of a specific tenant",
2849
+ "description": "Deploy a release to a tenant",
2876
2850
  "examples": [
2877
- "$ xano tenant get t1234-abcd-xyz1\nTenant: My Tenant (my-tenant)\n State: ok\n License: tier1\n Domain: my-tenant.xano.io\n Cluster: default\n Release: v1.0\n",
2878
- "$ xano tenant get t1234-abcd-xyz1 -w 5 -o json"
2851
+ "$ xano tenant deploy_release t1234-abcd-xyz1 --release v1.0\nDeployed release \"v1.0\" to tenant: My Tenant (my-tenant)\n",
2852
+ "$ xano tenant deploy_release t1234-abcd-xyz1 --release v1.0 -o json"
2879
2853
  ],
2880
2854
  "flags": {
2881
2855
  "profile": {
@@ -2911,6 +2885,15 @@
2911
2885
  ],
2912
2886
  "type": "option"
2913
2887
  },
2888
+ "release": {
2889
+ "char": "r",
2890
+ "description": "Release name to deploy",
2891
+ "name": "release",
2892
+ "required": true,
2893
+ "hasDynamicHelp": false,
2894
+ "multiple": false,
2895
+ "type": "option"
2896
+ },
2914
2897
  "workspace": {
2915
2898
  "char": "w",
2916
2899
  "description": "Workspace ID (uses profile workspace if not provided)",
@@ -2923,7 +2906,7 @@
2923
2906
  },
2924
2907
  "hasDynamicHelp": false,
2925
2908
  "hiddenAliases": [],
2926
- "id": "tenant:get",
2909
+ "id": "tenant:deploy_release",
2927
2910
  "pluginAlias": "@xano/cli",
2928
2911
  "pluginName": "@xano/cli",
2929
2912
  "pluginType": "core",
@@ -2934,7 +2917,7 @@
2934
2917
  "dist",
2935
2918
  "commands",
2936
2919
  "tenant",
2937
- "get",
2920
+ "deploy_release",
2938
2921
  "index.js"
2939
2922
  ]
2940
2923
  },
@@ -3067,19 +3050,19 @@
3067
3050
  "index.js"
3068
3051
  ]
3069
3052
  },
3070
- "tenant:deploy_release": {
3053
+ "tenant:get": {
3071
3054
  "aliases": [],
3072
3055
  "args": {
3073
3056
  "tenant_name": {
3074
- "description": "Tenant name to deploy to",
3057
+ "description": "Tenant name to retrieve",
3075
3058
  "name": "tenant_name",
3076
3059
  "required": true
3077
3060
  }
3078
3061
  },
3079
- "description": "Deploy a release to a tenant",
3062
+ "description": "Get details of a specific tenant",
3080
3063
  "examples": [
3081
- "$ xano tenant deploy_release t1234-abcd-xyz1 --release v1.0\nDeployed release \"v1.0\" to tenant: My Tenant (my-tenant)\n",
3082
- "$ xano tenant deploy_release t1234-abcd-xyz1 --release v1.0 -o json"
3064
+ "$ xano tenant get t1234-abcd-xyz1\nTenant: My Tenant (my-tenant)\n State: ok\n License: tier1\n Domain: my-tenant.xano.io\n Cluster: default\n Release: v1.0\n",
3065
+ "$ xano tenant get t1234-abcd-xyz1 -w 5 -o json"
3083
3066
  ],
3084
3067
  "flags": {
3085
3068
  "profile": {
@@ -3115,15 +3098,6 @@
3115
3098
  ],
3116
3099
  "type": "option"
3117
3100
  },
3118
- "release": {
3119
- "char": "r",
3120
- "description": "Release name to deploy",
3121
- "name": "release",
3122
- "required": true,
3123
- "hasDynamicHelp": false,
3124
- "multiple": false,
3125
- "type": "option"
3126
- },
3127
3101
  "workspace": {
3128
3102
  "char": "w",
3129
3103
  "description": "Workspace ID (uses profile workspace if not provided)",
@@ -3136,7 +3110,7 @@
3136
3110
  },
3137
3111
  "hasDynamicHelp": false,
3138
3112
  "hiddenAliases": [],
3139
- "id": "tenant:deploy_release",
3113
+ "id": "tenant:get",
3140
3114
  "pluginAlias": "@xano/cli",
3141
3115
  "pluginName": "@xano/cli",
3142
3116
  "pluginType": "core",
@@ -3147,25 +3121,17 @@
3147
3121
  "dist",
3148
3122
  "commands",
3149
3123
  "tenant",
3150
- "deploy_release",
3124
+ "get",
3151
3125
  "index.js"
3152
3126
  ]
3153
3127
  },
3154
- "tenant:pull": {
3128
+ "tenant:list": {
3155
3129
  "aliases": [],
3156
- "args": {
3157
- "directory": {
3158
- "description": "Output directory for pulled documents",
3159
- "name": "directory",
3160
- "required": true
3161
- }
3162
- },
3163
- "description": "Pull a tenant multidoc from the Xano Metadata API and split into individual files",
3130
+ "args": {},
3131
+ "description": "List all tenants in a workspace",
3164
3132
  "examples": [
3165
- "$ xano tenant pull ./my-tenant -t my-tenant\nPulled 42 documents from tenant my-tenant to ./my-tenant\n",
3166
- "$ xano tenant pull ./output -t my-tenant -w 40\nPulled 15 documents from tenant my-tenant to ./output\n",
3167
- "$ xano tenant pull ./backup -t my-tenant --profile production --env --records\nPulled 58 documents from tenant my-tenant to ./backup\n",
3168
- "$ xano tenant pull ./my-tenant -t my-tenant --draft\nPulled 42 documents from tenant my-tenant to ./my-tenant\n"
3133
+ "$ xano tenant list\nTenants in workspace 5:\n - My Tenant (my-tenant) [ok] - tier1\n - Staging (staging) [ok] - tier1\n",
3134
+ "$ xano tenant list -w 5 --output json"
3169
3135
  ],
3170
3136
  "flags": {
3171
3137
  "profile": {
@@ -3187,39 +3153,23 @@
3187
3153
  "allowNo": false,
3188
3154
  "type": "boolean"
3189
3155
  },
3190
- "draft": {
3191
- "description": "Include draft versions",
3192
- "name": "draft",
3193
- "required": false,
3194
- "allowNo": false,
3195
- "type": "boolean"
3196
- },
3197
- "env": {
3198
- "description": "Include environment variables",
3199
- "name": "env",
3200
- "required": false,
3201
- "allowNo": false,
3202
- "type": "boolean"
3203
- },
3204
- "records": {
3205
- "description": "Include records",
3206
- "name": "records",
3156
+ "output": {
3157
+ "char": "o",
3158
+ "description": "Output format",
3159
+ "name": "output",
3207
3160
  "required": false,
3208
- "allowNo": false,
3209
- "type": "boolean"
3210
- },
3211
- "tenant": {
3212
- "char": "t",
3213
- "description": "Tenant name to pull from",
3214
- "name": "tenant",
3215
- "required": true,
3161
+ "default": "summary",
3216
3162
  "hasDynamicHelp": false,
3217
3163
  "multiple": false,
3164
+ "options": [
3165
+ "summary",
3166
+ "json"
3167
+ ],
3218
3168
  "type": "option"
3219
3169
  },
3220
3170
  "workspace": {
3221
3171
  "char": "w",
3222
- "description": "Workspace ID (optional if set in profile)",
3172
+ "description": "Workspace ID (uses profile workspace if not provided)",
3223
3173
  "name": "workspace",
3224
3174
  "required": false,
3225
3175
  "hasDynamicHelp": false,
@@ -3229,7 +3179,7 @@
3229
3179
  },
3230
3180
  "hasDynamicHelp": false,
3231
3181
  "hiddenAliases": [],
3232
- "id": "tenant:pull",
3182
+ "id": "tenant:list",
3233
3183
  "pluginAlias": "@xano/cli",
3234
3184
  "pluginName": "@xano/cli",
3235
3185
  "pluginType": "core",
@@ -3240,7 +3190,7 @@
3240
3190
  "dist",
3241
3191
  "commands",
3242
3192
  "tenant",
3243
- "pull",
3193
+ "list",
3244
3194
  "index.js"
3245
3195
  ]
3246
3196
  },
@@ -3302,7 +3252,100 @@
3302
3252
  },
3303
3253
  "workspace": {
3304
3254
  "char": "w",
3305
- "description": "Workspace ID (uses profile workspace if not provided)",
3255
+ "description": "Workspace ID (uses profile workspace if not provided)",
3256
+ "name": "workspace",
3257
+ "required": false,
3258
+ "hasDynamicHelp": false,
3259
+ "multiple": false,
3260
+ "type": "option"
3261
+ }
3262
+ },
3263
+ "hasDynamicHelp": false,
3264
+ "hiddenAliases": [],
3265
+ "id": "tenant:impersonate",
3266
+ "pluginAlias": "@xano/cli",
3267
+ "pluginName": "@xano/cli",
3268
+ "pluginType": "core",
3269
+ "strict": true,
3270
+ "enableJsonFlag": false,
3271
+ "isESM": true,
3272
+ "relativePath": [
3273
+ "dist",
3274
+ "commands",
3275
+ "tenant",
3276
+ "impersonate",
3277
+ "index.js"
3278
+ ]
3279
+ },
3280
+ "tenant:pull": {
3281
+ "aliases": [],
3282
+ "args": {
3283
+ "directory": {
3284
+ "description": "Output directory for pulled documents",
3285
+ "name": "directory",
3286
+ "required": true
3287
+ }
3288
+ },
3289
+ "description": "Pull a tenant multidoc from the Xano Metadata API and split into individual files",
3290
+ "examples": [
3291
+ "$ xano tenant pull ./my-tenant -t my-tenant\nPulled 42 documents from tenant my-tenant to ./my-tenant\n",
3292
+ "$ xano tenant pull ./output -t my-tenant -w 40\nPulled 15 documents from tenant my-tenant to ./output\n",
3293
+ "$ xano tenant pull ./backup -t my-tenant --profile production --env --records\nPulled 58 documents from tenant my-tenant to ./backup\n",
3294
+ "$ xano tenant pull ./my-tenant -t my-tenant --draft\nPulled 42 documents from tenant my-tenant to ./my-tenant\n"
3295
+ ],
3296
+ "flags": {
3297
+ "profile": {
3298
+ "char": "p",
3299
+ "description": "Profile to use (uses default profile if not specified)",
3300
+ "env": "XANO_PROFILE",
3301
+ "name": "profile",
3302
+ "required": false,
3303
+ "hasDynamicHelp": false,
3304
+ "multiple": false,
3305
+ "type": "option"
3306
+ },
3307
+ "verbose": {
3308
+ "char": "v",
3309
+ "description": "Show detailed request/response information",
3310
+ "env": "XANO_VERBOSE",
3311
+ "name": "verbose",
3312
+ "required": false,
3313
+ "allowNo": false,
3314
+ "type": "boolean"
3315
+ },
3316
+ "draft": {
3317
+ "description": "Include draft versions",
3318
+ "name": "draft",
3319
+ "required": false,
3320
+ "allowNo": false,
3321
+ "type": "boolean"
3322
+ },
3323
+ "env": {
3324
+ "description": "Include environment variables",
3325
+ "name": "env",
3326
+ "required": false,
3327
+ "allowNo": false,
3328
+ "type": "boolean"
3329
+ },
3330
+ "records": {
3331
+ "description": "Include records",
3332
+ "name": "records",
3333
+ "required": false,
3334
+ "allowNo": false,
3335
+ "type": "boolean"
3336
+ },
3337
+ "tenant": {
3338
+ "char": "t",
3339
+ "description": "Tenant name to pull from",
3340
+ "name": "tenant",
3341
+ "required": true,
3342
+ "hasDynamicHelp": false,
3343
+ "multiple": false,
3344
+ "type": "option"
3345
+ },
3346
+ "workspace": {
3347
+ "char": "w",
3348
+ "description": "Workspace ID (optional if set in profile)",
3306
3349
  "name": "workspace",
3307
3350
  "required": false,
3308
3351
  "hasDynamicHelp": false,
@@ -3312,7 +3355,7 @@
3312
3355
  },
3313
3356
  "hasDynamicHelp": false,
3314
3357
  "hiddenAliases": [],
3315
- "id": "tenant:impersonate",
3358
+ "id": "tenant:pull",
3316
3359
  "pluginAlias": "@xano/cli",
3317
3360
  "pluginName": "@xano/cli",
3318
3361
  "pluginType": "core",
@@ -3323,7 +3366,7 @@
3323
3366
  "dist",
3324
3367
  "commands",
3325
3368
  "tenant",
3326
- "impersonate",
3369
+ "pull",
3327
3370
  "index.js"
3328
3371
  ]
3329
3372
  },
@@ -3422,19 +3465,14 @@
3422
3465
  "index.js"
3423
3466
  ]
3424
3467
  },
3425
- "unit_test:run": {
3468
+ "unit_test:list": {
3426
3469
  "aliases": [],
3427
- "args": {
3428
- "unit_test_id": {
3429
- "description": "ID of the unit test to run",
3430
- "name": "unit_test_id",
3431
- "required": true
3432
- }
3433
- },
3434
- "description": "Run a unit test",
3470
+ "args": {},
3471
+ "description": "List all unit tests in a workspace",
3435
3472
  "examples": [
3436
- "$ xano unit-test run abc-123\nRunning unit test abc-123...\nResult: PASS\n",
3437
- "$ xano unit-test run abc-123 -o json"
3473
+ "$ xano unit-test list\nUnit tests in workspace 5:\n - my-test (ID: abc-123) [function: math]\n - auth-check (ID: def-456) [query: /user/login]\n",
3474
+ "$ xano unit-test list -w 5 --output json",
3475
+ "$ xano unit-test list --obj-type function"
3438
3476
  ],
3439
3477
  "flags": {
3440
3478
  "profile": {
@@ -3456,6 +3494,28 @@
3456
3494
  "allowNo": false,
3457
3495
  "type": "boolean"
3458
3496
  },
3497
+ "branch": {
3498
+ "char": "b",
3499
+ "description": "Filter by branch name",
3500
+ "name": "branch",
3501
+ "required": false,
3502
+ "hasDynamicHelp": false,
3503
+ "multiple": false,
3504
+ "type": "option"
3505
+ },
3506
+ "obj-type": {
3507
+ "description": "Filter by object type",
3508
+ "name": "obj-type",
3509
+ "required": false,
3510
+ "hasDynamicHelp": false,
3511
+ "multiple": false,
3512
+ "options": [
3513
+ "function",
3514
+ "query",
3515
+ "middleware"
3516
+ ],
3517
+ "type": "option"
3518
+ },
3459
3519
  "output": {
3460
3520
  "char": "o",
3461
3521
  "description": "Output format",
@@ -3482,7 +3542,7 @@
3482
3542
  },
3483
3543
  "hasDynamicHelp": false,
3484
3544
  "hiddenAliases": [],
3485
- "id": "unit_test:run",
3545
+ "id": "unit_test:list",
3486
3546
  "pluginAlias": "@xano/cli",
3487
3547
  "pluginName": "@xano/cli",
3488
3548
  "pluginType": "core",
@@ -3493,17 +3553,23 @@
3493
3553
  "dist",
3494
3554
  "commands",
3495
3555
  "unit_test",
3496
- "run",
3556
+ "list",
3497
3557
  "index.js"
3498
3558
  ]
3499
3559
  },
3500
- "unit_test:run_all": {
3560
+ "unit_test:run": {
3501
3561
  "aliases": [],
3502
- "args": {},
3503
- "description": "Run all unit tests in a workspace",
3562
+ "args": {
3563
+ "unit_test_id": {
3564
+ "description": "ID of the unit test to run",
3565
+ "name": "unit_test_id",
3566
+ "required": true
3567
+ }
3568
+ },
3569
+ "description": "Run a unit test",
3504
3570
  "examples": [
3505
- "$ xano unit-test run-all\nRunning 5 unit tests...\n\nPASS my-test [function: math]\nPASS auth-check [query: /user/login]\nFAIL data-validation [function: validate]\n Error: assertion failed\n\nResults: 2 passed, 1 failed\n",
3506
- "$ xano unit-test run-all --obj-type function -o json"
3571
+ "$ xano unit-test run abc-123\nRunning unit test abc-123...\nResult: PASS\n",
3572
+ "$ xano unit-test run abc-123 -o json"
3507
3573
  ],
3508
3574
  "flags": {
3509
3575
  "profile": {
@@ -3525,28 +3591,6 @@
3525
3591
  "allowNo": false,
3526
3592
  "type": "boolean"
3527
3593
  },
3528
- "branch": {
3529
- "char": "b",
3530
- "description": "Filter by branch name",
3531
- "name": "branch",
3532
- "required": false,
3533
- "hasDynamicHelp": false,
3534
- "multiple": false,
3535
- "type": "option"
3536
- },
3537
- "obj-type": {
3538
- "description": "Filter by object type",
3539
- "name": "obj-type",
3540
- "required": false,
3541
- "hasDynamicHelp": false,
3542
- "multiple": false,
3543
- "options": [
3544
- "function",
3545
- "query",
3546
- "middleware"
3547
- ],
3548
- "type": "option"
3549
- },
3550
3594
  "output": {
3551
3595
  "char": "o",
3552
3596
  "description": "Output format",
@@ -3573,7 +3617,7 @@
3573
3617
  },
3574
3618
  "hasDynamicHelp": false,
3575
3619
  "hiddenAliases": [],
3576
- "id": "unit_test:run_all",
3620
+ "id": "unit_test:run",
3577
3621
  "pluginAlias": "@xano/cli",
3578
3622
  "pluginName": "@xano/cli",
3579
3623
  "pluginType": "core",
@@ -3584,7 +3628,7 @@
3584
3628
  "dist",
3585
3629
  "commands",
3586
3630
  "unit_test",
3587
- "run_all",
3631
+ "run",
3588
3632
  "index.js"
3589
3633
  ]
3590
3634
  },
@@ -3664,14 +3708,20 @@
3664
3708
  "index.js"
3665
3709
  ]
3666
3710
  },
3667
- "unit_test:list": {
3711
+ "workspace:delete": {
3668
3712
  "aliases": [],
3669
- "args": {},
3670
- "description": "List all unit tests in a workspace",
3713
+ "args": {
3714
+ "workspace_id": {
3715
+ "description": "Workspace ID to delete",
3716
+ "name": "workspace_id",
3717
+ "required": true
3718
+ }
3719
+ },
3720
+ "description": "Delete a workspace via the Xano Metadata API. Cannot delete workspaces with active tenants.",
3671
3721
  "examples": [
3672
- "$ xano unit-test list\nUnit tests in workspace 5:\n - my-test (ID: abc-123) [function: math]\n - auth-check (ID: def-456) [query: /user/login]\n",
3673
- "$ xano unit-test list -w 5 --output json",
3674
- "$ xano unit-test list --obj-type function"
3722
+ "$ xano workspace delete 123\nAre you sure you want to delete workspace 123? This action cannot be undone. (y/N) y\nDeleted workspace 123\n",
3723
+ "$ xano workspace delete 123 --force\nDeleted workspace 123\n",
3724
+ "$ xano workspace delete 123 -f -o json\n{\n \"deleted\": true,\n \"workspace_id\": 123\n}\n"
3675
3725
  ],
3676
3726
  "flags": {
3677
3727
  "profile": {
@@ -3693,27 +3743,13 @@
3693
3743
  "allowNo": false,
3694
3744
  "type": "boolean"
3695
3745
  },
3696
- "branch": {
3697
- "char": "b",
3698
- "description": "Filter by branch name",
3699
- "name": "branch",
3700
- "required": false,
3701
- "hasDynamicHelp": false,
3702
- "multiple": false,
3703
- "type": "option"
3704
- },
3705
- "obj-type": {
3706
- "description": "Filter by object type",
3707
- "name": "obj-type",
3746
+ "force": {
3747
+ "char": "f",
3748
+ "description": "Skip confirmation prompt",
3749
+ "name": "force",
3708
3750
  "required": false,
3709
- "hasDynamicHelp": false,
3710
- "multiple": false,
3711
- "options": [
3712
- "function",
3713
- "query",
3714
- "middleware"
3715
- ],
3716
- "type": "option"
3751
+ "allowNo": false,
3752
+ "type": "boolean"
3717
3753
  },
3718
3754
  "output": {
3719
3755
  "char": "o",
@@ -3728,20 +3764,11 @@
3728
3764
  "json"
3729
3765
  ],
3730
3766
  "type": "option"
3731
- },
3732
- "workspace": {
3733
- "char": "w",
3734
- "description": "Workspace ID (uses profile workspace if not provided)",
3735
- "name": "workspace",
3736
- "required": false,
3737
- "hasDynamicHelp": false,
3738
- "multiple": false,
3739
- "type": "option"
3740
3767
  }
3741
3768
  },
3742
3769
  "hasDynamicHelp": false,
3743
3770
  "hiddenAliases": [],
3744
- "id": "unit_test:list",
3771
+ "id": "workspace:delete",
3745
3772
  "pluginAlias": "@xano/cli",
3746
3773
  "pluginName": "@xano/cli",
3747
3774
  "pluginType": "core",
@@ -3751,18 +3778,18 @@
3751
3778
  "relativePath": [
3752
3779
  "dist",
3753
3780
  "commands",
3754
- "unit_test",
3755
- "list",
3781
+ "workspace",
3782
+ "delete",
3756
3783
  "index.js"
3757
3784
  ]
3758
3785
  },
3759
- "tenant:list": {
3786
+ "unit_test:run_all": {
3760
3787
  "aliases": [],
3761
3788
  "args": {},
3762
- "description": "List all tenants in a workspace",
3789
+ "description": "Run all unit tests in a workspace",
3763
3790
  "examples": [
3764
- "$ xano tenant list\nTenants in workspace 5:\n - My Tenant (my-tenant) [ok] - tier1\n - Staging (staging) [ok] - tier1\n",
3765
- "$ xano tenant list -w 5 --output json"
3791
+ "$ xano unit-test run-all\nRunning 5 unit tests...\n\nPASS my-test [function: math]\nPASS auth-check [query: /user/login]\nFAIL data-validation [function: validate]\n Error: assertion failed\n\nResults: 2 passed, 1 failed\n",
3792
+ "$ xano unit-test run-all --obj-type function -o json"
3766
3793
  ],
3767
3794
  "flags": {
3768
3795
  "profile": {
@@ -3784,6 +3811,28 @@
3784
3811
  "allowNo": false,
3785
3812
  "type": "boolean"
3786
3813
  },
3814
+ "branch": {
3815
+ "char": "b",
3816
+ "description": "Filter by branch name",
3817
+ "name": "branch",
3818
+ "required": false,
3819
+ "hasDynamicHelp": false,
3820
+ "multiple": false,
3821
+ "type": "option"
3822
+ },
3823
+ "obj-type": {
3824
+ "description": "Filter by object type",
3825
+ "name": "obj-type",
3826
+ "required": false,
3827
+ "hasDynamicHelp": false,
3828
+ "multiple": false,
3829
+ "options": [
3830
+ "function",
3831
+ "query",
3832
+ "middleware"
3833
+ ],
3834
+ "type": "option"
3835
+ },
3787
3836
  "output": {
3788
3837
  "char": "o",
3789
3838
  "description": "Output format",
@@ -3810,7 +3859,7 @@
3810
3859
  },
3811
3860
  "hasDynamicHelp": false,
3812
3861
  "hiddenAliases": [],
3813
- "id": "tenant:list",
3862
+ "id": "unit_test:run_all",
3814
3863
  "pluginAlias": "@xano/cli",
3815
3864
  "pluginName": "@xano/cli",
3816
3865
  "pluginType": "core",
@@ -3820,8 +3869,8 @@
3820
3869
  "relativePath": [
3821
3870
  "dist",
3822
3871
  "commands",
3823
- "tenant",
3824
- "list",
3872
+ "unit_test",
3873
+ "run_all",
3825
3874
  "index.js"
3826
3875
  ]
3827
3876
  },
@@ -3904,88 +3953,13 @@
3904
3953
  "description": "Enable or disable swagger documentation",
3905
3954
  "name": "swagger",
3906
3955
  "required": false,
3907
- "allowNo": true,
3908
- "type": "boolean"
3909
- }
3910
- },
3911
- "hasDynamicHelp": false,
3912
- "hiddenAliases": [],
3913
- "id": "workspace:edit",
3914
- "pluginAlias": "@xano/cli",
3915
- "pluginName": "@xano/cli",
3916
- "pluginType": "core",
3917
- "strict": true,
3918
- "enableJsonFlag": false,
3919
- "isESM": true,
3920
- "relativePath": [
3921
- "dist",
3922
- "commands",
3923
- "workspace",
3924
- "edit",
3925
- "index.js"
3926
- ]
3927
- },
3928
- "workspace:delete": {
3929
- "aliases": [],
3930
- "args": {
3931
- "workspace_id": {
3932
- "description": "Workspace ID to delete",
3933
- "name": "workspace_id",
3934
- "required": true
3935
- }
3936
- },
3937
- "description": "Delete a workspace via the Xano Metadata API. Cannot delete workspaces with active tenants.",
3938
- "examples": [
3939
- "$ xano workspace delete 123\nAre you sure you want to delete workspace 123? This action cannot be undone. (y/N) y\nDeleted workspace 123\n",
3940
- "$ xano workspace delete 123 --force\nDeleted workspace 123\n",
3941
- "$ xano workspace delete 123 -f -o json\n{\n \"deleted\": true,\n \"workspace_id\": 123\n}\n"
3942
- ],
3943
- "flags": {
3944
- "profile": {
3945
- "char": "p",
3946
- "description": "Profile to use (uses default profile if not specified)",
3947
- "env": "XANO_PROFILE",
3948
- "name": "profile",
3949
- "required": false,
3950
- "hasDynamicHelp": false,
3951
- "multiple": false,
3952
- "type": "option"
3953
- },
3954
- "verbose": {
3955
- "char": "v",
3956
- "description": "Show detailed request/response information",
3957
- "env": "XANO_VERBOSE",
3958
- "name": "verbose",
3959
- "required": false,
3960
- "allowNo": false,
3961
- "type": "boolean"
3962
- },
3963
- "force": {
3964
- "char": "f",
3965
- "description": "Skip confirmation prompt",
3966
- "name": "force",
3967
- "required": false,
3968
- "allowNo": false,
3969
- "type": "boolean"
3970
- },
3971
- "output": {
3972
- "char": "o",
3973
- "description": "Output format",
3974
- "name": "output",
3975
- "required": false,
3976
- "default": "summary",
3977
- "hasDynamicHelp": false,
3978
- "multiple": false,
3979
- "options": [
3980
- "summary",
3981
- "json"
3982
- ],
3983
- "type": "option"
3956
+ "allowNo": true,
3957
+ "type": "boolean"
3984
3958
  }
3985
3959
  },
3986
3960
  "hasDynamicHelp": false,
3987
3961
  "hiddenAliases": [],
3988
- "id": "workspace:delete",
3962
+ "id": "workspace:edit",
3989
3963
  "pluginAlias": "@xano/cli",
3990
3964
  "pluginName": "@xano/cli",
3991
3965
  "pluginType": "core",
@@ -3996,7 +3970,7 @@
3996
3970
  "dist",
3997
3971
  "commands",
3998
3972
  "workspace",
3999
- "delete",
3973
+ "edit",
4000
3974
  "index.js"
4001
3975
  ]
4002
3976
  },
@@ -4067,19 +4041,15 @@
4067
4041
  "index.js"
4068
4042
  ]
4069
4043
  },
4070
- "workflow_test:delete": {
4044
+ "workspace:list": {
4071
4045
  "aliases": [],
4072
- "args": {
4073
- "workflow_test_id": {
4074
- "description": "ID of the workflow test to delete",
4075
- "name": "workflow_test_id",
4076
- "required": true
4077
- }
4078
- },
4079
- "description": "Delete a workflow test",
4046
+ "args": {},
4047
+ "description": "List all workspaces from the Xano Metadata API",
4080
4048
  "examples": [
4081
- "$ xano workflow-test delete 1\nAre you sure you want to delete workflow test 1? (y/N) y\nDeleted workflow test 1\n",
4082
- "$ xano workflow-test delete 1 --force"
4049
+ "$ xano workspace:list\nAvailable workspaces:\n - workspace-1 (ID: 1)\n - workspace-2 (ID: 2)\n - workspace-3 (ID: 3)\n",
4050
+ "$ xano workspace:list --profile production\nAvailable workspaces:\n - my-app (ID: 1)\n - staging-env (ID: 2)\n",
4051
+ "$ xano workspace:list --output json\n{\n \"workspaces\": [\n {\n \"id\": 1,\n \"name\": \"workspace-1\"\n },\n {\n \"id\": 2,\n \"name\": \"workspace-2\"\n }\n ]\n}\n",
4052
+ "$ xano workspace:list -p staging -o json\n{\n \"workspaces\": [\n {\n \"id\": 1,\n \"name\": \"my-app\"\n }\n ]\n}\n"
4083
4053
  ],
4084
4054
  "flags": {
4085
4055
  "profile": {
@@ -4101,14 +4071,6 @@
4101
4071
  "allowNo": false,
4102
4072
  "type": "boolean"
4103
4073
  },
4104
- "force": {
4105
- "char": "f",
4106
- "description": "Skip confirmation prompt",
4107
- "name": "force",
4108
- "required": false,
4109
- "allowNo": false,
4110
- "type": "boolean"
4111
- },
4112
4074
  "output": {
4113
4075
  "char": "o",
4114
4076
  "description": "Output format",
@@ -4122,20 +4084,11 @@
4122
4084
  "json"
4123
4085
  ],
4124
4086
  "type": "option"
4125
- },
4126
- "workspace": {
4127
- "char": "w",
4128
- "description": "Workspace ID (uses profile workspace if not provided)",
4129
- "name": "workspace",
4130
- "required": false,
4131
- "hasDynamicHelp": false,
4132
- "multiple": false,
4133
- "type": "option"
4134
4087
  }
4135
4088
  },
4136
4089
  "hasDynamicHelp": false,
4137
4090
  "hiddenAliases": [],
4138
- "id": "workflow_test:delete",
4091
+ "id": "workspace:list",
4139
4092
  "pluginAlias": "@xano/cli",
4140
4093
  "pluginName": "@xano/cli",
4141
4094
  "pluginType": "core",
@@ -4145,25 +4098,27 @@
4145
4098
  "relativePath": [
4146
4099
  "dist",
4147
4100
  "commands",
4148
- "workflow_test",
4149
- "delete",
4101
+ "workspace",
4102
+ "list",
4150
4103
  "index.js"
4151
4104
  ]
4152
4105
  },
4153
- "workflow_test:get": {
4106
+ "workspace:pull": {
4154
4107
  "aliases": [],
4155
4108
  "args": {
4156
- "workflow_test_id": {
4157
- "description": "ID of the workflow test",
4158
- "name": "workflow_test_id",
4109
+ "directory": {
4110
+ "description": "Output directory for pulled documents",
4111
+ "name": "directory",
4159
4112
  "required": true
4160
4113
  }
4161
4114
  },
4162
- "description": "Get a specific workflow test",
4115
+ "description": "Pull a workspace multidoc from the Xano Metadata API and split into individual files",
4163
4116
  "examples": [
4164
- "$ xano workflow-test get 1\nWorkflow Test: my-test (ID: 1)\n Description: Validates auth endpoints\n Branch: main\n",
4165
- "$ xano workflow-test get 1 -o xs",
4166
- "$ xano workflow-test get 1 -o json"
4117
+ "$ xano workspace pull ./my-workspace\nPulled 42 documents to ./my-workspace\n",
4118
+ "$ xano workspace pull ./output -w 40\nPulled 15 documents to ./output\n",
4119
+ "$ xano workspace pull ./backup --profile production --env --records\nPulled 58 documents to ./backup\n",
4120
+ "$ xano workspace pull ./my-workspace --draft\nPulled 42 documents to ./my-workspace\n",
4121
+ "$ xano workspace pull ./my-workspace -b dev\nPulled 42 documents to ./my-workspace\n"
4167
4122
  ],
4168
4123
  "flags": {
4169
4124
  "profile": {
@@ -4185,31 +4140,39 @@
4185
4140
  "allowNo": false,
4186
4141
  "type": "boolean"
4187
4142
  },
4188
- "include-draft": {
4189
- "description": "Include draft version",
4190
- "name": "include-draft",
4143
+ "branch": {
4144
+ "char": "b",
4145
+ "description": "Branch name (optional if set in profile, defaults to live)",
4146
+ "name": "branch",
4147
+ "required": false,
4148
+ "hasDynamicHelp": false,
4149
+ "multiple": false,
4150
+ "type": "option"
4151
+ },
4152
+ "env": {
4153
+ "description": "Include environment variables",
4154
+ "name": "env",
4191
4155
  "required": false,
4192
4156
  "allowNo": false,
4193
4157
  "type": "boolean"
4194
4158
  },
4195
- "output": {
4196
- "char": "o",
4197
- "description": "Output format",
4198
- "name": "output",
4159
+ "draft": {
4160
+ "description": "Include draft versions",
4161
+ "name": "draft",
4199
4162
  "required": false,
4200
- "default": "summary",
4201
- "hasDynamicHelp": false,
4202
- "multiple": false,
4203
- "options": [
4204
- "summary",
4205
- "json",
4206
- "xs"
4207
- ],
4208
- "type": "option"
4163
+ "allowNo": false,
4164
+ "type": "boolean"
4165
+ },
4166
+ "records": {
4167
+ "description": "Include records",
4168
+ "name": "records",
4169
+ "required": false,
4170
+ "allowNo": false,
4171
+ "type": "boolean"
4209
4172
  },
4210
4173
  "workspace": {
4211
4174
  "char": "w",
4212
- "description": "Workspace ID (uses profile workspace if not provided)",
4175
+ "description": "Workspace ID (optional if set in profile)",
4213
4176
  "name": "workspace",
4214
4177
  "required": false,
4215
4178
  "hasDynamicHelp": false,
@@ -4219,7 +4182,7 @@
4219
4182
  },
4220
4183
  "hasDynamicHelp": false,
4221
4184
  "hiddenAliases": [],
4222
- "id": "workflow_test:get",
4185
+ "id": "workspace:pull",
4223
4186
  "pluginAlias": "@xano/cli",
4224
4187
  "pluginName": "@xano/cli",
4225
4188
  "pluginType": "core",
@@ -4229,19 +4192,33 @@
4229
4192
  "relativePath": [
4230
4193
  "dist",
4231
4194
  "commands",
4232
- "workflow_test",
4233
- "get",
4195
+ "workspace",
4196
+ "pull",
4234
4197
  "index.js"
4235
4198
  ]
4236
4199
  },
4237
- "workflow_test:list": {
4200
+ "workspace:push": {
4238
4201
  "aliases": [],
4239
- "args": {},
4240
- "description": "List all workflow tests in a workspace",
4202
+ "args": {
4203
+ "directory": {
4204
+ "description": "Directory containing documents to push (as produced by workspace pull)",
4205
+ "name": "directory",
4206
+ "required": true
4207
+ }
4208
+ },
4209
+ "description": "Push local documents to a workspace via the Xano Metadata API multidoc endpoint",
4241
4210
  "examples": [
4242
- "$ xano workflow-test list\nWorkflow tests in workspace 5:\n - my-test (ID: 1)\n - auth-flow (ID: 2) - Validates auth endpoints\n",
4243
- "$ xano workflow-test list -w 5 --output json",
4244
- "$ xano workflow-test list --branch main"
4211
+ "$ xano workspace push ./my-workspace\nPushed 42 documents from ./my-workspace\n",
4212
+ "$ xano workspace push ./output -w 40\nPushed 15 documents from ./output\n",
4213
+ "$ xano workspace push ./backup --profile production\nPushed 58 documents from ./backup\n",
4214
+ "$ xano workspace push ./my-workspace -b dev\nPushed 42 documents from ./my-workspace\n",
4215
+ "$ xano workspace push ./my-functions --partial\nPush some files without a workspace block (implies --no-delete)\n",
4216
+ "$ xano workspace push ./my-workspace --no-delete\nPatch files without deleting existing workspace objects\n",
4217
+ "$ xano workspace push ./my-workspace --no-records\nPush schema only, skip importing table records\n",
4218
+ "$ xano workspace push ./my-workspace --no-env\nPush without overwriting environment variables\n",
4219
+ "$ xano workspace push ./my-workspace --truncate\nTruncate all table records before importing\n",
4220
+ "$ xano workspace push ./my-workspace --truncate --no-records\nTruncate all table records without importing new ones\n",
4221
+ "$ xano workspace push ./my-workspace --no-records --no-env\nPush schema only, skip records and environment variables\n"
4245
4222
  ],
4246
4223
  "flags": {
4247
4224
  "profile": {
@@ -4265,30 +4242,58 @@
4265
4242
  },
4266
4243
  "branch": {
4267
4244
  "char": "b",
4268
- "description": "Filter by branch name",
4245
+ "description": "Branch name (optional if set in profile, defaults to live)",
4269
4246
  "name": "branch",
4270
4247
  "required": false,
4271
4248
  "hasDynamicHelp": false,
4272
4249
  "multiple": false,
4273
4250
  "type": "option"
4274
4251
  },
4275
- "output": {
4276
- "char": "o",
4277
- "description": "Output format",
4278
- "name": "output",
4252
+ "delete": {
4253
+ "description": "Delete workspace objects not included in the push (default: false)",
4254
+ "name": "delete",
4279
4255
  "required": false,
4280
- "default": "summary",
4281
- "hasDynamicHelp": false,
4282
- "multiple": false,
4283
- "options": [
4284
- "summary",
4285
- "json"
4286
- ],
4287
- "type": "option"
4256
+ "allowNo": true,
4257
+ "type": "boolean"
4258
+ },
4259
+ "env": {
4260
+ "description": "Include environment variables in import (default: true, use --no-env to exclude)",
4261
+ "name": "env",
4262
+ "required": false,
4263
+ "allowNo": true,
4264
+ "type": "boolean"
4265
+ },
4266
+ "partial": {
4267
+ "description": "Partial push — workspace block is not required, existing objects are kept (implies --no-delete)",
4268
+ "name": "partial",
4269
+ "required": false,
4270
+ "allowNo": false,
4271
+ "type": "boolean"
4272
+ },
4273
+ "records": {
4274
+ "description": "Include records in import (default: true, use --no-records to exclude)",
4275
+ "name": "records",
4276
+ "required": false,
4277
+ "allowNo": true,
4278
+ "type": "boolean"
4279
+ },
4280
+ "sync-guids": {
4281
+ "description": "Write server-assigned GUIDs back to local files (use --no-sync-guids to skip)",
4282
+ "name": "sync-guids",
4283
+ "required": false,
4284
+ "allowNo": true,
4285
+ "type": "boolean"
4286
+ },
4287
+ "truncate": {
4288
+ "description": "Truncate all table records before importing",
4289
+ "name": "truncate",
4290
+ "required": false,
4291
+ "allowNo": false,
4292
+ "type": "boolean"
4288
4293
  },
4289
4294
  "workspace": {
4290
4295
  "char": "w",
4291
- "description": "Workspace ID (uses profile workspace if not provided)",
4296
+ "description": "Workspace ID (optional if set in profile)",
4292
4297
  "name": "workspace",
4293
4298
  "required": false,
4294
4299
  "hasDynamicHelp": false,
@@ -4298,7 +4303,7 @@
4298
4303
  },
4299
4304
  "hasDynamicHelp": false,
4300
4305
  "hiddenAliases": [],
4301
- "id": "workflow_test:list",
4306
+ "id": "workspace:push",
4302
4307
  "pluginAlias": "@xano/cli",
4303
4308
  "pluginName": "@xano/cli",
4304
4309
  "pluginType": "core",
@@ -4308,24 +4313,24 @@
4308
4313
  "relativePath": [
4309
4314
  "dist",
4310
4315
  "commands",
4311
- "workflow_test",
4312
- "list",
4316
+ "workspace",
4317
+ "push",
4313
4318
  "index.js"
4314
4319
  ]
4315
4320
  },
4316
- "workflow_test:run": {
4321
+ "workflow_test:delete": {
4317
4322
  "aliases": [],
4318
4323
  "args": {
4319
4324
  "workflow_test_id": {
4320
- "description": "ID of the workflow test to run",
4325
+ "description": "ID of the workflow test to delete",
4321
4326
  "name": "workflow_test_id",
4322
4327
  "required": true
4323
4328
  }
4324
4329
  },
4325
- "description": "Run a workflow test",
4330
+ "description": "Delete a workflow test",
4326
4331
  "examples": [
4327
- "$ xano workflow-test run 1\nRunning workflow test 1...\nResult: PASS (1.234s)\n",
4328
- "$ xano workflow-test run 1 -o json"
4332
+ "$ xano workflow-test delete 1\nAre you sure you want to delete workflow test 1? (y/N) y\nDeleted workflow test 1\n",
4333
+ "$ xano workflow-test delete 1 --force"
4329
4334
  ],
4330
4335
  "flags": {
4331
4336
  "profile": {
@@ -4347,6 +4352,14 @@
4347
4352
  "allowNo": false,
4348
4353
  "type": "boolean"
4349
4354
  },
4355
+ "force": {
4356
+ "char": "f",
4357
+ "description": "Skip confirmation prompt",
4358
+ "name": "force",
4359
+ "required": false,
4360
+ "allowNo": false,
4361
+ "type": "boolean"
4362
+ },
4350
4363
  "output": {
4351
4364
  "char": "o",
4352
4365
  "description": "Output format",
@@ -4373,7 +4386,7 @@
4373
4386
  },
4374
4387
  "hasDynamicHelp": false,
4375
4388
  "hiddenAliases": [],
4376
- "id": "workflow_test:run",
4389
+ "id": "workflow_test:delete",
4377
4390
  "pluginAlias": "@xano/cli",
4378
4391
  "pluginName": "@xano/cli",
4379
4392
  "pluginType": "core",
@@ -4384,19 +4397,24 @@
4384
4397
  "dist",
4385
4398
  "commands",
4386
4399
  "workflow_test",
4387
- "run",
4400
+ "delete",
4388
4401
  "index.js"
4389
4402
  ]
4390
4403
  },
4391
- "workspace:list": {
4404
+ "workflow_test:get": {
4392
4405
  "aliases": [],
4393
- "args": {},
4394
- "description": "List all workspaces from the Xano Metadata API",
4406
+ "args": {
4407
+ "workflow_test_id": {
4408
+ "description": "ID of the workflow test",
4409
+ "name": "workflow_test_id",
4410
+ "required": true
4411
+ }
4412
+ },
4413
+ "description": "Get a specific workflow test",
4395
4414
  "examples": [
4396
- "$ xano workspace:list\nAvailable workspaces:\n - workspace-1 (ID: 1)\n - workspace-2 (ID: 2)\n - workspace-3 (ID: 3)\n",
4397
- "$ xano workspace:list --profile production\nAvailable workspaces:\n - my-app (ID: 1)\n - staging-env (ID: 2)\n",
4398
- "$ xano workspace:list --output json\n{\n \"workspaces\": [\n {\n \"id\": 1,\n \"name\": \"workspace-1\"\n },\n {\n \"id\": 2,\n \"name\": \"workspace-2\"\n }\n ]\n}\n",
4399
- "$ xano workspace:list -p staging -o json\n{\n \"workspaces\": [\n {\n \"id\": 1,\n \"name\": \"my-app\"\n }\n ]\n}\n"
4415
+ "$ xano workflow-test get 1\nWorkflow Test: my-test (ID: 1)\n Description: Validates auth endpoints\n Branch: main\n",
4416
+ "$ xano workflow-test get 1 -o xs",
4417
+ "$ xano workflow-test get 1 -o json"
4400
4418
  ],
4401
4419
  "flags": {
4402
4420
  "profile": {
@@ -4418,6 +4436,13 @@
4418
4436
  "allowNo": false,
4419
4437
  "type": "boolean"
4420
4438
  },
4439
+ "include-draft": {
4440
+ "description": "Include draft version",
4441
+ "name": "include-draft",
4442
+ "required": false,
4443
+ "allowNo": false,
4444
+ "type": "boolean"
4445
+ },
4421
4446
  "output": {
4422
4447
  "char": "o",
4423
4448
  "description": "Output format",
@@ -4428,14 +4453,24 @@
4428
4453
  "multiple": false,
4429
4454
  "options": [
4430
4455
  "summary",
4431
- "json"
4456
+ "json",
4457
+ "xs"
4432
4458
  ],
4433
4459
  "type": "option"
4460
+ },
4461
+ "workspace": {
4462
+ "char": "w",
4463
+ "description": "Workspace ID (uses profile workspace if not provided)",
4464
+ "name": "workspace",
4465
+ "required": false,
4466
+ "hasDynamicHelp": false,
4467
+ "multiple": false,
4468
+ "type": "option"
4434
4469
  }
4435
4470
  },
4436
4471
  "hasDynamicHelp": false,
4437
4472
  "hiddenAliases": [],
4438
- "id": "workspace:list",
4473
+ "id": "workflow_test:get",
4439
4474
  "pluginAlias": "@xano/cli",
4440
4475
  "pluginName": "@xano/cli",
4441
4476
  "pluginType": "core",
@@ -4445,27 +4480,24 @@
4445
4480
  "relativePath": [
4446
4481
  "dist",
4447
4482
  "commands",
4448
- "workspace",
4449
- "list",
4483
+ "workflow_test",
4484
+ "get",
4450
4485
  "index.js"
4451
4486
  ]
4452
4487
  },
4453
- "workspace:pull": {
4488
+ "workflow_test:run": {
4454
4489
  "aliases": [],
4455
4490
  "args": {
4456
- "directory": {
4457
- "description": "Output directory for pulled documents",
4458
- "name": "directory",
4491
+ "workflow_test_id": {
4492
+ "description": "ID of the workflow test to run",
4493
+ "name": "workflow_test_id",
4459
4494
  "required": true
4460
4495
  }
4461
4496
  },
4462
- "description": "Pull a workspace multidoc from the Xano Metadata API and split into individual files",
4497
+ "description": "Run a workflow test",
4463
4498
  "examples": [
4464
- "$ xano workspace pull ./my-workspace\nPulled 42 documents to ./my-workspace\n",
4465
- "$ xano workspace pull ./output -w 40\nPulled 15 documents to ./output\n",
4466
- "$ xano workspace pull ./backup --profile production --env --records\nPulled 58 documents to ./backup\n",
4467
- "$ xano workspace pull ./my-workspace --draft\nPulled 42 documents to ./my-workspace\n",
4468
- "$ xano workspace pull ./my-workspace -b dev\nPulled 42 documents to ./my-workspace\n"
4499
+ "$ xano workflow-test run 1\nRunning workflow test 1...\nResult: PASS (1.234s)\n",
4500
+ "$ xano workflow-test run 1 -o json"
4469
4501
  ],
4470
4502
  "flags": {
4471
4503
  "profile": {
@@ -4487,39 +4519,23 @@
4487
4519
  "allowNo": false,
4488
4520
  "type": "boolean"
4489
4521
  },
4490
- "branch": {
4491
- "char": "b",
4492
- "description": "Branch name (optional if set in profile, defaults to live)",
4493
- "name": "branch",
4522
+ "output": {
4523
+ "char": "o",
4524
+ "description": "Output format",
4525
+ "name": "output",
4494
4526
  "required": false,
4527
+ "default": "summary",
4495
4528
  "hasDynamicHelp": false,
4496
4529
  "multiple": false,
4530
+ "options": [
4531
+ "summary",
4532
+ "json"
4533
+ ],
4497
4534
  "type": "option"
4498
4535
  },
4499
- "env": {
4500
- "description": "Include environment variables",
4501
- "name": "env",
4502
- "required": false,
4503
- "allowNo": false,
4504
- "type": "boolean"
4505
- },
4506
- "draft": {
4507
- "description": "Include draft versions",
4508
- "name": "draft",
4509
- "required": false,
4510
- "allowNo": false,
4511
- "type": "boolean"
4512
- },
4513
- "records": {
4514
- "description": "Include records",
4515
- "name": "records",
4516
- "required": false,
4517
- "allowNo": false,
4518
- "type": "boolean"
4519
- },
4520
4536
  "workspace": {
4521
4537
  "char": "w",
4522
- "description": "Workspace ID (optional if set in profile)",
4538
+ "description": "Workspace ID (uses profile workspace if not provided)",
4523
4539
  "name": "workspace",
4524
4540
  "required": false,
4525
4541
  "hasDynamicHelp": false,
@@ -4529,7 +4545,7 @@
4529
4545
  },
4530
4546
  "hasDynamicHelp": false,
4531
4547
  "hiddenAliases": [],
4532
- "id": "workspace:pull",
4548
+ "id": "workflow_test:run",
4533
4549
  "pluginAlias": "@xano/cli",
4534
4550
  "pluginName": "@xano/cli",
4535
4551
  "pluginType": "core",
@@ -4539,33 +4555,19 @@
4539
4555
  "relativePath": [
4540
4556
  "dist",
4541
4557
  "commands",
4542
- "workspace",
4543
- "pull",
4558
+ "workflow_test",
4559
+ "run",
4544
4560
  "index.js"
4545
4561
  ]
4546
4562
  },
4547
- "workspace:push": {
4563
+ "workflow_test:list": {
4548
4564
  "aliases": [],
4549
- "args": {
4550
- "directory": {
4551
- "description": "Directory containing documents to push (as produced by workspace pull)",
4552
- "name": "directory",
4553
- "required": true
4554
- }
4555
- },
4556
- "description": "Push local documents to a workspace via the Xano Metadata API multidoc endpoint",
4565
+ "args": {},
4566
+ "description": "List all workflow tests in a workspace",
4557
4567
  "examples": [
4558
- "$ xano workspace push ./my-workspace\nPushed 42 documents from ./my-workspace\n",
4559
- "$ xano workspace push ./output -w 40\nPushed 15 documents from ./output\n",
4560
- "$ xano workspace push ./backup --profile production\nPushed 58 documents from ./backup\n",
4561
- "$ xano workspace push ./my-workspace -b dev\nPushed 42 documents from ./my-workspace\n",
4562
- "$ xano workspace push ./my-functions --partial\nPush some files without a workspace block (implies --no-delete)\n",
4563
- "$ xano workspace push ./my-workspace --no-delete\nPatch files without deleting existing workspace objects\n",
4564
- "$ xano workspace push ./my-workspace --no-records\nPush schema only, skip importing table records\n",
4565
- "$ xano workspace push ./my-workspace --no-env\nPush without overwriting environment variables\n",
4566
- "$ xano workspace push ./my-workspace --truncate\nTruncate all table records before importing\n",
4567
- "$ xano workspace push ./my-workspace --truncate --no-records\nTruncate all table records without importing new ones\n",
4568
- "$ xano workspace push ./my-workspace --no-records --no-env\nPush schema only, skip records and environment variables\n"
4568
+ "$ xano workflow-test list\nWorkflow tests in workspace 5:\n - my-test (ID: 1)\n - auth-flow (ID: 2) - Validates auth endpoints\n",
4569
+ "$ xano workflow-test list -w 5 --output json",
4570
+ "$ xano workflow-test list --branch main"
4569
4571
  ],
4570
4572
  "flags": {
4571
4573
  "profile": {
@@ -4589,58 +4591,30 @@
4589
4591
  },
4590
4592
  "branch": {
4591
4593
  "char": "b",
4592
- "description": "Branch name (optional if set in profile, defaults to live)",
4594
+ "description": "Filter by branch name",
4593
4595
  "name": "branch",
4594
4596
  "required": false,
4595
4597
  "hasDynamicHelp": false,
4596
4598
  "multiple": false,
4597
4599
  "type": "option"
4598
4600
  },
4599
- "delete": {
4600
- "description": "Delete workspace objects not included in the push (default: false)",
4601
- "name": "delete",
4602
- "required": false,
4603
- "allowNo": true,
4604
- "type": "boolean"
4605
- },
4606
- "env": {
4607
- "description": "Include environment variables in import (default: true, use --no-env to exclude)",
4608
- "name": "env",
4609
- "required": false,
4610
- "allowNo": true,
4611
- "type": "boolean"
4612
- },
4613
- "partial": {
4614
- "description": "Partial push — workspace block is not required, existing objects are kept (implies --no-delete)",
4615
- "name": "partial",
4616
- "required": false,
4617
- "allowNo": false,
4618
- "type": "boolean"
4619
- },
4620
- "records": {
4621
- "description": "Include records in import (default: true, use --no-records to exclude)",
4622
- "name": "records",
4623
- "required": false,
4624
- "allowNo": true,
4625
- "type": "boolean"
4626
- },
4627
- "sync-guids": {
4628
- "description": "Write server-assigned GUIDs back to local files (use --no-sync-guids to skip)",
4629
- "name": "sync-guids",
4630
- "required": false,
4631
- "allowNo": true,
4632
- "type": "boolean"
4633
- },
4634
- "truncate": {
4635
- "description": "Truncate all table records before importing",
4636
- "name": "truncate",
4601
+ "output": {
4602
+ "char": "o",
4603
+ "description": "Output format",
4604
+ "name": "output",
4637
4605
  "required": false,
4638
- "allowNo": false,
4639
- "type": "boolean"
4606
+ "default": "summary",
4607
+ "hasDynamicHelp": false,
4608
+ "multiple": false,
4609
+ "options": [
4610
+ "summary",
4611
+ "json"
4612
+ ],
4613
+ "type": "option"
4640
4614
  },
4641
4615
  "workspace": {
4642
4616
  "char": "w",
4643
- "description": "Workspace ID (optional if set in profile)",
4617
+ "description": "Workspace ID (uses profile workspace if not provided)",
4644
4618
  "name": "workspace",
4645
4619
  "required": false,
4646
4620
  "hasDynamicHelp": false,
@@ -4650,7 +4624,7 @@
4650
4624
  },
4651
4625
  "hasDynamicHelp": false,
4652
4626
  "hiddenAliases": [],
4653
- "id": "workspace:push",
4627
+ "id": "workflow_test:list",
4654
4628
  "pluginAlias": "@xano/cli",
4655
4629
  "pluginName": "@xano/cli",
4656
4630
  "pluginType": "core",
@@ -4660,8 +4634,8 @@
4660
4634
  "relativePath": [
4661
4635
  "dist",
4662
4636
  "commands",
4663
- "workspace",
4664
- "push",
4637
+ "workflow_test",
4638
+ "list",
4665
4639
  "index.js"
4666
4640
  ]
4667
4641
  },
@@ -5148,25 +5122,110 @@
5148
5122
  "type": "boolean"
5149
5123
  },
5150
5124
  "backup_id": {
5151
- "description": "Backup ID to delete",
5125
+ "description": "Backup ID to delete",
5126
+ "name": "backup_id",
5127
+ "required": true,
5128
+ "hasDynamicHelp": false,
5129
+ "multiple": false,
5130
+ "type": "option"
5131
+ },
5132
+ "force": {
5133
+ "char": "f",
5134
+ "description": "Skip confirmation prompt",
5135
+ "name": "force",
5136
+ "required": false,
5137
+ "allowNo": false,
5138
+ "type": "boolean"
5139
+ },
5140
+ "output": {
5141
+ "char": "o",
5142
+ "description": "Output format",
5143
+ "name": "output",
5144
+ "required": false,
5145
+ "default": "summary",
5146
+ "hasDynamicHelp": false,
5147
+ "multiple": false,
5148
+ "options": [
5149
+ "summary",
5150
+ "json"
5151
+ ],
5152
+ "type": "option"
5153
+ },
5154
+ "workspace": {
5155
+ "char": "w",
5156
+ "description": "Workspace ID (uses profile workspace if not provided)",
5157
+ "name": "workspace",
5158
+ "required": false,
5159
+ "hasDynamicHelp": false,
5160
+ "multiple": false,
5161
+ "type": "option"
5162
+ }
5163
+ },
5164
+ "hasDynamicHelp": false,
5165
+ "hiddenAliases": [],
5166
+ "id": "tenant:backup:delete",
5167
+ "pluginAlias": "@xano/cli",
5168
+ "pluginName": "@xano/cli",
5169
+ "pluginType": "core",
5170
+ "strict": true,
5171
+ "enableJsonFlag": false,
5172
+ "isESM": true,
5173
+ "relativePath": [
5174
+ "dist",
5175
+ "commands",
5176
+ "tenant",
5177
+ "backup",
5178
+ "delete",
5179
+ "index.js"
5180
+ ]
5181
+ },
5182
+ "tenant:backup:export": {
5183
+ "aliases": [],
5184
+ "args": {
5185
+ "tenant_name": {
5186
+ "description": "Tenant name to export backup from",
5187
+ "name": "tenant_name",
5188
+ "required": true
5189
+ }
5190
+ },
5191
+ "description": "Export (download) a tenant backup to a local file",
5192
+ "examples": [
5193
+ "$ xano tenant backup export t1234-abcd-xyz1 --backup_id 10\nDownloaded backup #10 to ./tenant-t1234-abcd-xyz1-backup-10.tar.gz\n",
5194
+ "$ xano tenant backup export t1234-abcd-xyz1 --backup_id 10 --output ./backups/my-backup.tar.gz",
5195
+ "$ xano tenant backup export t1234-abcd-xyz1 --backup_id 10 -o json"
5196
+ ],
5197
+ "flags": {
5198
+ "profile": {
5199
+ "char": "p",
5200
+ "description": "Profile to use (uses default profile if not specified)",
5201
+ "env": "XANO_PROFILE",
5202
+ "name": "profile",
5203
+ "required": false,
5204
+ "hasDynamicHelp": false,
5205
+ "multiple": false,
5206
+ "type": "option"
5207
+ },
5208
+ "verbose": {
5209
+ "char": "v",
5210
+ "description": "Show detailed request/response information",
5211
+ "env": "XANO_VERBOSE",
5212
+ "name": "verbose",
5213
+ "required": false,
5214
+ "allowNo": false,
5215
+ "type": "boolean"
5216
+ },
5217
+ "backup_id": {
5218
+ "description": "Backup ID to export",
5152
5219
  "name": "backup_id",
5153
5220
  "required": true,
5154
5221
  "hasDynamicHelp": false,
5155
5222
  "multiple": false,
5156
5223
  "type": "option"
5157
5224
  },
5158
- "force": {
5159
- "char": "f",
5160
- "description": "Skip confirmation prompt",
5161
- "name": "force",
5162
- "required": false,
5163
- "allowNo": false,
5164
- "type": "boolean"
5165
- },
5166
- "output": {
5225
+ "format": {
5167
5226
  "char": "o",
5168
5227
  "description": "Output format",
5169
- "name": "output",
5228
+ "name": "format",
5170
5229
  "required": false,
5171
5230
  "default": "summary",
5172
5231
  "hasDynamicHelp": false,
@@ -5177,6 +5236,14 @@
5177
5236
  ],
5178
5237
  "type": "option"
5179
5238
  },
5239
+ "output": {
5240
+ "description": "Output file path (defaults to ./tenant-{name}-backup-{backup_id}.tar.gz)",
5241
+ "name": "output",
5242
+ "required": false,
5243
+ "hasDynamicHelp": false,
5244
+ "multiple": false,
5245
+ "type": "option"
5246
+ },
5180
5247
  "workspace": {
5181
5248
  "char": "w",
5182
5249
  "description": "Workspace ID (uses profile workspace if not provided)",
@@ -5189,7 +5256,7 @@
5189
5256
  },
5190
5257
  "hasDynamicHelp": false,
5191
5258
  "hiddenAliases": [],
5192
- "id": "tenant:backup:delete",
5259
+ "id": "tenant:backup:export",
5193
5260
  "pluginAlias": "@xano/cli",
5194
5261
  "pluginName": "@xano/cli",
5195
5262
  "pluginType": "core",
@@ -5201,24 +5268,23 @@
5201
5268
  "commands",
5202
5269
  "tenant",
5203
5270
  "backup",
5204
- "delete",
5271
+ "export",
5205
5272
  "index.js"
5206
5273
  ]
5207
5274
  },
5208
- "tenant:backup:export": {
5275
+ "tenant:backup:import": {
5209
5276
  "aliases": [],
5210
5277
  "args": {
5211
5278
  "tenant_name": {
5212
- "description": "Tenant name to export backup from",
5279
+ "description": "Tenant name to import backup into",
5213
5280
  "name": "tenant_name",
5214
5281
  "required": true
5215
5282
  }
5216
5283
  },
5217
- "description": "Export (download) a tenant backup to a local file",
5284
+ "description": "Import a backup file into a tenant",
5218
5285
  "examples": [
5219
- "$ xano tenant backup export t1234-abcd-xyz1 --backup_id 10\nDownloaded backup #10 to ./tenant-t1234-abcd-xyz1-backup-10.tar.gz\n",
5220
- "$ xano tenant backup export t1234-abcd-xyz1 --backup_id 10 --output ./backups/my-backup.tar.gz",
5221
- "$ xano tenant backup export t1234-abcd-xyz1 --backup_id 10 -o json"
5286
+ "$ xano tenant backup import t1234-abcd-xyz1 --file ./my-backup.tar.gz\nImported backup as #15 for tenant t1234-abcd-xyz1\n",
5287
+ "$ xano tenant backup import t1234-abcd-xyz1 --file ./my-backup.tar.gz --description \"Restored from production\" -o json"
5222
5288
  ],
5223
5289
  "flags": {
5224
5290
  "profile": {
@@ -5240,18 +5306,29 @@
5240
5306
  "allowNo": false,
5241
5307
  "type": "boolean"
5242
5308
  },
5243
- "backup_id": {
5244
- "description": "Backup ID to export",
5245
- "name": "backup_id",
5309
+ "description": {
5310
+ "char": "d",
5311
+ "description": "Backup description",
5312
+ "name": "description",
5313
+ "required": false,
5314
+ "default": "",
5315
+ "hasDynamicHelp": false,
5316
+ "multiple": false,
5317
+ "type": "option"
5318
+ },
5319
+ "file": {
5320
+ "char": "f",
5321
+ "description": "Path to the backup file (.tar.gz)",
5322
+ "name": "file",
5246
5323
  "required": true,
5247
5324
  "hasDynamicHelp": false,
5248
5325
  "multiple": false,
5249
5326
  "type": "option"
5250
5327
  },
5251
- "format": {
5328
+ "output": {
5252
5329
  "char": "o",
5253
5330
  "description": "Output format",
5254
- "name": "format",
5331
+ "name": "output",
5255
5332
  "required": false,
5256
5333
  "default": "summary",
5257
5334
  "hasDynamicHelp": false,
@@ -5262,14 +5339,6 @@
5262
5339
  ],
5263
5340
  "type": "option"
5264
5341
  },
5265
- "output": {
5266
- "description": "Output file path (defaults to ./tenant-{name}-backup-{backup_id}.tar.gz)",
5267
- "name": "output",
5268
- "required": false,
5269
- "hasDynamicHelp": false,
5270
- "multiple": false,
5271
- "type": "option"
5272
- },
5273
5342
  "workspace": {
5274
5343
  "char": "w",
5275
5344
  "description": "Workspace ID (uses profile workspace if not provided)",
@@ -5282,7 +5351,7 @@
5282
5351
  },
5283
5352
  "hasDynamicHelp": false,
5284
5353
  "hiddenAliases": [],
5285
- "id": "tenant:backup:export",
5354
+ "id": "tenant:backup:import",
5286
5355
  "pluginAlias": "@xano/cli",
5287
5356
  "pluginName": "@xano/cli",
5288
5357
  "pluginType": "core",
@@ -5294,7 +5363,7 @@
5294
5363
  "commands",
5295
5364
  "tenant",
5296
5365
  "backup",
5297
- "export",
5366
+ "import",
5298
5367
  "index.js"
5299
5368
  ]
5300
5369
  },
@@ -5597,6 +5666,82 @@
5597
5666
  "index.js"
5598
5667
  ]
5599
5668
  },
5669
+ "tenant:cluster:delete": {
5670
+ "aliases": [],
5671
+ "args": {
5672
+ "cluster_id": {
5673
+ "description": "Cluster ID to delete",
5674
+ "name": "cluster_id",
5675
+ "required": true
5676
+ }
5677
+ },
5678
+ "description": "Delete a tenant cluster. This action cannot be undone.",
5679
+ "examples": [
5680
+ "$ xano tenant cluster delete 3\nAre you sure you want to delete tenant cluster 3? This action cannot be undone. (y/N) y\nTenant cluster 3 deleted successfully\n",
5681
+ "$ xano tenant cluster delete 3 --force\nTenant cluster 3 deleted successfully\n",
5682
+ "$ xano tenant cluster delete 3 -f -o json"
5683
+ ],
5684
+ "flags": {
5685
+ "profile": {
5686
+ "char": "p",
5687
+ "description": "Profile to use (uses default profile if not specified)",
5688
+ "env": "XANO_PROFILE",
5689
+ "name": "profile",
5690
+ "required": false,
5691
+ "hasDynamicHelp": false,
5692
+ "multiple": false,
5693
+ "type": "option"
5694
+ },
5695
+ "verbose": {
5696
+ "char": "v",
5697
+ "description": "Show detailed request/response information",
5698
+ "env": "XANO_VERBOSE",
5699
+ "name": "verbose",
5700
+ "required": false,
5701
+ "allowNo": false,
5702
+ "type": "boolean"
5703
+ },
5704
+ "force": {
5705
+ "char": "f",
5706
+ "description": "Skip confirmation prompt",
5707
+ "name": "force",
5708
+ "required": false,
5709
+ "allowNo": false,
5710
+ "type": "boolean"
5711
+ },
5712
+ "output": {
5713
+ "char": "o",
5714
+ "description": "Output format",
5715
+ "name": "output",
5716
+ "required": false,
5717
+ "default": "summary",
5718
+ "hasDynamicHelp": false,
5719
+ "multiple": false,
5720
+ "options": [
5721
+ "summary",
5722
+ "json"
5723
+ ],
5724
+ "type": "option"
5725
+ }
5726
+ },
5727
+ "hasDynamicHelp": false,
5728
+ "hiddenAliases": [],
5729
+ "id": "tenant:cluster:delete",
5730
+ "pluginAlias": "@xano/cli",
5731
+ "pluginName": "@xano/cli",
5732
+ "pluginType": "core",
5733
+ "strict": true,
5734
+ "enableJsonFlag": false,
5735
+ "isESM": true,
5736
+ "relativePath": [
5737
+ "dist",
5738
+ "commands",
5739
+ "tenant",
5740
+ "cluster",
5741
+ "delete",
5742
+ "index.js"
5743
+ ]
5744
+ },
5600
5745
  "tenant:cluster:edit": {
5601
5746
  "aliases": [],
5602
5747
  "args": {
@@ -5769,20 +5914,20 @@
5769
5914
  "index.js"
5770
5915
  ]
5771
5916
  },
5772
- "tenant:cluster:delete": {
5917
+ "tenant:env:delete": {
5773
5918
  "aliases": [],
5774
5919
  "args": {
5775
- "cluster_id": {
5776
- "description": "Cluster ID to delete",
5777
- "name": "cluster_id",
5920
+ "tenant_name": {
5921
+ "description": "Tenant name",
5922
+ "name": "tenant_name",
5778
5923
  "required": true
5779
5924
  }
5780
5925
  },
5781
- "description": "Delete a tenant cluster. This action cannot be undone.",
5926
+ "description": "Delete an environment variable from a tenant",
5782
5927
  "examples": [
5783
- "$ xano tenant cluster delete 3\nAre you sure you want to delete tenant cluster 3? This action cannot be undone. (y/N) y\nTenant cluster 3 deleted successfully\n",
5784
- "$ xano tenant cluster delete 3 --force\nTenant cluster 3 deleted successfully\n",
5785
- "$ xano tenant cluster delete 3 -f -o json"
5928
+ "$ xano tenant env delete my-tenant --name DATABASE_URL\nAre you sure you want to delete environment variable 'DATABASE_URL' from tenant my-tenant? (y/N) y\nEnvironment variable 'DATABASE_URL' deleted from tenant my-tenant\n",
5929
+ "$ xano tenant env delete my-tenant --name DATABASE_URL --force\nEnvironment variable 'DATABASE_URL' deleted from tenant my-tenant\n",
5930
+ "$ xano tenant env delete my-tenant --name DATABASE_URL -f -w 5 -o json"
5786
5931
  ],
5787
5932
  "flags": {
5788
5933
  "profile": {
@@ -5812,6 +5957,15 @@
5812
5957
  "allowNo": false,
5813
5958
  "type": "boolean"
5814
5959
  },
5960
+ "name": {
5961
+ "char": "n",
5962
+ "description": "Environment variable name",
5963
+ "name": "name",
5964
+ "required": true,
5965
+ "hasDynamicHelp": false,
5966
+ "multiple": false,
5967
+ "type": "option"
5968
+ },
5815
5969
  "output": {
5816
5970
  "char": "o",
5817
5971
  "description": "Output format",
@@ -5825,72 +5979,20 @@
5825
5979
  "json"
5826
5980
  ],
5827
5981
  "type": "option"
5828
- }
5829
- },
5830
- "hasDynamicHelp": false,
5831
- "hiddenAliases": [],
5832
- "id": "tenant:cluster:delete",
5833
- "pluginAlias": "@xano/cli",
5834
- "pluginName": "@xano/cli",
5835
- "pluginType": "core",
5836
- "strict": true,
5837
- "enableJsonFlag": false,
5838
- "isESM": true,
5839
- "relativePath": [
5840
- "dist",
5841
- "commands",
5842
- "tenant",
5843
- "cluster",
5844
- "delete",
5845
- "index.js"
5846
- ]
5847
- },
5848
- "tenant:cluster:list": {
5849
- "aliases": [],
5850
- "args": {},
5851
- "description": "List all tenant clusters",
5852
- "examples": [
5853
- "$ xano tenant cluster list\nTenant clusters:\n - us-east-1 (standard) [ID: 1]\n - eu-west-1 (run) [ID: 2]\n",
5854
- "$ xano tenant cluster list --output json"
5855
- ],
5856
- "flags": {
5857
- "profile": {
5858
- "char": "p",
5859
- "description": "Profile to use (uses default profile if not specified)",
5860
- "env": "XANO_PROFILE",
5861
- "name": "profile",
5862
- "required": false,
5863
- "hasDynamicHelp": false,
5864
- "multiple": false,
5865
- "type": "option"
5866
- },
5867
- "verbose": {
5868
- "char": "v",
5869
- "description": "Show detailed request/response information",
5870
- "env": "XANO_VERBOSE",
5871
- "name": "verbose",
5872
- "required": false,
5873
- "allowNo": false,
5874
- "type": "boolean"
5875
5982
  },
5876
- "output": {
5877
- "char": "o",
5878
- "description": "Output format",
5879
- "name": "output",
5983
+ "workspace": {
5984
+ "char": "w",
5985
+ "description": "Workspace ID (uses profile workspace if not provided)",
5986
+ "name": "workspace",
5880
5987
  "required": false,
5881
- "default": "summary",
5882
5988
  "hasDynamicHelp": false,
5883
5989
  "multiple": false,
5884
- "options": [
5885
- "summary",
5886
- "json"
5887
- ],
5888
5990
  "type": "option"
5889
5991
  }
5890
5992
  },
5891
5993
  "hasDynamicHelp": false,
5892
5994
  "hiddenAliases": [],
5893
- "id": "tenant:cluster:list",
5995
+ "id": "tenant:env:delete",
5894
5996
  "pluginAlias": "@xano/cli",
5895
5997
  "pluginName": "@xano/cli",
5896
5998
  "pluginType": "core",
@@ -5901,25 +6003,18 @@
5901
6003
  "dist",
5902
6004
  "commands",
5903
6005
  "tenant",
5904
- "cluster",
5905
- "list",
6006
+ "env",
6007
+ "delete",
5906
6008
  "index.js"
5907
6009
  ]
5908
6010
  },
5909
- "tenant:env:delete": {
6011
+ "tenant:cluster:list": {
5910
6012
  "aliases": [],
5911
- "args": {
5912
- "tenant_name": {
5913
- "description": "Tenant name",
5914
- "name": "tenant_name",
5915
- "required": true
5916
- }
5917
- },
5918
- "description": "Delete an environment variable from a tenant",
5919
- "examples": [
5920
- "$ xano tenant env delete my-tenant --name DATABASE_URL\nAre you sure you want to delete environment variable 'DATABASE_URL' from tenant my-tenant? (y/N) y\nEnvironment variable 'DATABASE_URL' deleted from tenant my-tenant\n",
5921
- "$ xano tenant env delete my-tenant --name DATABASE_URL --force\nEnvironment variable 'DATABASE_URL' deleted from tenant my-tenant\n",
5922
- "$ xano tenant env delete my-tenant --name DATABASE_URL -f -w 5 -o json"
6013
+ "args": {},
6014
+ "description": "List all tenant clusters",
6015
+ "examples": [
6016
+ "$ xano tenant cluster list\nTenant clusters:\n - us-east-1 (standard) [ID: 1]\n - eu-west-1 (run) [ID: 2]\n",
6017
+ "$ xano tenant cluster list --output json"
5923
6018
  ],
5924
6019
  "flags": {
5925
6020
  "profile": {
@@ -5941,23 +6036,6 @@
5941
6036
  "allowNo": false,
5942
6037
  "type": "boolean"
5943
6038
  },
5944
- "force": {
5945
- "char": "f",
5946
- "description": "Skip confirmation prompt",
5947
- "name": "force",
5948
- "required": false,
5949
- "allowNo": false,
5950
- "type": "boolean"
5951
- },
5952
- "name": {
5953
- "char": "n",
5954
- "description": "Environment variable name",
5955
- "name": "name",
5956
- "required": true,
5957
- "hasDynamicHelp": false,
5958
- "multiple": false,
5959
- "type": "option"
5960
- },
5961
6039
  "output": {
5962
6040
  "char": "o",
5963
6041
  "description": "Output format",
@@ -5971,20 +6049,11 @@
5971
6049
  "json"
5972
6050
  ],
5973
6051
  "type": "option"
5974
- },
5975
- "workspace": {
5976
- "char": "w",
5977
- "description": "Workspace ID (uses profile workspace if not provided)",
5978
- "name": "workspace",
5979
- "required": false,
5980
- "hasDynamicHelp": false,
5981
- "multiple": false,
5982
- "type": "option"
5983
6052
  }
5984
6053
  },
5985
6054
  "hasDynamicHelp": false,
5986
6055
  "hiddenAliases": [],
5987
- "id": "tenant:env:delete",
6056
+ "id": "tenant:cluster:list",
5988
6057
  "pluginAlias": "@xano/cli",
5989
6058
  "pluginName": "@xano/cli",
5990
6059
  "pluginType": "core",
@@ -5995,8 +6064,34 @@
5995
6064
  "dist",
5996
6065
  "commands",
5997
6066
  "tenant",
5998
- "env",
5999
- "delete",
6067
+ "cluster",
6068
+ "list",
6069
+ "index.js"
6070
+ ]
6071
+ },
6072
+ "profile:workspace": {
6073
+ "aliases": [],
6074
+ "args": {},
6075
+ "description": "Print the workspace ID for the default profile",
6076
+ "examples": [
6077
+ "$ xano profile:workspace\nabc123-workspace-id\n",
6078
+ "$ xano profile:workspace | pbcopy\n# Copies the workspace ID to clipboard on macOS\n"
6079
+ ],
6080
+ "flags": {},
6081
+ "hasDynamicHelp": false,
6082
+ "hiddenAliases": [],
6083
+ "id": "profile:workspace",
6084
+ "pluginAlias": "@xano/cli",
6085
+ "pluginName": "@xano/cli",
6086
+ "pluginType": "core",
6087
+ "strict": true,
6088
+ "enableJsonFlag": false,
6089
+ "isESM": true,
6090
+ "relativePath": [
6091
+ "dist",
6092
+ "commands",
6093
+ "profile",
6094
+ "workspace",
6000
6095
  "index.js"
6001
6096
  ]
6002
6097
  },
@@ -6085,19 +6180,19 @@
6085
6180
  "index.js"
6086
6181
  ]
6087
6182
  },
6088
- "tenant:backup:import": {
6183
+ "tenant:env:set": {
6089
6184
  "aliases": [],
6090
6185
  "args": {
6091
6186
  "tenant_name": {
6092
- "description": "Tenant name to import backup into",
6187
+ "description": "Tenant name",
6093
6188
  "name": "tenant_name",
6094
6189
  "required": true
6095
6190
  }
6096
6191
  },
6097
- "description": "Import a backup file into a tenant",
6192
+ "description": "Set (create or update) an environment variable for a tenant",
6098
6193
  "examples": [
6099
- "$ xano tenant backup import t1234-abcd-xyz1 --file ./my-backup.tar.gz\nImported backup as #15 for tenant t1234-abcd-xyz1\n",
6100
- "$ xano tenant backup import t1234-abcd-xyz1 --file ./my-backup.tar.gz --description \"Restored from production\" -o json"
6194
+ "$ xano tenant env set my-tenant --name DATABASE_URL --value postgres://localhost:5432/mydb\nEnvironment variable 'DATABASE_URL' set for tenant my-tenant\n",
6195
+ "$ xano tenant env set my-tenant --name DATABASE_URL --value postgres://localhost:5432/mydb -w 5 -o json"
6101
6196
  ],
6102
6197
  "flags": {
6103
6198
  "profile": {
@@ -6119,20 +6214,10 @@
6119
6214
  "allowNo": false,
6120
6215
  "type": "boolean"
6121
6216
  },
6122
- "description": {
6123
- "char": "d",
6124
- "description": "Backup description",
6125
- "name": "description",
6126
- "required": false,
6127
- "default": "",
6128
- "hasDynamicHelp": false,
6129
- "multiple": false,
6130
- "type": "option"
6131
- },
6132
- "file": {
6133
- "char": "f",
6134
- "description": "Path to the backup file (.tar.gz)",
6135
- "name": "file",
6217
+ "name": {
6218
+ "char": "n",
6219
+ "description": "Environment variable name",
6220
+ "name": "name",
6136
6221
  "required": true,
6137
6222
  "hasDynamicHelp": false,
6138
6223
  "multiple": false,
@@ -6152,6 +6237,14 @@
6152
6237
  ],
6153
6238
  "type": "option"
6154
6239
  },
6240
+ "value": {
6241
+ "description": "Environment variable value",
6242
+ "name": "value",
6243
+ "required": true,
6244
+ "hasDynamicHelp": false,
6245
+ "multiple": false,
6246
+ "type": "option"
6247
+ },
6155
6248
  "workspace": {
6156
6249
  "char": "w",
6157
6250
  "description": "Workspace ID (uses profile workspace if not provided)",
@@ -6164,7 +6257,7 @@
6164
6257
  },
6165
6258
  "hasDynamicHelp": false,
6166
6259
  "hiddenAliases": [],
6167
- "id": "tenant:backup:import",
6260
+ "id": "tenant:env:set",
6168
6261
  "pluginAlias": "@xano/cli",
6169
6262
  "pluginName": "@xano/cli",
6170
6263
  "pluginType": "core",
@@ -6175,12 +6268,12 @@
6175
6268
  "dist",
6176
6269
  "commands",
6177
6270
  "tenant",
6178
- "backup",
6179
- "import",
6271
+ "env",
6272
+ "set",
6180
6273
  "index.js"
6181
6274
  ]
6182
6275
  },
6183
- "tenant:env:list": {
6276
+ "tenant:env:get_all": {
6184
6277
  "aliases": [],
6185
6278
  "args": {
6186
6279
  "tenant_name": {
@@ -6189,10 +6282,12 @@
6189
6282
  "required": true
6190
6283
  }
6191
6284
  },
6192
- "description": "List environment variable keys for a tenant",
6285
+ "description": "Get all environment variables for a tenant and save to a YAML file",
6193
6286
  "examples": [
6194
- "$ xano tenant env list my-tenant\nEnvironment variables for tenant my-tenant:\n - DATABASE_URL\n - API_KEY\n - SECRET_TOKEN\n",
6195
- "$ xano tenant env list my-tenant -w 5 -o json"
6287
+ "$ xano tenant env get_all my-tenant\nEnvironment variables saved to env_my-tenant.yaml\n",
6288
+ "$ xano tenant env get_all my-tenant --file ./my-env.yaml",
6289
+ "$ xano tenant env get_all my-tenant --view",
6290
+ "$ xano tenant env get_all my-tenant -o json"
6196
6291
  ],
6197
6292
  "flags": {
6198
6293
  "profile": {
@@ -6214,6 +6309,15 @@
6214
6309
  "allowNo": false,
6215
6310
  "type": "boolean"
6216
6311
  },
6312
+ "file": {
6313
+ "char": "f",
6314
+ "description": "Output file path (default: env_<tenant_name>.yaml)",
6315
+ "name": "file",
6316
+ "required": false,
6317
+ "hasDynamicHelp": false,
6318
+ "multiple": false,
6319
+ "type": "option"
6320
+ },
6217
6321
  "output": {
6218
6322
  "char": "o",
6219
6323
  "description": "Output format",
@@ -6228,6 +6332,13 @@
6228
6332
  ],
6229
6333
  "type": "option"
6230
6334
  },
6335
+ "view": {
6336
+ "description": "Print environment variables to stdout instead of saving to file",
6337
+ "name": "view",
6338
+ "required": false,
6339
+ "allowNo": false,
6340
+ "type": "boolean"
6341
+ },
6231
6342
  "workspace": {
6232
6343
  "char": "w",
6233
6344
  "description": "Workspace ID (uses profile workspace if not provided)",
@@ -6240,7 +6351,7 @@
6240
6351
  },
6241
6352
  "hasDynamicHelp": false,
6242
6353
  "hiddenAliases": [],
6243
- "id": "tenant:env:list",
6354
+ "id": "tenant:env:get_all",
6244
6355
  "pluginAlias": "@xano/cli",
6245
6356
  "pluginName": "@xano/cli",
6246
6357
  "pluginType": "core",
@@ -6252,11 +6363,11 @@
6252
6363
  "commands",
6253
6364
  "tenant",
6254
6365
  "env",
6255
- "list",
6366
+ "get_all",
6256
6367
  "index.js"
6257
6368
  ]
6258
6369
  },
6259
- "tenant:env:set": {
6370
+ "tenant:env:list": {
6260
6371
  "aliases": [],
6261
6372
  "args": {
6262
6373
  "tenant_name": {
@@ -6265,10 +6376,10 @@
6265
6376
  "required": true
6266
6377
  }
6267
6378
  },
6268
- "description": "Set (create or update) an environment variable for a tenant",
6379
+ "description": "List environment variable keys for a tenant",
6269
6380
  "examples": [
6270
- "$ xano tenant env set my-tenant --name DATABASE_URL --value postgres://localhost:5432/mydb\nEnvironment variable 'DATABASE_URL' set for tenant my-tenant\n",
6271
- "$ xano tenant env set my-tenant --name DATABASE_URL --value postgres://localhost:5432/mydb -w 5 -o json"
6381
+ "$ xano tenant env list my-tenant\nEnvironment variables for tenant my-tenant:\n - DATABASE_URL\n - API_KEY\n - SECRET_TOKEN\n",
6382
+ "$ xano tenant env list my-tenant -w 5 -o json"
6272
6383
  ],
6273
6384
  "flags": {
6274
6385
  "profile": {
@@ -6290,15 +6401,6 @@
6290
6401
  "allowNo": false,
6291
6402
  "type": "boolean"
6292
6403
  },
6293
- "name": {
6294
- "char": "n",
6295
- "description": "Environment variable name",
6296
- "name": "name",
6297
- "required": true,
6298
- "hasDynamicHelp": false,
6299
- "multiple": false,
6300
- "type": "option"
6301
- },
6302
6404
  "output": {
6303
6405
  "char": "o",
6304
6406
  "description": "Output format",
@@ -6313,14 +6415,6 @@
6313
6415
  ],
6314
6416
  "type": "option"
6315
6417
  },
6316
- "value": {
6317
- "description": "Environment variable value",
6318
- "name": "value",
6319
- "required": true,
6320
- "hasDynamicHelp": false,
6321
- "multiple": false,
6322
- "type": "option"
6323
- },
6324
6418
  "workspace": {
6325
6419
  "char": "w",
6326
6420
  "description": "Workspace ID (uses profile workspace if not provided)",
@@ -6333,7 +6427,7 @@
6333
6427
  },
6334
6428
  "hasDynamicHelp": false,
6335
6429
  "hiddenAliases": [],
6336
- "id": "tenant:env:set",
6430
+ "id": "tenant:env:list",
6337
6431
  "pluginAlias": "@xano/cli",
6338
6432
  "pluginName": "@xano/cli",
6339
6433
  "pluginType": "core",
@@ -6345,7 +6439,7 @@
6345
6439
  "commands",
6346
6440
  "tenant",
6347
6441
  "env",
6348
- "set",
6442
+ "list",
6349
6443
  "index.js"
6350
6444
  ]
6351
6445
  },
@@ -6742,100 +6836,6 @@
6742
6836
  "index.js"
6743
6837
  ]
6744
6838
  },
6745
- "tenant:env:get_all": {
6746
- "aliases": [],
6747
- "args": {
6748
- "tenant_name": {
6749
- "description": "Tenant name",
6750
- "name": "tenant_name",
6751
- "required": true
6752
- }
6753
- },
6754
- "description": "Get all environment variables for a tenant and save to a YAML file",
6755
- "examples": [
6756
- "$ xano tenant env get_all my-tenant\nEnvironment variables saved to env_my-tenant.yaml\n",
6757
- "$ xano tenant env get_all my-tenant --file ./my-env.yaml",
6758
- "$ xano tenant env get_all my-tenant --view",
6759
- "$ xano tenant env get_all my-tenant -o json"
6760
- ],
6761
- "flags": {
6762
- "profile": {
6763
- "char": "p",
6764
- "description": "Profile to use (uses default profile if not specified)",
6765
- "env": "XANO_PROFILE",
6766
- "name": "profile",
6767
- "required": false,
6768
- "hasDynamicHelp": false,
6769
- "multiple": false,
6770
- "type": "option"
6771
- },
6772
- "verbose": {
6773
- "char": "v",
6774
- "description": "Show detailed request/response information",
6775
- "env": "XANO_VERBOSE",
6776
- "name": "verbose",
6777
- "required": false,
6778
- "allowNo": false,
6779
- "type": "boolean"
6780
- },
6781
- "file": {
6782
- "char": "f",
6783
- "description": "Output file path (default: env_<tenant_name>.yaml)",
6784
- "name": "file",
6785
- "required": false,
6786
- "hasDynamicHelp": false,
6787
- "multiple": false,
6788
- "type": "option"
6789
- },
6790
- "output": {
6791
- "char": "o",
6792
- "description": "Output format",
6793
- "name": "output",
6794
- "required": false,
6795
- "default": "summary",
6796
- "hasDynamicHelp": false,
6797
- "multiple": false,
6798
- "options": [
6799
- "summary",
6800
- "json"
6801
- ],
6802
- "type": "option"
6803
- },
6804
- "view": {
6805
- "description": "Print environment variables to stdout instead of saving to file",
6806
- "name": "view",
6807
- "required": false,
6808
- "allowNo": false,
6809
- "type": "boolean"
6810
- },
6811
- "workspace": {
6812
- "char": "w",
6813
- "description": "Workspace ID (uses profile workspace if not provided)",
6814
- "name": "workspace",
6815
- "required": false,
6816
- "hasDynamicHelp": false,
6817
- "multiple": false,
6818
- "type": "option"
6819
- }
6820
- },
6821
- "hasDynamicHelp": false,
6822
- "hiddenAliases": [],
6823
- "id": "tenant:env:get_all",
6824
- "pluginAlias": "@xano/cli",
6825
- "pluginName": "@xano/cli",
6826
- "pluginType": "core",
6827
- "strict": true,
6828
- "enableJsonFlag": false,
6829
- "isESM": true,
6830
- "relativePath": [
6831
- "dist",
6832
- "commands",
6833
- "tenant",
6834
- "env",
6835
- "get_all",
6836
- "index.js"
6837
- ]
6838
- },
6839
6839
  "tenant:cluster:license:get": {
6840
6840
  "aliases": [],
6841
6841
  "args": {
@@ -7027,5 +7027,5 @@
7027
7027
  ]
7028
7028
  }
7029
7029
  },
7030
- "version": "0.0.59"
7030
+ "version": "0.0.61"
7031
7031
  }