@xano/cli 0.0.83 → 0.0.84

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.
@@ -100,113 +100,6 @@
100
100
  "index.js"
101
101
  ]
102
102
  },
103
- "branch:create": {
104
- "aliases": [],
105
- "args": {},
106
- "description": "Create a new branch by cloning from an existing branch",
107
- "examples": [
108
- "$ xano branch create --label dev\nCreated branch: dev\n Cloned from: v1\n",
109
- "$ xano branch create -l feature-auth -s dev -d \"Authentication feature\"\nCreated branch: feature-auth\n Cloned from: dev\n Description: Authentication feature\n",
110
- "$ 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"
111
- ],
112
- "flags": {
113
- "profile": {
114
- "char": "p",
115
- "description": "Profile to use (uses default profile if not specified)",
116
- "env": "XANO_PROFILE",
117
- "name": "profile",
118
- "required": false,
119
- "hasDynamicHelp": false,
120
- "multiple": false,
121
- "type": "option"
122
- },
123
- "verbose": {
124
- "char": "v",
125
- "description": "Show detailed request/response information",
126
- "env": "XANO_VERBOSE",
127
- "name": "verbose",
128
- "required": false,
129
- "allowNo": false,
130
- "type": "boolean"
131
- },
132
- "color": {
133
- "char": "c",
134
- "description": "Color hex code for the branch (e.g., \"#ebc346\")",
135
- "name": "color",
136
- "required": false,
137
- "hasDynamicHelp": false,
138
- "multiple": false,
139
- "type": "option"
140
- },
141
- "description": {
142
- "char": "d",
143
- "description": "Description for the new branch",
144
- "name": "description",
145
- "required": false,
146
- "hasDynamicHelp": false,
147
- "multiple": false,
148
- "type": "option"
149
- },
150
- "label": {
151
- "char": "l",
152
- "description": "Label for the new branch",
153
- "name": "label",
154
- "required": true,
155
- "hasDynamicHelp": false,
156
- "multiple": false,
157
- "type": "option"
158
- },
159
- "output": {
160
- "char": "o",
161
- "description": "Output format",
162
- "name": "output",
163
- "required": false,
164
- "default": "summary",
165
- "hasDynamicHelp": false,
166
- "multiple": false,
167
- "options": [
168
- "summary",
169
- "json"
170
- ],
171
- "type": "option"
172
- },
173
- "source": {
174
- "char": "s",
175
- "description": "Source branch to clone from (defaults to \"v1\")",
176
- "name": "source",
177
- "required": false,
178
- "default": "v1",
179
- "hasDynamicHelp": false,
180
- "multiple": false,
181
- "type": "option"
182
- },
183
- "workspace": {
184
- "char": "w",
185
- "description": "Workspace ID (uses profile workspace if not provided)",
186
- "name": "workspace",
187
- "required": false,
188
- "hasDynamicHelp": false,
189
- "multiple": false,
190
- "type": "option"
191
- }
192
- },
193
- "hasDynamicHelp": false,
194
- "hiddenAliases": [],
195
- "id": "branch:create",
196
- "pluginAlias": "@xano/cli",
197
- "pluginName": "@xano/cli",
198
- "pluginType": "core",
199
- "strict": true,
200
- "enableJsonFlag": false,
201
- "isESM": true,
202
- "relativePath": [
203
- "dist",
204
- "commands",
205
- "branch",
206
- "create",
207
- "index.js"
208
- ]
209
- },
210
103
  "branch:delete": {
211
104
  "aliases": [],
212
105
  "args": {
@@ -291,20 +184,14 @@
291
184
  "index.js"
292
185
  ]
293
186
  },
294
- "branch:edit": {
187
+ "branch:create": {
295
188
  "aliases": [],
296
- "args": {
297
- "branch_label": {
298
- "description": "Branch label to edit (cannot edit \"v1\" label)",
299
- "name": "branch_label",
300
- "required": true
301
- }
302
- },
303
- "description": "Update an existing branch (cannot update \"v1\" label)",
189
+ "args": {},
190
+ "description": "Create a new branch by cloning from an existing branch",
304
191
  "examples": [
305
- "$ xano branch edit dev --label development\nUpdated branch: development\n",
306
- "$ xano branch edit feature-auth -l feature-authentication --color \"#ff5733\"\nUpdated branch: feature-authentication\n Color: #ff5733\n",
307
- "$ 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"
192
+ "$ xano branch create --label dev\nCreated branch: dev\n Cloned from: v1\n",
193
+ "$ xano branch create -l feature-auth -s dev -d \"Authentication feature\"\nCreated branch: feature-auth\n Cloned from: dev\n Description: Authentication feature\n",
194
+ "$ 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"
308
195
  ],
309
196
  "flags": {
310
197
  "profile": {
@@ -328,7 +215,7 @@
328
215
  },
329
216
  "color": {
330
217
  "char": "c",
331
- "description": "New color hex code for the branch (e.g., \"#ff5733\")",
218
+ "description": "Color hex code for the branch (e.g., \"#ebc346\")",
332
219
  "name": "color",
333
220
  "required": false,
334
221
  "hasDynamicHelp": false,
@@ -337,7 +224,7 @@
337
224
  },
338
225
  "description": {
339
226
  "char": "d",
340
- "description": "New description for the branch",
227
+ "description": "Description for the new branch",
341
228
  "name": "description",
342
229
  "required": false,
343
230
  "hasDynamicHelp": false,
@@ -346,9 +233,9 @@
346
233
  },
347
234
  "label": {
348
235
  "char": "l",
349
- "description": "New label for the branch",
236
+ "description": "Label for the new branch",
350
237
  "name": "label",
351
- "required": false,
238
+ "required": true,
352
239
  "hasDynamicHelp": false,
353
240
  "multiple": false,
354
241
  "type": "option"
@@ -367,6 +254,16 @@
367
254
  ],
368
255
  "type": "option"
369
256
  },
257
+ "source": {
258
+ "char": "s",
259
+ "description": "Source branch to clone from (defaults to \"v1\")",
260
+ "name": "source",
261
+ "required": false,
262
+ "default": "v1",
263
+ "hasDynamicHelp": false,
264
+ "multiple": false,
265
+ "type": "option"
266
+ },
370
267
  "workspace": {
371
268
  "char": "w",
372
269
  "description": "Workspace ID (uses profile workspace if not provided)",
@@ -379,7 +276,7 @@
379
276
  },
380
277
  "hasDynamicHelp": false,
381
278
  "hiddenAliases": [],
382
- "id": "branch:edit",
279
+ "id": "branch:create",
383
280
  "pluginAlias": "@xano/cli",
384
281
  "pluginName": "@xano/cli",
385
282
  "pluginType": "core",
@@ -390,24 +287,24 @@
390
287
  "dist",
391
288
  "commands",
392
289
  "branch",
393
- "edit",
290
+ "create",
394
291
  "index.js"
395
292
  ]
396
293
  },
397
- "branch:set_live": {
294
+ "branch:list": {
398
295
  "aliases": [],
399
296
  "args": {
400
- "branch_label": {
401
- "description": "Branch label to set as live (use \"v1\" for default branch)",
402
- "name": "branch_label",
403
- "required": true
297
+ "workspace_id": {
298
+ "description": "Workspace ID (uses profile workspace if not provided)",
299
+ "name": "workspace_id",
300
+ "required": false
404
301
  }
405
302
  },
406
- "description": "Set a branch as the live (active) branch for API requests",
303
+ "description": "List all branches in a workspace",
407
304
  "examples": [
408
- "$ 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",
409
- "$ xano branch set-live v1 --force\nBranch 'v1' is now live\n",
410
- "$ 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"
305
+ "$ xano branch list\nAvailable branches:\n - v1 (live)\n - dev\n - staging\n",
306
+ "$ xano branch list 123\nAvailable branches:\n - v1 (live)\n - feature-auth\n",
307
+ "$ 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"
411
308
  ],
412
309
  "flags": {
413
310
  "profile": {
@@ -429,14 +326,6 @@
429
326
  "allowNo": false,
430
327
  "type": "boolean"
431
328
  },
432
- "force": {
433
- "char": "f",
434
- "description": "Skip confirmation prompt",
435
- "name": "force",
436
- "required": false,
437
- "allowNo": false,
438
- "type": "boolean"
439
- },
440
329
  "output": {
441
330
  "char": "o",
442
331
  "description": "Output format",
@@ -450,20 +339,11 @@
450
339
  "json"
451
340
  ],
452
341
  "type": "option"
453
- },
454
- "workspace": {
455
- "char": "w",
456
- "description": "Workspace ID (uses profile workspace if not provided)",
457
- "name": "workspace",
458
- "required": false,
459
- "hasDynamicHelp": false,
460
- "multiple": false,
461
- "type": "option"
462
342
  }
463
343
  },
464
344
  "hasDynamicHelp": false,
465
345
  "hiddenAliases": [],
466
- "id": "branch:set_live",
346
+ "id": "branch:list",
467
347
  "pluginAlias": "@xano/cli",
468
348
  "pluginName": "@xano/cli",
469
349
  "pluginType": "core",
@@ -474,24 +354,24 @@
474
354
  "dist",
475
355
  "commands",
476
356
  "branch",
477
- "set_live",
357
+ "list",
478
358
  "index.js"
479
359
  ]
480
360
  },
481
- "branch:list": {
361
+ "branch:set_live": {
482
362
  "aliases": [],
483
363
  "args": {
484
- "workspace_id": {
485
- "description": "Workspace ID (uses profile workspace if not provided)",
486
- "name": "workspace_id",
487
- "required": false
364
+ "branch_label": {
365
+ "description": "Branch label to set as live (use \"v1\" for default branch)",
366
+ "name": "branch_label",
367
+ "required": true
488
368
  }
489
369
  },
490
- "description": "List all branches in a workspace",
370
+ "description": "Set a branch as the live (active) branch for API requests",
491
371
  "examples": [
492
- "$ xano branch list\nAvailable branches:\n - v1 (live)\n - dev\n - staging\n",
493
- "$ xano branch list 123\nAvailable branches:\n - v1 (live)\n - feature-auth\n",
494
- "$ 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"
372
+ "$ 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",
373
+ "$ xano branch set-live v1 --force\nBranch 'v1' is now live\n",
374
+ "$ 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"
495
375
  ],
496
376
  "flags": {
497
377
  "profile": {
@@ -513,6 +393,14 @@
513
393
  "allowNo": false,
514
394
  "type": "boolean"
515
395
  },
396
+ "force": {
397
+ "char": "f",
398
+ "description": "Skip confirmation prompt",
399
+ "name": "force",
400
+ "required": false,
401
+ "allowNo": false,
402
+ "type": "boolean"
403
+ },
516
404
  "output": {
517
405
  "char": "o",
518
406
  "description": "Output format",
@@ -526,11 +414,20 @@
526
414
  "json"
527
415
  ],
528
416
  "type": "option"
417
+ },
418
+ "workspace": {
419
+ "char": "w",
420
+ "description": "Workspace ID (uses profile workspace if not provided)",
421
+ "name": "workspace",
422
+ "required": false,
423
+ "hasDynamicHelp": false,
424
+ "multiple": false,
425
+ "type": "option"
529
426
  }
530
427
  },
531
428
  "hasDynamicHelp": false,
532
429
  "hiddenAliases": [],
533
- "id": "branch:list",
430
+ "id": "branch:set_live",
534
431
  "pluginAlias": "@xano/cli",
535
432
  "pluginName": "@xano/cli",
536
433
  "pluginType": "core",
@@ -541,7 +438,7 @@
541
438
  "dist",
542
439
  "commands",
543
440
  "branch",
544
- "list",
441
+ "set_live",
545
442
  "index.js"
546
443
  ]
547
444
  },
@@ -651,23 +548,25 @@
651
548
  "index.js"
652
549
  ]
653
550
  },
654
- "function:get": {
551
+ "function:edit": {
655
552
  "aliases": [],
656
553
  "args": {
657
554
  "function_id": {
658
- "description": "Function ID",
555
+ "description": "Function ID to edit",
659
556
  "name": "function_id",
660
557
  "required": false
661
558
  }
662
559
  },
663
- "description": "Get a specific function from a workspace",
560
+ "description": "Edit a function in a workspace",
664
561
  "examples": [
665
- "$ xano function:get 145 -w 40\nFunction: yo (ID: 145)\nCreated: 2025-10-10 10:30:00\nDescription: Sample function\n",
666
- "$ xano function:get 145 --profile production\nFunction: yo (ID: 145)\nCreated: 2025-10-10 10:30:00\n",
667
- "$ xano function:get\nSelect a function:\n ❯ yo (ID: 145) - Sample function\n another-func (ID: 146)\n",
668
- "$ xano function:get 145 -w 40 --output json\n{\n \"id\": 145,\n \"name\": \"yo\",\n \"description\": \"Sample function\"\n}\n",
669
- "$ xano function:get 145 -p staging -o json --include_draft\n{\n \"id\": 145,\n \"name\": \"yo\"\n}\n",
670
- "$ xano function:get 145 -p staging -o xs\nfunction yo {\n input {\n }\n stack {\n }\n response = null\n}\n"
562
+ "$ 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",
563
+ "$ 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",
564
+ "$ xano function:edit 163 -f function.xs\nFunction updated successfully!\nID: 163\nName: my_function\n",
565
+ "$ xano function:edit 163 -w 40 -f function.xs\nFunction updated successfully!\nID: 163\nName: my_function\n",
566
+ "$ xano function:edit -f function.xs\nSelect a function to edit:\n ❯ my_function (ID: 163) - Sample function\n another-func (ID: 164)\n",
567
+ "$ 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",
568
+ "$ cat function.xs | xano function:edit 163 --stdin\nFunction updated successfully!\nID: 163\nName: my_function\n",
569
+ "$ xano function:edit 163 -f function.xs -o json\n{\n \"id\": 163,\n \"name\": \"my_function\",\n ...\n}\n"
671
570
  ],
672
571
  "flags": {
673
572
  "profile": {
@@ -689,19 +588,25 @@
689
588
  "allowNo": false,
690
589
  "type": "boolean"
691
590
  },
692
- "include_draft": {
693
- "description": "Include draft version",
694
- "name": "include_draft",
591
+ "edit": {
592
+ "char": "e",
593
+ "description": "Open file in editor before updating function (requires --file)",
594
+ "name": "edit",
695
595
  "required": false,
696
596
  "allowNo": false,
697
597
  "type": "boolean"
698
598
  },
699
- "include_xanoscript": {
700
- "description": "Include XanoScript in response",
701
- "name": "include_xanoscript",
702
- "required": false,
703
- "allowNo": false,
704
- "type": "boolean"
599
+ "file": {
600
+ "char": "f",
601
+ "description": "Path to file containing XanoScript code",
602
+ "exclusive": [
603
+ "stdin"
604
+ ],
605
+ "name": "file",
606
+ "required": false,
607
+ "hasDynamicHelp": false,
608
+ "multiple": false,
609
+ "type": "option"
705
610
  },
706
611
  "output": {
707
612
  "char": "o",
@@ -713,11 +618,28 @@
713
618
  "multiple": false,
714
619
  "options": [
715
620
  "summary",
716
- "json",
717
- "xs"
621
+ "json"
718
622
  ],
719
623
  "type": "option"
720
624
  },
625
+ "publish": {
626
+ "description": "Publish the function after editing",
627
+ "name": "publish",
628
+ "required": false,
629
+ "allowNo": false,
630
+ "type": "boolean"
631
+ },
632
+ "stdin": {
633
+ "char": "s",
634
+ "description": "Read XanoScript code from stdin",
635
+ "exclusive": [
636
+ "file"
637
+ ],
638
+ "name": "stdin",
639
+ "required": false,
640
+ "allowNo": false,
641
+ "type": "boolean"
642
+ },
721
643
  "workspace": {
722
644
  "char": "w",
723
645
  "description": "Workspace ID (optional if set in profile)",
@@ -730,7 +652,7 @@
730
652
  },
731
653
  "hasDynamicHelp": false,
732
654
  "hiddenAliases": [],
733
- "id": "function:get",
655
+ "id": "function:edit",
734
656
  "pluginAlias": "@xano/cli",
735
657
  "pluginName": "@xano/cli",
736
658
  "pluginType": "core",
@@ -741,29 +663,27 @@
741
663
  "dist",
742
664
  "commands",
743
665
  "function",
744
- "get",
666
+ "edit",
745
667
  "index.js"
746
668
  ]
747
669
  },
748
- "function:edit": {
670
+ "function:get": {
749
671
  "aliases": [],
750
672
  "args": {
751
673
  "function_id": {
752
- "description": "Function ID to edit",
674
+ "description": "Function ID",
753
675
  "name": "function_id",
754
676
  "required": false
755
677
  }
756
678
  },
757
- "description": "Edit a function in a workspace",
679
+ "description": "Get a specific function from a workspace",
758
680
  "examples": [
759
- "$ 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",
760
- "$ 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",
761
- "$ xano function:edit 163 -f function.xs\nFunction updated successfully!\nID: 163\nName: my_function\n",
762
- "$ xano function:edit 163 -w 40 -f function.xs\nFunction updated successfully!\nID: 163\nName: my_function\n",
763
- "$ xano function:edit -f function.xs\nSelect a function to edit:\n ❯ my_function (ID: 163) - Sample function\n another-func (ID: 164)\n",
764
- "$ 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",
765
- "$ cat function.xs | xano function:edit 163 --stdin\nFunction updated successfully!\nID: 163\nName: my_function\n",
766
- "$ xano function:edit 163 -f function.xs -o json\n{\n \"id\": 163,\n \"name\": \"my_function\",\n ...\n}\n"
681
+ "$ xano function:get 145 -w 40\nFunction: yo (ID: 145)\nCreated: 2025-10-10 10:30:00\nDescription: Sample function\n",
682
+ "$ xano function:get 145 --profile production\nFunction: yo (ID: 145)\nCreated: 2025-10-10 10:30:00\n",
683
+ "$ xano function:get\nSelect a function:\n ❯ yo (ID: 145) - Sample function\n another-func (ID: 146)\n",
684
+ "$ xano function:get 145 -w 40 --output json\n{\n \"id\": 145,\n \"name\": \"yo\",\n \"description\": \"Sample function\"\n}\n",
685
+ "$ xano function:get 145 -p staging -o json --include_draft\n{\n \"id\": 145,\n \"name\": \"yo\"\n}\n",
686
+ "$ xano function:get 145 -p staging -o xs\nfunction yo {\n input {\n }\n stack {\n }\n response = null\n}\n"
767
687
  ],
768
688
  "flags": {
769
689
  "profile": {
@@ -785,25 +705,19 @@
785
705
  "allowNo": false,
786
706
  "type": "boolean"
787
707
  },
788
- "edit": {
789
- "char": "e",
790
- "description": "Open file in editor before updating function (requires --file)",
791
- "name": "edit",
708
+ "include_draft": {
709
+ "description": "Include draft version",
710
+ "name": "include_draft",
792
711
  "required": false,
793
712
  "allowNo": false,
794
713
  "type": "boolean"
795
714
  },
796
- "file": {
797
- "char": "f",
798
- "description": "Path to file containing XanoScript code",
799
- "exclusive": [
800
- "stdin"
801
- ],
802
- "name": "file",
715
+ "include_xanoscript": {
716
+ "description": "Include XanoScript in response",
717
+ "name": "include_xanoscript",
803
718
  "required": false,
804
- "hasDynamicHelp": false,
805
- "multiple": false,
806
- "type": "option"
719
+ "allowNo": false,
720
+ "type": "boolean"
807
721
  },
808
722
  "output": {
809
723
  "char": "o",
@@ -815,28 +729,11 @@
815
729
  "multiple": false,
816
730
  "options": [
817
731
  "summary",
818
- "json"
732
+ "json",
733
+ "xs"
819
734
  ],
820
735
  "type": "option"
821
736
  },
822
- "publish": {
823
- "description": "Publish the function after editing",
824
- "name": "publish",
825
- "required": false,
826
- "allowNo": false,
827
- "type": "boolean"
828
- },
829
- "stdin": {
830
- "char": "s",
831
- "description": "Read XanoScript code from stdin",
832
- "exclusive": [
833
- "file"
834
- ],
835
- "name": "stdin",
836
- "required": false,
837
- "allowNo": false,
838
- "type": "boolean"
839
- },
840
737
  "workspace": {
841
738
  "char": "w",
842
739
  "description": "Workspace ID (optional if set in profile)",
@@ -849,7 +746,7 @@
849
746
  },
850
747
  "hasDynamicHelp": false,
851
748
  "hiddenAliases": [],
852
- "id": "function:edit",
749
+ "id": "function:get",
853
750
  "pluginAlias": "@xano/cli",
854
751
  "pluginName": "@xano/cli",
855
752
  "pluginType": "core",
@@ -860,7 +757,7 @@
860
757
  "dist",
861
758
  "commands",
862
759
  "function",
863
- "edit",
760
+ "get",
864
761
  "index.js"
865
762
  ]
866
763
  },
@@ -1065,78 +962,85 @@
1065
962
  "index.js"
1066
963
  ]
1067
964
  },
1068
- "profile:create": {
965
+ "branch:edit": {
1069
966
  "aliases": [],
1070
967
  "args": {
1071
- "name": {
1072
- "description": "Profile name",
1073
- "name": "name",
968
+ "branch_label": {
969
+ "description": "Branch label to edit (cannot edit \"v1\" label)",
970
+ "name": "branch_label",
1074
971
  "required": true
1075
972
  }
1076
973
  },
1077
- "description": "Create a new profile configuration",
974
+ "description": "Update an existing branch (cannot update \"v1\" label)",
1078
975
  "examples": [
1079
- "$ xano profile:create production --account_origin https://account.xano.com --instance_origin https://instance.xano.com --access_token token123\nProfile 'production' created successfully at ~/.xano/credentials.yaml\n",
1080
- "$ xano profile:create staging -a https://staging-account.xano.com -i https://staging-instance.xano.com -t token456\nProfile 'staging' created successfully at ~/.xano/credentials.yaml\n",
1081
- "$ xano profile:create dev -i https://dev-instance.xano.com -t token789 -w my-workspace -b feature-branch\nProfile 'dev' created successfully at ~/.xano/credentials.yaml\n",
1082
- "$ xano profile:create production --account_origin https://account.xano.com --instance_origin https://instance.xano.com --access_token token123 --default\nProfile 'production' created successfully at ~/.xano/credentials.yaml\nDefault profile set to 'production'\n",
1083
- "$ xano profile:create selfhosted -i https://self-signed.example.com -t token123 --insecure\nProfile 'selfhosted' created successfully at ~/.xano/credentials.yaml\n"
976
+ "$ xano branch edit dev --label development\nUpdated branch: development\n",
977
+ "$ xano branch edit feature-auth -l feature-authentication --color \"#ff5733\"\nUpdated branch: feature-authentication\n Color: #ff5733\n",
978
+ "$ 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"
1084
979
  ],
1085
980
  "flags": {
1086
- "access_token": {
1087
- "char": "t",
1088
- "description": "Access token for the Xano Metadata API",
1089
- "name": "access_token",
1090
- "required": true,
981
+ "profile": {
982
+ "char": "p",
983
+ "description": "Profile to use (uses default profile if not specified)",
984
+ "env": "XANO_PROFILE",
985
+ "name": "profile",
986
+ "required": false,
1091
987
  "hasDynamicHelp": false,
1092
988
  "multiple": false,
1093
989
  "type": "option"
1094
990
  },
1095
- "account_origin": {
1096
- "char": "a",
1097
- "description": "Account origin URL. Optional for self hosted installs.",
1098
- "name": "account_origin",
991
+ "verbose": {
992
+ "char": "v",
993
+ "description": "Show detailed request/response information",
994
+ "env": "XANO_VERBOSE",
995
+ "name": "verbose",
996
+ "required": false,
997
+ "allowNo": false,
998
+ "type": "boolean"
999
+ },
1000
+ "color": {
1001
+ "char": "c",
1002
+ "description": "New color hex code for the branch (e.g., \"#ff5733\")",
1003
+ "name": "color",
1099
1004
  "required": false,
1100
1005
  "hasDynamicHelp": false,
1101
1006
  "multiple": false,
1102
1007
  "type": "option"
1103
1008
  },
1104
- "branch": {
1105
- "char": "b",
1106
- "description": "Branch name",
1107
- "name": "branch",
1009
+ "description": {
1010
+ "char": "d",
1011
+ "description": "New description for the branch",
1012
+ "name": "description",
1108
1013
  "required": false,
1109
1014
  "hasDynamicHelp": false,
1110
1015
  "multiple": false,
1111
1016
  "type": "option"
1112
1017
  },
1113
- "default": {
1114
- "description": "Set this profile as the default",
1115
- "name": "default",
1018
+ "label": {
1019
+ "char": "l",
1020
+ "description": "New label for the branch",
1021
+ "name": "label",
1116
1022
  "required": false,
1117
- "allowNo": false,
1118
- "type": "boolean"
1023
+ "hasDynamicHelp": false,
1024
+ "multiple": false,
1025
+ "type": "option"
1119
1026
  },
1120
- "insecure": {
1121
- "char": "k",
1122
- "description": "Skip TLS certificate verification (for self-signed certificates)",
1123
- "name": "insecure",
1027
+ "output": {
1028
+ "char": "o",
1029
+ "description": "Output format",
1030
+ "name": "output",
1124
1031
  "required": false,
1125
- "allowNo": false,
1126
- "type": "boolean"
1127
- },
1128
- "instance_origin": {
1129
- "char": "i",
1130
- "description": "Instance origin URL",
1131
- "name": "instance_origin",
1132
- "required": true,
1032
+ "default": "summary",
1133
1033
  "hasDynamicHelp": false,
1134
1034
  "multiple": false,
1035
+ "options": [
1036
+ "summary",
1037
+ "json"
1038
+ ],
1135
1039
  "type": "option"
1136
1040
  },
1137
1041
  "workspace": {
1138
1042
  "char": "w",
1139
- "description": "Workspace name",
1043
+ "description": "Workspace ID (uses profile workspace if not provided)",
1140
1044
  "name": "workspace",
1141
1045
  "required": false,
1142
1046
  "hasDynamicHelp": false,
@@ -1146,7 +1050,7 @@
1146
1050
  },
1147
1051
  "hasDynamicHelp": false,
1148
1052
  "hiddenAliases": [],
1149
- "id": "profile:create",
1053
+ "id": "branch:edit",
1150
1054
  "pluginAlias": "@xano/cli",
1151
1055
  "pluginName": "@xano/cli",
1152
1056
  "pluginType": "core",
@@ -1156,24 +1060,18 @@
1156
1060
  "relativePath": [
1157
1061
  "dist",
1158
1062
  "commands",
1159
- "profile",
1160
- "create",
1063
+ "branch",
1064
+ "edit",
1161
1065
  "index.js"
1162
1066
  ]
1163
1067
  },
1164
- "platform:get": {
1068
+ "platform:list": {
1165
1069
  "aliases": [],
1166
- "args": {
1167
- "platform_id": {
1168
- "description": "Platform ID to retrieve",
1169
- "name": "platform_id",
1170
- "required": true
1171
- }
1172
- },
1173
- "description": "Get details of a specific platform",
1070
+ "args": {},
1071
+ "description": "List all platforms",
1174
1072
  "examples": [
1175
- "$ 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",
1176
- "$ xano platform get 23629 -o json"
1073
+ "$ xano platform list\nPlatforms:\n ID: 23629 | Helm: 0.1.356 | Created: 2025-11-28\n",
1074
+ "$ xano platform list --output json"
1177
1075
  ],
1178
1076
  "flags": {
1179
1077
  "profile": {
@@ -1212,7 +1110,7 @@
1212
1110
  },
1213
1111
  "hasDynamicHelp": false,
1214
1112
  "hiddenAliases": [],
1215
- "id": "platform:get",
1113
+ "id": "platform:list",
1216
1114
  "pluginAlias": "@xano/cli",
1217
1115
  "pluginName": "@xano/cli",
1218
1116
  "pluginType": "core",
@@ -1223,17 +1121,23 @@
1223
1121
  "dist",
1224
1122
  "commands",
1225
1123
  "platform",
1226
- "get",
1124
+ "list",
1227
1125
  "index.js"
1228
1126
  ]
1229
1127
  },
1230
- "platform:list": {
1128
+ "platform:get": {
1231
1129
  "aliases": [],
1232
- "args": {},
1233
- "description": "List all platforms",
1130
+ "args": {
1131
+ "platform_id": {
1132
+ "description": "Platform ID to retrieve",
1133
+ "name": "platform_id",
1134
+ "required": true
1135
+ }
1136
+ },
1137
+ "description": "Get details of a specific platform",
1234
1138
  "examples": [
1235
- "$ xano platform list\nPlatforms:\n ID: 23629 | Helm: 0.1.356 | Created: 2025-11-28\n",
1236
- "$ xano platform list --output json"
1139
+ "$ 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",
1140
+ "$ xano platform get 23629 -o json"
1237
1141
  ],
1238
1142
  "flags": {
1239
1143
  "profile": {
@@ -1272,7 +1176,7 @@
1272
1176
  },
1273
1177
  "hasDynamicHelp": false,
1274
1178
  "hiddenAliases": [],
1275
- "id": "platform:list",
1179
+ "id": "platform:get",
1276
1180
  "pluginAlias": "@xano/cli",
1277
1181
  "pluginName": "@xano/cli",
1278
1182
  "pluginType": "core",
@@ -1283,81 +1187,20 @@
1283
1187
  "dist",
1284
1188
  "commands",
1285
1189
  "platform",
1286
- "list",
1190
+ "get",
1287
1191
  "index.js"
1288
1192
  ]
1289
1193
  },
1290
- "profile:get": {
1194
+ "profile:edit": {
1291
1195
  "aliases": [],
1292
- "args": {},
1293
- "description": "Get the current default profile name",
1294
- "examples": [
1295
- "$ xano profile get\nproduction\n"
1296
- ],
1297
- "flags": {},
1298
- "hasDynamicHelp": false,
1299
- "hiddenAliases": [],
1300
- "id": "profile:get",
1301
- "pluginAlias": "@xano/cli",
1302
- "pluginName": "@xano/cli",
1303
- "pluginType": "core",
1304
- "strict": true,
1305
- "enableJsonFlag": false,
1306
- "isESM": true,
1307
- "relativePath": [
1308
- "dist",
1309
- "commands",
1310
- "profile",
1311
- "get",
1312
- "index.js"
1313
- ]
1314
- },
1315
- "profile:list": {
1316
- "aliases": [],
1317
- "args": {},
1318
- "description": "List all available profile configurations",
1319
- "examples": [
1320
- "$ xano profile:list\nAvailable profiles:\n - default\n - production\n - staging\n - development\n",
1321
- "$ 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",
1322
- "$ 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"
1323
- ],
1324
- "flags": {
1325
- "details": {
1326
- "char": "d",
1327
- "description": "Show detailed information for each profile",
1328
- "name": "details",
1329
- "required": false,
1330
- "allowNo": false,
1331
- "type": "boolean"
1332
- }
1333
- },
1334
- "hasDynamicHelp": false,
1335
- "hiddenAliases": [],
1336
- "id": "profile:list",
1337
- "pluginAlias": "@xano/cli",
1338
- "pluginName": "@xano/cli",
1339
- "pluginType": "core",
1340
- "strict": true,
1341
- "enableJsonFlag": false,
1342
- "isESM": true,
1343
- "relativePath": [
1344
- "dist",
1345
- "commands",
1346
- "profile",
1347
- "list",
1348
- "index.js"
1349
- ]
1350
- },
1351
- "profile:edit": {
1352
- "aliases": [],
1353
- "args": {
1354
- "name": {
1355
- "description": "Profile name to edit (uses default profile if not specified)",
1356
- "name": "name",
1357
- "required": false
1358
- }
1359
- },
1360
- "description": "Edit an existing profile configuration",
1196
+ "args": {
1197
+ "name": {
1198
+ "description": "Profile name to edit (uses default profile if not specified)",
1199
+ "name": "name",
1200
+ "required": false
1201
+ }
1202
+ },
1203
+ "description": "Edit an existing profile configuration",
1361
1204
  "examples": [
1362
1205
  "$ xano profile:edit --access_token new_token123\nProfile 'default' updated successfully at ~/.xano/credentials.yaml\n",
1363
1206
  "$ xano profile:edit production --access_token new_token123\nProfile 'production' updated successfully at ~/.xano/credentials.yaml\n",
@@ -1478,6 +1321,67 @@
1478
1321
  "index.js"
1479
1322
  ]
1480
1323
  },
1324
+ "profile:get": {
1325
+ "aliases": [],
1326
+ "args": {},
1327
+ "description": "Get the current default profile name",
1328
+ "examples": [
1329
+ "$ xano profile get\nproduction\n"
1330
+ ],
1331
+ "flags": {},
1332
+ "hasDynamicHelp": false,
1333
+ "hiddenAliases": [],
1334
+ "id": "profile:get",
1335
+ "pluginAlias": "@xano/cli",
1336
+ "pluginName": "@xano/cli",
1337
+ "pluginType": "core",
1338
+ "strict": true,
1339
+ "enableJsonFlag": false,
1340
+ "isESM": true,
1341
+ "relativePath": [
1342
+ "dist",
1343
+ "commands",
1344
+ "profile",
1345
+ "get",
1346
+ "index.js"
1347
+ ]
1348
+ },
1349
+ "profile:list": {
1350
+ "aliases": [],
1351
+ "args": {},
1352
+ "description": "List all available profile configurations",
1353
+ "examples": [
1354
+ "$ xano profile:list\nAvailable profiles:\n - default\n - production\n - staging\n - development\n",
1355
+ "$ 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",
1356
+ "$ 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"
1357
+ ],
1358
+ "flags": {
1359
+ "details": {
1360
+ "char": "d",
1361
+ "description": "Show detailed information for each profile",
1362
+ "name": "details",
1363
+ "required": false,
1364
+ "allowNo": false,
1365
+ "type": "boolean"
1366
+ }
1367
+ },
1368
+ "hasDynamicHelp": false,
1369
+ "hiddenAliases": [],
1370
+ "id": "profile:list",
1371
+ "pluginAlias": "@xano/cli",
1372
+ "pluginName": "@xano/cli",
1373
+ "pluginType": "core",
1374
+ "strict": true,
1375
+ "enableJsonFlag": false,
1376
+ "isESM": true,
1377
+ "relativePath": [
1378
+ "dist",
1379
+ "commands",
1380
+ "profile",
1381
+ "list",
1382
+ "index.js"
1383
+ ]
1384
+ },
1481
1385
  "profile:me": {
1482
1386
  "aliases": [],
1483
1387
  "args": {},
@@ -1596,14 +1500,58 @@
1596
1500
  "index.js"
1597
1501
  ]
1598
1502
  },
1599
- "profile:wizard": {
1503
+ "profile:create": {
1600
1504
  "aliases": [],
1601
- "args": {},
1602
- "description": "Create a new profile configuration using an interactive wizard",
1505
+ "args": {
1506
+ "name": {
1507
+ "description": "Profile name",
1508
+ "name": "name",
1509
+ "required": true
1510
+ }
1511
+ },
1512
+ "description": "Create a new profile configuration",
1603
1513
  "examples": [
1604
- "$ 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"
1514
+ "$ xano profile:create production --account_origin https://account.xano.com --instance_origin https://instance.xano.com --access_token token123\nProfile 'production' created successfully at ~/.xano/credentials.yaml\n",
1515
+ "$ xano profile:create staging -a https://staging-account.xano.com -i https://staging-instance.xano.com -t token456\nProfile 'staging' created successfully at ~/.xano/credentials.yaml\n",
1516
+ "$ xano profile:create dev -i https://dev-instance.xano.com -t token789 -w my-workspace -b feature-branch\nProfile 'dev' created successfully at ~/.xano/credentials.yaml\n",
1517
+ "$ xano profile:create production --account_origin https://account.xano.com --instance_origin https://instance.xano.com --access_token token123 --default\nProfile 'production' created successfully at ~/.xano/credentials.yaml\nDefault profile set to 'production'\n",
1518
+ "$ xano profile:create selfhosted -i https://self-signed.example.com -t token123 --insecure\nProfile 'selfhosted' created successfully at ~/.xano/credentials.yaml\n"
1605
1519
  ],
1606
1520
  "flags": {
1521
+ "access_token": {
1522
+ "char": "t",
1523
+ "description": "Access token for the Xano Metadata API",
1524
+ "name": "access_token",
1525
+ "required": true,
1526
+ "hasDynamicHelp": false,
1527
+ "multiple": false,
1528
+ "type": "option"
1529
+ },
1530
+ "account_origin": {
1531
+ "char": "a",
1532
+ "description": "Account origin URL. Optional for self hosted installs.",
1533
+ "name": "account_origin",
1534
+ "required": false,
1535
+ "hasDynamicHelp": false,
1536
+ "multiple": false,
1537
+ "type": "option"
1538
+ },
1539
+ "branch": {
1540
+ "char": "b",
1541
+ "description": "Branch name",
1542
+ "name": "branch",
1543
+ "required": false,
1544
+ "hasDynamicHelp": false,
1545
+ "multiple": false,
1546
+ "type": "option"
1547
+ },
1548
+ "default": {
1549
+ "description": "Set this profile as the default",
1550
+ "name": "default",
1551
+ "required": false,
1552
+ "allowNo": false,
1553
+ "type": "boolean"
1554
+ },
1607
1555
  "insecure": {
1608
1556
  "char": "k",
1609
1557
  "description": "Skip TLS certificate verification (for self-signed certificates)",
@@ -1612,21 +1560,20 @@
1612
1560
  "allowNo": false,
1613
1561
  "type": "boolean"
1614
1562
  },
1615
- "name": {
1616
- "char": "n",
1617
- "description": "Profile name (skip prompt if provided)",
1618
- "name": "name",
1619
- "required": false,
1563
+ "instance_origin": {
1564
+ "char": "i",
1565
+ "description": "Instance origin URL",
1566
+ "name": "instance_origin",
1567
+ "required": true,
1620
1568
  "hasDynamicHelp": false,
1621
1569
  "multiple": false,
1622
1570
  "type": "option"
1623
1571
  },
1624
- "origin": {
1625
- "char": "o",
1626
- "description": "Xano instance origin URL",
1627
- "name": "origin",
1572
+ "workspace": {
1573
+ "char": "w",
1574
+ "description": "Workspace name",
1575
+ "name": "workspace",
1628
1576
  "required": false,
1629
- "default": "https://app.xano.com",
1630
1577
  "hasDynamicHelp": false,
1631
1578
  "multiple": false,
1632
1579
  "type": "option"
@@ -1634,7 +1581,7 @@
1634
1581
  },
1635
1582
  "hasDynamicHelp": false,
1636
1583
  "hiddenAliases": [],
1637
- "id": "profile:wizard",
1584
+ "id": "profile:create",
1638
1585
  "pluginAlias": "@xano/cli",
1639
1586
  "pluginName": "@xano/cli",
1640
1587
  "pluginType": "core",
@@ -1645,7 +1592,49 @@
1645
1592
  "dist",
1646
1593
  "commands",
1647
1594
  "profile",
1648
- "wizard",
1595
+ "create",
1596
+ "index.js"
1597
+ ]
1598
+ },
1599
+ "profile:delete": {
1600
+ "aliases": [],
1601
+ "args": {
1602
+ "name": {
1603
+ "description": "Profile name to delete",
1604
+ "name": "name",
1605
+ "required": true
1606
+ }
1607
+ },
1608
+ "description": "Delete a profile configuration",
1609
+ "examples": [
1610
+ "$ xano profile:delete old-profile\nAre you sure you want to delete profile 'old-profile'? (y/n): y\nProfile 'old-profile' deleted successfully from ~/.xano/credentials.yaml\n",
1611
+ "$ xano profile:delete old-profile --force\nProfile 'old-profile' deleted successfully from ~/.xano/credentials.yaml\n",
1612
+ "$ xano profile:delete old-profile -f\nProfile 'old-profile' deleted successfully from ~/.xano/credentials.yaml\n"
1613
+ ],
1614
+ "flags": {
1615
+ "force": {
1616
+ "char": "f",
1617
+ "description": "Skip confirmation prompt",
1618
+ "name": "force",
1619
+ "required": false,
1620
+ "allowNo": false,
1621
+ "type": "boolean"
1622
+ }
1623
+ },
1624
+ "hasDynamicHelp": false,
1625
+ "hiddenAliases": [],
1626
+ "id": "profile:delete",
1627
+ "pluginAlias": "@xano/cli",
1628
+ "pluginName": "@xano/cli",
1629
+ "pluginType": "core",
1630
+ "strict": true,
1631
+ "enableJsonFlag": false,
1632
+ "isESM": true,
1633
+ "relativePath": [
1634
+ "dist",
1635
+ "commands",
1636
+ "profile",
1637
+ "delete",
1649
1638
  "index.js"
1650
1639
  ]
1651
1640
  },
@@ -1675,23 +1664,76 @@
1675
1664
  "index.js"
1676
1665
  ]
1677
1666
  },
1678
- "release:create": {
1667
+ "profile:wizard": {
1679
1668
  "aliases": [],
1680
1669
  "args": {},
1681
- "description": "Create a new release in a workspace",
1670
+ "description": "Create a new profile configuration using an interactive wizard",
1682
1671
  "examples": [
1683
- "$ xano release create --name \"v1.0\" --branch main\nCreated release: v1.0 - ID: 10\n",
1684
- "$ xano release create --name \"v1.1-hotfix\" --branch main --hotfix --description \"Critical fix\" -o json"
1672
+ "$ 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"
1685
1673
  ],
1686
1674
  "flags": {
1687
- "profile": {
1688
- "char": "p",
1689
- "description": "Profile to use (uses default profile if not specified)",
1690
- "env": "XANO_PROFILE",
1691
- "name": "profile",
1692
- "required": false,
1693
- "hasDynamicHelp": false,
1694
- "multiple": false,
1675
+ "insecure": {
1676
+ "char": "k",
1677
+ "description": "Skip TLS certificate verification (for self-signed certificates)",
1678
+ "name": "insecure",
1679
+ "required": false,
1680
+ "allowNo": false,
1681
+ "type": "boolean"
1682
+ },
1683
+ "name": {
1684
+ "char": "n",
1685
+ "description": "Profile name (skip prompt if provided)",
1686
+ "name": "name",
1687
+ "required": false,
1688
+ "hasDynamicHelp": false,
1689
+ "multiple": false,
1690
+ "type": "option"
1691
+ },
1692
+ "origin": {
1693
+ "char": "o",
1694
+ "description": "Xano instance origin URL",
1695
+ "name": "origin",
1696
+ "required": false,
1697
+ "default": "https://app.xano.com",
1698
+ "hasDynamicHelp": false,
1699
+ "multiple": false,
1700
+ "type": "option"
1701
+ }
1702
+ },
1703
+ "hasDynamicHelp": false,
1704
+ "hiddenAliases": [],
1705
+ "id": "profile:wizard",
1706
+ "pluginAlias": "@xano/cli",
1707
+ "pluginName": "@xano/cli",
1708
+ "pluginType": "core",
1709
+ "strict": true,
1710
+ "enableJsonFlag": false,
1711
+ "isESM": true,
1712
+ "relativePath": [
1713
+ "dist",
1714
+ "commands",
1715
+ "profile",
1716
+ "wizard",
1717
+ "index.js"
1718
+ ]
1719
+ },
1720
+ "release:create": {
1721
+ "aliases": [],
1722
+ "args": {},
1723
+ "description": "Create a new release in a workspace",
1724
+ "examples": [
1725
+ "$ xano release create --name \"v1.0\" --branch main\nCreated release: v1.0 - ID: 10\n",
1726
+ "$ xano release create --name \"v1.1-hotfix\" --branch main --hotfix --description \"Critical fix\" -o json"
1727
+ ],
1728
+ "flags": {
1729
+ "profile": {
1730
+ "char": "p",
1731
+ "description": "Profile to use (uses default profile if not specified)",
1732
+ "env": "XANO_PROFILE",
1733
+ "name": "profile",
1734
+ "required": false,
1735
+ "hasDynamicHelp": false,
1736
+ "multiple": false,
1695
1737
  "type": "option"
1696
1738
  },
1697
1739
  "verbose": {
@@ -1963,20 +2005,15 @@
1963
2005
  "index.js"
1964
2006
  ]
1965
2007
  },
1966
- "release:export": {
2008
+ "static_host:list": {
1967
2009
  "aliases": [],
1968
- "args": {
1969
- "release_name": {
1970
- "description": "Release name to export",
1971
- "name": "release_name",
1972
- "required": true
1973
- }
1974
- },
1975
- "description": "Export (download) a release to a local file",
2010
+ "args": {},
2011
+ "description": "List all static hosts in a workspace from the Xano Metadata API",
1976
2012
  "examples": [
1977
- "$ xano release export v1.0\nDownloaded release 'v1.0' to ./release-v1.0.tar.gz\n",
1978
- "$ xano release export v1.0 --output ./backups/my-release.tar.gz",
1979
- "$ xano release export v1.0 -o json"
2013
+ "$ xano static_host:list -w 40\nAvailable static hosts:\n - my-static-host (ID: 1)\n - another-host (ID: 2)\n",
2014
+ "$ xano static_host:list --profile production\nAvailable static hosts:\n - my-static-host (ID: 1)\n - another-host (ID: 2)\n",
2015
+ "$ 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",
2016
+ "$ xano static_host:list -p staging -o json --page 2\n[\n {\n \"id\": 3,\n \"name\": \"static-host-3\"\n }\n]\n"
1980
2017
  ],
1981
2018
  "flags": {
1982
2019
  "profile": {
@@ -1998,10 +2035,10 @@
1998
2035
  "allowNo": false,
1999
2036
  "type": "boolean"
2000
2037
  },
2001
- "format": {
2038
+ "output": {
2002
2039
  "char": "o",
2003
2040
  "description": "Output format",
2004
- "name": "format",
2041
+ "name": "output",
2005
2042
  "required": false,
2006
2043
  "default": "summary",
2007
2044
  "hasDynamicHelp": false,
@@ -2012,17 +2049,27 @@
2012
2049
  ],
2013
2050
  "type": "option"
2014
2051
  },
2015
- "output": {
2016
- "description": "Output file path (defaults to ./release-{name}.tar.gz)",
2017
- "name": "output",
2052
+ "page": {
2053
+ "description": "Page number for pagination",
2054
+ "name": "page",
2055
+ "required": false,
2056
+ "default": 1,
2057
+ "hasDynamicHelp": false,
2058
+ "multiple": false,
2059
+ "type": "option"
2060
+ },
2061
+ "per_page": {
2062
+ "description": "Number of results per page",
2063
+ "name": "per_page",
2018
2064
  "required": false,
2065
+ "default": 50,
2019
2066
  "hasDynamicHelp": false,
2020
2067
  "multiple": false,
2021
2068
  "type": "option"
2022
2069
  },
2023
2070
  "workspace": {
2024
2071
  "char": "w",
2025
- "description": "Workspace ID (uses profile workspace if not provided)",
2072
+ "description": "Workspace ID (optional if set in profile)",
2026
2073
  "name": "workspace",
2027
2074
  "required": false,
2028
2075
  "hasDynamicHelp": false,
@@ -2032,7 +2079,7 @@
2032
2079
  },
2033
2080
  "hasDynamicHelp": false,
2034
2081
  "hiddenAliases": [],
2035
- "id": "release:export",
2082
+ "id": "static_host:list",
2036
2083
  "pluginAlias": "@xano/cli",
2037
2084
  "pluginName": "@xano/cli",
2038
2085
  "pluginType": "core",
@@ -2042,24 +2089,25 @@
2042
2089
  "relativePath": [
2043
2090
  "dist",
2044
2091
  "commands",
2045
- "release",
2046
- "export",
2092
+ "static_host",
2093
+ "list",
2047
2094
  "index.js"
2048
2095
  ]
2049
2096
  },
2050
- "release:get": {
2097
+ "release:export": {
2051
2098
  "aliases": [],
2052
2099
  "args": {
2053
2100
  "release_name": {
2054
- "description": "Release name to retrieve",
2101
+ "description": "Release name to export",
2055
2102
  "name": "release_name",
2056
2103
  "required": true
2057
2104
  }
2058
2105
  },
2059
- "description": "Get details of a specific release",
2106
+ "description": "Export (download) a release to a local file",
2060
2107
  "examples": [
2061
- "$ xano release get v1.0\nRelease: v1.0 - ID: 10\n Branch: main\n Description: Initial release\n Hotfix: false\n",
2062
- "$ xano release get v1.0 -w 5 -o json"
2108
+ "$ xano release export v1.0\nDownloaded release 'v1.0' to ./release-v1.0.tar.gz\n",
2109
+ "$ xano release export v1.0 --output ./backups/my-release.tar.gz",
2110
+ "$ xano release export v1.0 -o json"
2063
2111
  ],
2064
2112
  "flags": {
2065
2113
  "profile": {
@@ -2081,10 +2129,10 @@
2081
2129
  "allowNo": false,
2082
2130
  "type": "boolean"
2083
2131
  },
2084
- "output": {
2132
+ "format": {
2085
2133
  "char": "o",
2086
2134
  "description": "Output format",
2087
- "name": "output",
2135
+ "name": "format",
2088
2136
  "required": false,
2089
2137
  "default": "summary",
2090
2138
  "hasDynamicHelp": false,
@@ -2095,6 +2143,14 @@
2095
2143
  ],
2096
2144
  "type": "option"
2097
2145
  },
2146
+ "output": {
2147
+ "description": "Output file path (defaults to ./release-{name}.tar.gz)",
2148
+ "name": "output",
2149
+ "required": false,
2150
+ "hasDynamicHelp": false,
2151
+ "multiple": false,
2152
+ "type": "option"
2153
+ },
2098
2154
  "workspace": {
2099
2155
  "char": "w",
2100
2156
  "description": "Workspace ID (uses profile workspace if not provided)",
@@ -2107,7 +2163,7 @@
2107
2163
  },
2108
2164
  "hasDynamicHelp": false,
2109
2165
  "hiddenAliases": [],
2110
- "id": "release:get",
2166
+ "id": "release:export",
2111
2167
  "pluginAlias": "@xano/cli",
2112
2168
  "pluginName": "@xano/cli",
2113
2169
  "pluginType": "core",
@@ -2118,49 +2174,7 @@
2118
2174
  "dist",
2119
2175
  "commands",
2120
2176
  "release",
2121
- "get",
2122
- "index.js"
2123
- ]
2124
- },
2125
- "profile:delete": {
2126
- "aliases": [],
2127
- "args": {
2128
- "name": {
2129
- "description": "Profile name to delete",
2130
- "name": "name",
2131
- "required": true
2132
- }
2133
- },
2134
- "description": "Delete a profile configuration",
2135
- "examples": [
2136
- "$ xano profile:delete old-profile\nAre you sure you want to delete profile 'old-profile'? (y/n): y\nProfile 'old-profile' deleted successfully from ~/.xano/credentials.yaml\n",
2137
- "$ xano profile:delete old-profile --force\nProfile 'old-profile' deleted successfully from ~/.xano/credentials.yaml\n",
2138
- "$ xano profile:delete old-profile -f\nProfile 'old-profile' deleted successfully from ~/.xano/credentials.yaml\n"
2139
- ],
2140
- "flags": {
2141
- "force": {
2142
- "char": "f",
2143
- "description": "Skip confirmation prompt",
2144
- "name": "force",
2145
- "required": false,
2146
- "allowNo": false,
2147
- "type": "boolean"
2148
- }
2149
- },
2150
- "hasDynamicHelp": false,
2151
- "hiddenAliases": [],
2152
- "id": "profile:delete",
2153
- "pluginAlias": "@xano/cli",
2154
- "pluginName": "@xano/cli",
2155
- "pluginType": "core",
2156
- "strict": true,
2157
- "enableJsonFlag": false,
2158
- "isESM": true,
2159
- "relativePath": [
2160
- "dist",
2161
- "commands",
2162
- "profile",
2163
- "delete",
2177
+ "export",
2164
2178
  "index.js"
2165
2179
  ]
2166
2180
  },
@@ -2242,13 +2256,19 @@
2242
2256
  "index.js"
2243
2257
  ]
2244
2258
  },
2245
- "release:list": {
2259
+ "release:get": {
2246
2260
  "aliases": [],
2247
- "args": {},
2248
- "description": "List all releases in a workspace",
2261
+ "args": {
2262
+ "release_name": {
2263
+ "description": "Release name to retrieve",
2264
+ "name": "release_name",
2265
+ "required": true
2266
+ }
2267
+ },
2268
+ "description": "Get details of a specific release",
2249
2269
  "examples": [
2250
- "$ xano release list\nReleases in workspace 5:\n - v1.0 (ID: 10) - main\n - v1.1-hotfix (ID: 11) - main [hotfix]\n",
2251
- "$ xano release list -w 5 --output json"
2270
+ "$ xano release get v1.0\nRelease: v1.0 - ID: 10\n Branch: main\n Description: Initial release\n Hotfix: false\n",
2271
+ "$ xano release get v1.0 -w 5 -o json"
2252
2272
  ],
2253
2273
  "flags": {
2254
2274
  "profile": {
@@ -2296,7 +2316,7 @@
2296
2316
  },
2297
2317
  "hasDynamicHelp": false,
2298
2318
  "hiddenAliases": [],
2299
- "id": "release:list",
2319
+ "id": "release:get",
2300
2320
  "pluginAlias": "@xano/cli",
2301
2321
  "pluginName": "@xano/cli",
2302
2322
  "pluginType": "core",
@@ -2307,24 +2327,26 @@
2307
2327
  "dist",
2308
2328
  "commands",
2309
2329
  "release",
2310
- "list",
2330
+ "get",
2311
2331
  "index.js"
2312
2332
  ]
2313
2333
  },
2314
- "release:pull": {
2334
+ "release:push": {
2315
2335
  "aliases": [],
2316
2336
  "args": {
2317
2337
  "directory": {
2318
- "description": "Output directory for pulled documents",
2338
+ "description": "Directory containing .xs documents to create the release from",
2319
2339
  "name": "directory",
2320
2340
  "required": true
2321
2341
  }
2322
2342
  },
2323
- "description": "Pull a release multidoc from the Xano Metadata API and split into individual files",
2343
+ "description": "Create a new release from local XanoScript files via the multidoc endpoint",
2324
2344
  "examples": [
2325
- "$ xano release pull ./my-release -r v1.0\nPulled 42 documents from release 'v1.0' to ./my-release\n",
2326
- "$ xano release pull ./output -r v1.0 -w 40\nPulled 15 documents from release 'v1.0' to ./output\n",
2327
- "$ xano release pull ./backup -r v1.0 --profile production --env --records\nPulled 58 documents from release 'v1.0' to ./backup\n"
2345
+ "$ xano release push ./my-release -n \"v1.0\"\nCreated release: v1.0 - ID: 10\n",
2346
+ "$ xano release push ./output -n \"v2.0\" -w 40 -d \"Major update\"\nCreated release: v2.0 - ID: 15\n",
2347
+ "$ xano release push ./backup -n \"v1.1-hotfix\" --hotfix --profile production\nCreated release: v1.1-hotfix - ID: 20\n",
2348
+ "$ xano release push ./my-release -n \"v1.0\" --no-records --no-env\nCreate release from schema only, skip records and environment variables\n",
2349
+ "$ xano release push ./my-release -n \"v1.0\" -o json\nOutput release details as JSON\n"
2328
2350
  ],
2329
2351
  "flags": {
2330
2352
  "profile": {
@@ -2346,118 +2368,60 @@
2346
2368
  "allowNo": false,
2347
2369
  "type": "boolean"
2348
2370
  },
2371
+ "description": {
2372
+ "char": "d",
2373
+ "description": "Release description",
2374
+ "name": "description",
2375
+ "required": false,
2376
+ "default": "",
2377
+ "hasDynamicHelp": false,
2378
+ "multiple": false,
2379
+ "type": "option"
2380
+ },
2349
2381
  "env": {
2350
- "description": "Include environment variables",
2382
+ "description": "Include environment variables (default: true, use --no-env to exclude)",
2351
2383
  "name": "env",
2352
2384
  "required": false,
2353
- "allowNo": false,
2385
+ "allowNo": true,
2354
2386
  "type": "boolean"
2355
2387
  },
2356
- "records": {
2357
- "description": "Include records",
2358
- "name": "records",
2388
+ "hotfix": {
2389
+ "description": "Mark as a hotfix release",
2390
+ "name": "hotfix",
2359
2391
  "required": false,
2360
2392
  "allowNo": false,
2361
2393
  "type": "boolean"
2362
2394
  },
2363
- "release": {
2364
- "char": "r",
2365
- "description": "Release name to pull from",
2366
- "name": "release",
2395
+ "name": {
2396
+ "char": "n",
2397
+ "description": "Name for the release",
2398
+ "name": "name",
2367
2399
  "required": true,
2368
2400
  "hasDynamicHelp": false,
2369
2401
  "multiple": false,
2370
2402
  "type": "option"
2371
2403
  },
2372
- "workspace": {
2373
- "char": "w",
2374
- "description": "Workspace ID (optional if set in profile)",
2375
- "name": "workspace",
2376
- "required": false,
2377
- "hasDynamicHelp": false,
2378
- "multiple": false,
2379
- "type": "option"
2380
- }
2381
- },
2382
- "hasDynamicHelp": false,
2383
- "hiddenAliases": [],
2384
- "id": "release:pull",
2385
- "pluginAlias": "@xano/cli",
2386
- "pluginName": "@xano/cli",
2387
- "pluginType": "core",
2388
- "strict": true,
2389
- "enableJsonFlag": false,
2390
- "isESM": true,
2391
- "relativePath": [
2392
- "dist",
2393
- "commands",
2394
- "release",
2395
- "pull",
2396
- "index.js"
2397
- ]
2398
- },
2399
- "static_host:list": {
2400
- "aliases": [],
2401
- "args": {},
2402
- "description": "List all static hosts in a workspace from the Xano Metadata API",
2403
- "examples": [
2404
- "$ xano static_host:list -w 40\nAvailable static hosts:\n - my-static-host (ID: 1)\n - another-host (ID: 2)\n",
2405
- "$ xano static_host:list --profile production\nAvailable static hosts:\n - my-static-host (ID: 1)\n - another-host (ID: 2)\n",
2406
- "$ 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",
2407
- "$ xano static_host:list -p staging -o json --page 2\n[\n {\n \"id\": 3,\n \"name\": \"static-host-3\"\n }\n]\n"
2408
- ],
2409
- "flags": {
2410
- "profile": {
2411
- "char": "p",
2412
- "description": "Profile to use (uses default profile if not specified)",
2413
- "env": "XANO_PROFILE",
2414
- "name": "profile",
2404
+ "output": {
2405
+ "char": "o",
2406
+ "description": "Output format",
2407
+ "name": "output",
2415
2408
  "required": false,
2409
+ "default": "summary",
2416
2410
  "hasDynamicHelp": false,
2417
2411
  "multiple": false,
2412
+ "options": [
2413
+ "summary",
2414
+ "json"
2415
+ ],
2418
2416
  "type": "option"
2419
2417
  },
2420
- "verbose": {
2421
- "char": "v",
2422
- "description": "Show detailed request/response information",
2423
- "env": "XANO_VERBOSE",
2424
- "name": "verbose",
2418
+ "records": {
2419
+ "description": "Include records (default: true, use --no-records to exclude)",
2420
+ "name": "records",
2425
2421
  "required": false,
2426
- "allowNo": false,
2422
+ "allowNo": true,
2427
2423
  "type": "boolean"
2428
2424
  },
2429
- "output": {
2430
- "char": "o",
2431
- "description": "Output format",
2432
- "name": "output",
2433
- "required": false,
2434
- "default": "summary",
2435
- "hasDynamicHelp": false,
2436
- "multiple": false,
2437
- "options": [
2438
- "summary",
2439
- "json"
2440
- ],
2441
- "type": "option"
2442
- },
2443
- "page": {
2444
- "description": "Page number for pagination",
2445
- "name": "page",
2446
- "required": false,
2447
- "default": 1,
2448
- "hasDynamicHelp": false,
2449
- "multiple": false,
2450
- "type": "option"
2451
- },
2452
- "per_page": {
2453
- "description": "Number of results per page",
2454
- "name": "per_page",
2455
- "required": false,
2456
- "default": 50,
2457
- "hasDynamicHelp": false,
2458
- "multiple": false,
2459
- "type": "option"
2460
- },
2461
2425
  "workspace": {
2462
2426
  "char": "w",
2463
2427
  "description": "Workspace ID (optional if set in profile)",
@@ -2470,7 +2434,7 @@
2470
2434
  },
2471
2435
  "hasDynamicHelp": false,
2472
2436
  "hiddenAliases": [],
2473
- "id": "static_host:list",
2437
+ "id": "release:push",
2474
2438
  "pluginAlias": "@xano/cli",
2475
2439
  "pluginName": "@xano/cli",
2476
2440
  "pluginType": "core",
@@ -2480,24 +2444,18 @@
2480
2444
  "relativePath": [
2481
2445
  "dist",
2482
2446
  "commands",
2483
- "static_host",
2484
- "list",
2447
+ "release",
2448
+ "push",
2485
2449
  "index.js"
2486
2450
  ]
2487
2451
  },
2488
- "tenant:create": {
2452
+ "release:list": {
2489
2453
  "aliases": [],
2490
- "args": {
2491
- "display": {
2492
- "description": "Display name for the tenant",
2493
- "name": "display",
2494
- "required": true
2495
- }
2496
- },
2497
- "description": "Create a new tenant in a workspace",
2454
+ "args": {},
2455
+ "description": "List all releases in a workspace",
2498
2456
  "examples": [
2499
- "$ xano tenant create \"Production\"\nCreated tenant: Production (production) - ID: 42\n",
2500
- "$ xano tenant create \"Staging\" --description \"Staging env\" --cluster_id 1 --platform_id 1 --license tier2 -o json"
2457
+ "$ xano release list\nReleases in workspace 5:\n - v1.0 (ID: 10) - main\n - v1.1-hotfix (ID: 11) - main [hotfix]\n",
2458
+ "$ xano release list -w 5 --output json"
2501
2459
  ],
2502
2460
  "flags": {
2503
2461
  "profile": {
@@ -2519,57 +2477,6 @@
2519
2477
  "allowNo": false,
2520
2478
  "type": "boolean"
2521
2479
  },
2522
- "cluster_id": {
2523
- "description": "Cluster ID to deploy to (required for tier2/tier3)",
2524
- "name": "cluster_id",
2525
- "required": false,
2526
- "hasDynamicHelp": false,
2527
- "multiple": false,
2528
- "type": "option"
2529
- },
2530
- "description": {
2531
- "char": "d",
2532
- "description": "Tenant description",
2533
- "name": "description",
2534
- "required": false,
2535
- "hasDynamicHelp": false,
2536
- "multiple": false,
2537
- "type": "option"
2538
- },
2539
- "domain": {
2540
- "description": "Custom domain for the tenant",
2541
- "name": "domain",
2542
- "required": false,
2543
- "hasDynamicHelp": false,
2544
- "multiple": false,
2545
- "type": "option"
2546
- },
2547
- "ephemeral": {
2548
- "description": "Mark tenant as ephemeral (allows push operations)",
2549
- "name": "ephemeral",
2550
- "allowNo": false,
2551
- "type": "boolean"
2552
- },
2553
- "ingress": {
2554
- "description": "Enable ingress",
2555
- "name": "ingress",
2556
- "allowNo": true,
2557
- "type": "boolean"
2558
- },
2559
- "license": {
2560
- "description": "License tier",
2561
- "name": "license",
2562
- "required": false,
2563
- "default": "tier1",
2564
- "hasDynamicHelp": false,
2565
- "multiple": false,
2566
- "options": [
2567
- "tier1",
2568
- "tier2",
2569
- "tier3"
2570
- ],
2571
- "type": "option"
2572
- },
2573
2480
  "output": {
2574
2481
  "char": "o",
2575
2482
  "description": "Output format",
@@ -2584,20 +2491,6 @@
2584
2491
  ],
2585
2492
  "type": "option"
2586
2493
  },
2587
- "platform_id": {
2588
- "description": "Platform ID to use",
2589
- "name": "platform_id",
2590
- "required": false,
2591
- "hasDynamicHelp": false,
2592
- "multiple": false,
2593
- "type": "option"
2594
- },
2595
- "tasks": {
2596
- "description": "Enable background tasks",
2597
- "name": "tasks",
2598
- "allowNo": true,
2599
- "type": "boolean"
2600
- },
2601
2494
  "workspace": {
2602
2495
  "char": "w",
2603
2496
  "description": "Workspace ID (uses profile workspace if not provided)",
@@ -2610,7 +2503,7 @@
2610
2503
  },
2611
2504
  "hasDynamicHelp": false,
2612
2505
  "hiddenAliases": [],
2613
- "id": "tenant:create",
2506
+ "id": "release:list",
2614
2507
  "pluginAlias": "@xano/cli",
2615
2508
  "pluginName": "@xano/cli",
2616
2509
  "pluginType": "core",
@@ -2620,25 +2513,25 @@
2620
2513
  "relativePath": [
2621
2514
  "dist",
2622
2515
  "commands",
2623
- "tenant",
2624
- "create",
2516
+ "release",
2517
+ "list",
2625
2518
  "index.js"
2626
2519
  ]
2627
2520
  },
2628
- "tenant:delete": {
2521
+ "release:pull": {
2629
2522
  "aliases": [],
2630
2523
  "args": {
2631
- "tenant_name": {
2632
- "description": "Tenant name to delete",
2633
- "name": "tenant_name",
2524
+ "directory": {
2525
+ "description": "Output directory for pulled documents",
2526
+ "name": "directory",
2634
2527
  "required": true
2635
2528
  }
2636
2529
  },
2637
- "description": "Delete a tenant permanently. This destroys all associated infrastructure and cannot be undone.",
2530
+ "description": "Pull a release multidoc from the Xano Metadata API and split into individual files",
2638
2531
  "examples": [
2639
- "$ 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",
2640
- "$ xano tenant delete t1234-abcd-xyz1 --force\nDeleted tenant t1234-abcd-xyz1\n",
2641
- "$ xano tenant delete t1234-abcd-xyz1 -f -o json"
2532
+ "$ xano release pull ./my-release -r v1.0\nPulled 42 documents from release 'v1.0' to ./my-release\n",
2533
+ "$ xano release pull ./output -r v1.0 -w 40\nPulled 15 documents from release 'v1.0' to ./output\n",
2534
+ "$ xano release pull ./backup -r v1.0 --profile production --env --records\nPulled 58 documents from release 'v1.0' to ./backup\n"
2642
2535
  ],
2643
2536
  "flags": {
2644
2537
  "profile": {
@@ -2660,31 +2553,32 @@
2660
2553
  "allowNo": false,
2661
2554
  "type": "boolean"
2662
2555
  },
2663
- "force": {
2664
- "char": "f",
2665
- "description": "Skip confirmation prompt",
2666
- "name": "force",
2556
+ "env": {
2557
+ "description": "Include environment variables",
2558
+ "name": "env",
2667
2559
  "required": false,
2668
2560
  "allowNo": false,
2669
2561
  "type": "boolean"
2670
2562
  },
2671
- "output": {
2672
- "char": "o",
2673
- "description": "Output format",
2674
- "name": "output",
2563
+ "records": {
2564
+ "description": "Include records",
2565
+ "name": "records",
2675
2566
  "required": false,
2676
- "default": "summary",
2567
+ "allowNo": false,
2568
+ "type": "boolean"
2569
+ },
2570
+ "release": {
2571
+ "char": "r",
2572
+ "description": "Release name to pull from",
2573
+ "name": "release",
2574
+ "required": true,
2677
2575
  "hasDynamicHelp": false,
2678
2576
  "multiple": false,
2679
- "options": [
2680
- "summary",
2681
- "json"
2682
- ],
2683
2577
  "type": "option"
2684
2578
  },
2685
2579
  "workspace": {
2686
2580
  "char": "w",
2687
- "description": "Workspace ID (uses profile workspace if not provided)",
2581
+ "description": "Workspace ID (optional if set in profile)",
2688
2582
  "name": "workspace",
2689
2583
  "required": false,
2690
2584
  "hasDynamicHelp": false,
@@ -2694,7 +2588,7 @@
2694
2588
  },
2695
2589
  "hasDynamicHelp": false,
2696
2590
  "hiddenAliases": [],
2697
- "id": "tenant:delete",
2591
+ "id": "release:pull",
2698
2592
  "pluginAlias": "@xano/cli",
2699
2593
  "pluginName": "@xano/cli",
2700
2594
  "pluginType": "core",
@@ -2704,25 +2598,24 @@
2704
2598
  "relativePath": [
2705
2599
  "dist",
2706
2600
  "commands",
2707
- "tenant",
2708
- "delete",
2601
+ "release",
2602
+ "pull",
2709
2603
  "index.js"
2710
2604
  ]
2711
2605
  },
2712
- "tenant:deploy_platform": {
2606
+ "tenant:create": {
2713
2607
  "aliases": [],
2714
2608
  "args": {
2715
- "tenant_name": {
2716
- "description": "Tenant name to deploy to",
2717
- "name": "tenant_name",
2609
+ "display": {
2610
+ "description": "Display name for the tenant",
2611
+ "name": "display",
2718
2612
  "required": true
2719
2613
  }
2720
2614
  },
2721
- "description": "Deploy a platform version to a tenant",
2615
+ "description": "Create a new tenant in a workspace",
2722
2616
  "examples": [
2723
- "$ xano tenant deploy_platform t1234-abcd-xyz1 --platform_id 5\nDeployed platform 5 to tenant: My Tenant (my-tenant)\n",
2724
- "$ xano tenant deploy_platform t1234-abcd-xyz1 --platform_id 5 -o json",
2725
- "$ xano tenant deploy_platform t1234-abcd-xyz1 --platform_id 5 --license ./license.yaml"
2617
+ "$ xano tenant create \"Production\"\nCreated tenant: Production (production) - ID: 42\n",
2618
+ "$ xano tenant create \"Staging\" --description \"Staging env\" --cluster_id 1 --platform_id 1 --license tier2 -o json"
2726
2619
  ],
2727
2620
  "flags": {
2728
2621
  "profile": {
@@ -2744,132 +2637,55 @@
2744
2637
  "allowNo": false,
2745
2638
  "type": "boolean"
2746
2639
  },
2747
- "license": {
2748
- "char": "l",
2749
- "description": "Path to a license override file to apply after deploy",
2750
- "name": "license",
2640
+ "cluster_id": {
2641
+ "description": "Cluster ID to deploy to (required for tier2/tier3)",
2642
+ "name": "cluster_id",
2751
2643
  "required": false,
2752
2644
  "hasDynamicHelp": false,
2753
2645
  "multiple": false,
2754
2646
  "type": "option"
2755
2647
  },
2756
- "output": {
2757
- "char": "o",
2758
- "description": "Output format",
2759
- "name": "output",
2648
+ "description": {
2649
+ "char": "d",
2650
+ "description": "Tenant description",
2651
+ "name": "description",
2760
2652
  "required": false,
2761
- "default": "summary",
2762
2653
  "hasDynamicHelp": false,
2763
2654
  "multiple": false,
2764
- "options": [
2765
- "summary",
2766
- "json"
2767
- ],
2768
2655
  "type": "option"
2769
2656
  },
2770
- "platform_id": {
2771
- "description": "Platform ID to deploy",
2772
- "name": "platform_id",
2773
- "required": true,
2774
- "hasDynamicHelp": false,
2775
- "multiple": false,
2776
- "type": "option"
2777
- },
2778
- "workspace": {
2779
- "char": "w",
2780
- "description": "Workspace ID (uses profile workspace if not provided)",
2781
- "name": "workspace",
2782
- "required": false,
2783
- "hasDynamicHelp": false,
2784
- "multiple": false,
2785
- "type": "option"
2786
- }
2787
- },
2788
- "hasDynamicHelp": false,
2789
- "hiddenAliases": [],
2790
- "id": "tenant:deploy_platform",
2791
- "pluginAlias": "@xano/cli",
2792
- "pluginName": "@xano/cli",
2793
- "pluginType": "core",
2794
- "strict": true,
2795
- "enableJsonFlag": false,
2796
- "isESM": true,
2797
- "relativePath": [
2798
- "dist",
2799
- "commands",
2800
- "tenant",
2801
- "deploy_platform",
2802
- "index.js"
2803
- ]
2804
- },
2805
- "release:push": {
2806
- "aliases": [],
2807
- "args": {
2808
- "directory": {
2809
- "description": "Directory containing .xs documents to create the release from",
2810
- "name": "directory",
2811
- "required": true
2812
- }
2813
- },
2814
- "description": "Create a new release from local XanoScript files via the multidoc endpoint",
2815
- "examples": [
2816
- "$ xano release push ./my-release -n \"v1.0\"\nCreated release: v1.0 - ID: 10\n",
2817
- "$ xano release push ./output -n \"v2.0\" -w 40 -d \"Major update\"\nCreated release: v2.0 - ID: 15\n",
2818
- "$ xano release push ./backup -n \"v1.1-hotfix\" --hotfix --profile production\nCreated release: v1.1-hotfix - ID: 20\n",
2819
- "$ xano release push ./my-release -n \"v1.0\" --no-records --no-env\nCreate release from schema only, skip records and environment variables\n",
2820
- "$ xano release push ./my-release -n \"v1.0\" -o json\nOutput release details as JSON\n"
2821
- ],
2822
- "flags": {
2823
- "profile": {
2824
- "char": "p",
2825
- "description": "Profile to use (uses default profile if not specified)",
2826
- "env": "XANO_PROFILE",
2827
- "name": "profile",
2657
+ "domain": {
2658
+ "description": "Custom domain for the tenant",
2659
+ "name": "domain",
2828
2660
  "required": false,
2829
2661
  "hasDynamicHelp": false,
2830
2662
  "multiple": false,
2831
2663
  "type": "option"
2832
2664
  },
2833
- "verbose": {
2834
- "char": "v",
2835
- "description": "Show detailed request/response information",
2836
- "env": "XANO_VERBOSE",
2837
- "name": "verbose",
2838
- "required": false,
2665
+ "ephemeral": {
2666
+ "description": "Mark tenant as ephemeral (allows push operations)",
2667
+ "name": "ephemeral",
2839
2668
  "allowNo": false,
2840
2669
  "type": "boolean"
2841
2670
  },
2842
- "description": {
2843
- "char": "d",
2844
- "description": "Release description",
2845
- "name": "description",
2846
- "required": false,
2847
- "default": "",
2848
- "hasDynamicHelp": false,
2849
- "multiple": false,
2850
- "type": "option"
2851
- },
2852
- "env": {
2853
- "description": "Include environment variables (default: true, use --no-env to exclude)",
2854
- "name": "env",
2855
- "required": false,
2671
+ "ingress": {
2672
+ "description": "Enable ingress",
2673
+ "name": "ingress",
2856
2674
  "allowNo": true,
2857
2675
  "type": "boolean"
2858
2676
  },
2859
- "hotfix": {
2860
- "description": "Mark as a hotfix release",
2861
- "name": "hotfix",
2677
+ "license": {
2678
+ "description": "License tier",
2679
+ "name": "license",
2862
2680
  "required": false,
2863
- "allowNo": false,
2864
- "type": "boolean"
2865
- },
2866
- "name": {
2867
- "char": "n",
2868
- "description": "Name for the release",
2869
- "name": "name",
2870
- "required": true,
2681
+ "default": "tier1",
2871
2682
  "hasDynamicHelp": false,
2872
2683
  "multiple": false,
2684
+ "options": [
2685
+ "tier1",
2686
+ "tier2",
2687
+ "tier3"
2688
+ ],
2873
2689
  "type": "option"
2874
2690
  },
2875
2691
  "output": {
@@ -2886,16 +2702,23 @@
2886
2702
  ],
2887
2703
  "type": "option"
2888
2704
  },
2889
- "records": {
2890
- "description": "Include records (default: true, use --no-records to exclude)",
2891
- "name": "records",
2705
+ "platform_id": {
2706
+ "description": "Platform ID to use",
2707
+ "name": "platform_id",
2892
2708
  "required": false,
2709
+ "hasDynamicHelp": false,
2710
+ "multiple": false,
2711
+ "type": "option"
2712
+ },
2713
+ "tasks": {
2714
+ "description": "Enable background tasks",
2715
+ "name": "tasks",
2893
2716
  "allowNo": true,
2894
2717
  "type": "boolean"
2895
2718
  },
2896
2719
  "workspace": {
2897
2720
  "char": "w",
2898
- "description": "Workspace ID (optional if set in profile)",
2721
+ "description": "Workspace ID (uses profile workspace if not provided)",
2899
2722
  "name": "workspace",
2900
2723
  "required": false,
2901
2724
  "hasDynamicHelp": false,
@@ -2905,7 +2728,7 @@
2905
2728
  },
2906
2729
  "hasDynamicHelp": false,
2907
2730
  "hiddenAliases": [],
2908
- "id": "release:push",
2731
+ "id": "tenant:create",
2909
2732
  "pluginAlias": "@xano/cli",
2910
2733
  "pluginName": "@xano/cli",
2911
2734
  "pluginType": "core",
@@ -2915,8 +2738,8 @@
2915
2738
  "relativePath": [
2916
2739
  "dist",
2917
2740
  "commands",
2918
- "release",
2919
- "push",
2741
+ "tenant",
2742
+ "create",
2920
2743
  "index.js"
2921
2744
  ]
2922
2745
  },
@@ -3133,19 +2956,20 @@
3133
2956
  "index.js"
3134
2957
  ]
3135
2958
  },
3136
- "tenant:impersonate": {
2959
+ "tenant:deploy_platform": {
3137
2960
  "aliases": [],
3138
2961
  "args": {
3139
2962
  "tenant_name": {
3140
- "description": "Tenant name to impersonate",
2963
+ "description": "Tenant name to deploy to",
3141
2964
  "name": "tenant_name",
3142
2965
  "required": true
3143
2966
  }
3144
2967
  },
3145
- "description": "Impersonate a tenant and open it in the browser",
2968
+ "description": "Deploy a platform version to a tenant",
3146
2969
  "examples": [
3147
- "$ xano tenant impersonate my-tenant\nOpening browser...\nImpersonation successful!\n",
3148
- "$ xano tenant impersonate my-tenant -o json"
2970
+ "$ xano tenant deploy_platform t1234-abcd-xyz1 --platform_id 5\nDeployed platform 5 to tenant: My Tenant (my-tenant)\n",
2971
+ "$ xano tenant deploy_platform t1234-abcd-xyz1 --platform_id 5 -o json",
2972
+ "$ xano tenant deploy_platform t1234-abcd-xyz1 --platform_id 5 --license ./license.yaml"
3149
2973
  ],
3150
2974
  "flags": {
3151
2975
  "profile": {
@@ -3167,6 +2991,15 @@
3167
2991
  "allowNo": false,
3168
2992
  "type": "boolean"
3169
2993
  },
2994
+ "license": {
2995
+ "char": "l",
2996
+ "description": "Path to a license override file to apply after deploy",
2997
+ "name": "license",
2998
+ "required": false,
2999
+ "hasDynamicHelp": false,
3000
+ "multiple": false,
3001
+ "type": "option"
3002
+ },
3170
3003
  "output": {
3171
3004
  "char": "o",
3172
3005
  "description": "Output format",
@@ -3181,14 +3014,98 @@
3181
3014
  ],
3182
3015
  "type": "option"
3183
3016
  },
3184
- "url-only": {
3185
- "char": "u",
3186
- "description": "Print the URL without opening the browser",
3187
- "name": "url-only",
3017
+ "platform_id": {
3018
+ "description": "Platform ID to deploy",
3019
+ "name": "platform_id",
3020
+ "required": true,
3021
+ "hasDynamicHelp": false,
3022
+ "multiple": false,
3023
+ "type": "option"
3024
+ },
3025
+ "workspace": {
3026
+ "char": "w",
3027
+ "description": "Workspace ID (uses profile workspace if not provided)",
3028
+ "name": "workspace",
3029
+ "required": false,
3030
+ "hasDynamicHelp": false,
3031
+ "multiple": false,
3032
+ "type": "option"
3033
+ }
3034
+ },
3035
+ "hasDynamicHelp": false,
3036
+ "hiddenAliases": [],
3037
+ "id": "tenant:deploy_platform",
3038
+ "pluginAlias": "@xano/cli",
3039
+ "pluginName": "@xano/cli",
3040
+ "pluginType": "core",
3041
+ "strict": true,
3042
+ "enableJsonFlag": false,
3043
+ "isESM": true,
3044
+ "relativePath": [
3045
+ "dist",
3046
+ "commands",
3047
+ "tenant",
3048
+ "deploy_platform",
3049
+ "index.js"
3050
+ ]
3051
+ },
3052
+ "tenant:delete": {
3053
+ "aliases": [],
3054
+ "args": {
3055
+ "tenant_name": {
3056
+ "description": "Tenant name to delete",
3057
+ "name": "tenant_name",
3058
+ "required": true
3059
+ }
3060
+ },
3061
+ "description": "Delete a tenant permanently. This destroys all associated infrastructure and cannot be undone.",
3062
+ "examples": [
3063
+ "$ 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",
3064
+ "$ xano tenant delete t1234-abcd-xyz1 --force\nDeleted tenant t1234-abcd-xyz1\n",
3065
+ "$ xano tenant delete t1234-abcd-xyz1 -f -o json"
3066
+ ],
3067
+ "flags": {
3068
+ "profile": {
3069
+ "char": "p",
3070
+ "description": "Profile to use (uses default profile if not specified)",
3071
+ "env": "XANO_PROFILE",
3072
+ "name": "profile",
3073
+ "required": false,
3074
+ "hasDynamicHelp": false,
3075
+ "multiple": false,
3076
+ "type": "option"
3077
+ },
3078
+ "verbose": {
3079
+ "char": "v",
3080
+ "description": "Show detailed request/response information",
3081
+ "env": "XANO_VERBOSE",
3082
+ "name": "verbose",
3083
+ "required": false,
3084
+ "allowNo": false,
3085
+ "type": "boolean"
3086
+ },
3087
+ "force": {
3088
+ "char": "f",
3089
+ "description": "Skip confirmation prompt",
3090
+ "name": "force",
3188
3091
  "required": false,
3189
3092
  "allowNo": false,
3190
3093
  "type": "boolean"
3191
3094
  },
3095
+ "output": {
3096
+ "char": "o",
3097
+ "description": "Output format",
3098
+ "name": "output",
3099
+ "required": false,
3100
+ "default": "summary",
3101
+ "hasDynamicHelp": false,
3102
+ "multiple": false,
3103
+ "options": [
3104
+ "summary",
3105
+ "json"
3106
+ ],
3107
+ "type": "option"
3108
+ },
3192
3109
  "workspace": {
3193
3110
  "char": "w",
3194
3111
  "description": "Workspace ID (uses profile workspace if not provided)",
@@ -3201,7 +3118,7 @@
3201
3118
  },
3202
3119
  "hasDynamicHelp": false,
3203
3120
  "hiddenAliases": [],
3204
- "id": "tenant:impersonate",
3121
+ "id": "tenant:delete",
3205
3122
  "pluginAlias": "@xano/cli",
3206
3123
  "pluginName": "@xano/cli",
3207
3124
  "pluginType": "core",
@@ -3212,17 +3129,23 @@
3212
3129
  "dist",
3213
3130
  "commands",
3214
3131
  "tenant",
3215
- "impersonate",
3132
+ "delete",
3216
3133
  "index.js"
3217
3134
  ]
3218
3135
  },
3219
- "tenant:list": {
3136
+ "tenant:get": {
3220
3137
  "aliases": [],
3221
- "args": {},
3222
- "description": "List all tenants in a workspace",
3138
+ "args": {
3139
+ "tenant_name": {
3140
+ "description": "Tenant name to retrieve",
3141
+ "name": "tenant_name",
3142
+ "required": true
3143
+ }
3144
+ },
3145
+ "description": "Get details of a specific tenant",
3223
3146
  "examples": [
3224
- "$ xano tenant list\nTenants in workspace 5:\n - My Tenant (my-tenant) [ok] - tier1\n Cluster: us-central\n Release: r1\n Platform: default\n - Staging (staging) [ok] - tier1\n Cluster: us-central\n Release: r1\n",
3225
- "$ xano tenant list -w 5 --output json"
3147
+ "$ 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",
3148
+ "$ xano tenant get t1234-abcd-xyz1 -w 5 -o json"
3226
3149
  ],
3227
3150
  "flags": {
3228
3151
  "profile": {
@@ -3270,7 +3193,7 @@
3270
3193
  },
3271
3194
  "hasDynamicHelp": false,
3272
3195
  "hiddenAliases": [],
3273
- "id": "tenant:list",
3196
+ "id": "tenant:get",
3274
3197
  "pluginAlias": "@xano/cli",
3275
3198
  "pluginName": "@xano/cli",
3276
3199
  "pluginType": "core",
@@ -3281,7 +3204,90 @@
3281
3204
  "dist",
3282
3205
  "commands",
3283
3206
  "tenant",
3284
- "list",
3207
+ "get",
3208
+ "index.js"
3209
+ ]
3210
+ },
3211
+ "tenant:impersonate": {
3212
+ "aliases": [],
3213
+ "args": {
3214
+ "tenant_name": {
3215
+ "description": "Tenant name to impersonate",
3216
+ "name": "tenant_name",
3217
+ "required": true
3218
+ }
3219
+ },
3220
+ "description": "Impersonate a tenant and open it in the browser",
3221
+ "examples": [
3222
+ "$ xano tenant impersonate my-tenant\nOpening browser...\nImpersonation successful!\n",
3223
+ "$ xano tenant impersonate my-tenant -o json"
3224
+ ],
3225
+ "flags": {
3226
+ "profile": {
3227
+ "char": "p",
3228
+ "description": "Profile to use (uses default profile if not specified)",
3229
+ "env": "XANO_PROFILE",
3230
+ "name": "profile",
3231
+ "required": false,
3232
+ "hasDynamicHelp": false,
3233
+ "multiple": false,
3234
+ "type": "option"
3235
+ },
3236
+ "verbose": {
3237
+ "char": "v",
3238
+ "description": "Show detailed request/response information",
3239
+ "env": "XANO_VERBOSE",
3240
+ "name": "verbose",
3241
+ "required": false,
3242
+ "allowNo": false,
3243
+ "type": "boolean"
3244
+ },
3245
+ "output": {
3246
+ "char": "o",
3247
+ "description": "Output format",
3248
+ "name": "output",
3249
+ "required": false,
3250
+ "default": "summary",
3251
+ "hasDynamicHelp": false,
3252
+ "multiple": false,
3253
+ "options": [
3254
+ "summary",
3255
+ "json"
3256
+ ],
3257
+ "type": "option"
3258
+ },
3259
+ "url-only": {
3260
+ "char": "u",
3261
+ "description": "Print the URL without opening the browser",
3262
+ "name": "url-only",
3263
+ "required": false,
3264
+ "allowNo": false,
3265
+ "type": "boolean"
3266
+ },
3267
+ "workspace": {
3268
+ "char": "w",
3269
+ "description": "Workspace ID (uses profile workspace if not provided)",
3270
+ "name": "workspace",
3271
+ "required": false,
3272
+ "hasDynamicHelp": false,
3273
+ "multiple": false,
3274
+ "type": "option"
3275
+ }
3276
+ },
3277
+ "hasDynamicHelp": false,
3278
+ "hiddenAliases": [],
3279
+ "id": "tenant:impersonate",
3280
+ "pluginAlias": "@xano/cli",
3281
+ "pluginName": "@xano/cli",
3282
+ "pluginType": "core",
3283
+ "strict": true,
3284
+ "enableJsonFlag": false,
3285
+ "isESM": true,
3286
+ "relativePath": [
3287
+ "dist",
3288
+ "commands",
3289
+ "tenant",
3290
+ "impersonate",
3285
3291
  "index.js"
3286
3292
  ]
3287
3293
  },
@@ -3378,23 +3384,13 @@
3378
3384
  "index.js"
3379
3385
  ]
3380
3386
  },
3381
- "tenant:push": {
3387
+ "tenant:list": {
3382
3388
  "aliases": [],
3383
- "args": {
3384
- "directory": {
3385
- "description": "Directory containing documents to push (as produced by tenant pull or workspace pull)",
3386
- "name": "directory",
3387
- "required": true
3388
- }
3389
- },
3390
- "description": "Push local documents to a tenant via the Xano Metadata API multidoc endpoint",
3389
+ "args": {},
3390
+ "description": "List all tenants in a workspace",
3391
3391
  "examples": [
3392
- "$ xano tenant push ./my-workspace -t my-tenant\nPushed 42 documents to tenant my-tenant from ./my-workspace\n",
3393
- "$ xano tenant push ./output -t my-tenant -w 40\nPushed 15 documents to tenant my-tenant from ./output\n",
3394
- "$ xano tenant push ./backup -t my-tenant --profile production\nPushed 58 documents to tenant my-tenant from ./backup\n",
3395
- "$ xano tenant push ./my-workspace -t my-tenant --records\nInclude table records in import\n",
3396
- "$ xano tenant push ./my-workspace -t my-tenant --env\nInclude environment variables in import\n",
3397
- "$ xano tenant push ./my-workspace -t my-tenant --truncate\nTruncate all table records before importing\n"
3392
+ "$ xano tenant list\nTenants in workspace 5:\n - My Tenant (my-tenant) [ok] - tier1\n Cluster: us-central\n Release: r1\n Platform: default\n - Staging (staging) [ok] - tier1\n Cluster: us-central\n Release: r1\n",
3393
+ "$ xano tenant list -w 5 --output json"
3398
3394
  ],
3399
3395
  "flags": {
3400
3396
  "profile": {
@@ -3416,46 +3412,23 @@
3416
3412
  "allowNo": false,
3417
3413
  "type": "boolean"
3418
3414
  },
3419
- "env": {
3420
- "description": "Include environment variables in import",
3421
- "name": "env",
3422
- "required": false,
3423
- "allowNo": false,
3424
- "type": "boolean"
3425
- },
3426
- "records": {
3427
- "description": "Include records in import",
3428
- "name": "records",
3415
+ "output": {
3416
+ "char": "o",
3417
+ "description": "Output format",
3418
+ "name": "output",
3429
3419
  "required": false,
3430
- "allowNo": false,
3431
- "type": "boolean"
3432
- },
3433
- "tenant": {
3434
- "char": "t",
3435
- "description": "Tenant name to push to",
3436
- "name": "tenant",
3437
- "required": true,
3420
+ "default": "summary",
3438
3421
  "hasDynamicHelp": false,
3439
3422
  "multiple": false,
3423
+ "options": [
3424
+ "summary",
3425
+ "json"
3426
+ ],
3440
3427
  "type": "option"
3441
3428
  },
3442
- "transaction": {
3443
- "description": "Wrap import in a database transaction (use --no-transaction for debugging purposes)",
3444
- "name": "transaction",
3445
- "required": false,
3446
- "allowNo": true,
3447
- "type": "boolean"
3448
- },
3449
- "truncate": {
3450
- "description": "Truncate all table records before importing",
3451
- "name": "truncate",
3452
- "required": false,
3453
- "allowNo": false,
3454
- "type": "boolean"
3455
- },
3456
3429
  "workspace": {
3457
3430
  "char": "w",
3458
- "description": "Workspace ID (optional if set in profile)",
3431
+ "description": "Workspace ID (uses profile workspace if not provided)",
3459
3432
  "name": "workspace",
3460
3433
  "required": false,
3461
3434
  "hasDynamicHelp": false,
@@ -3465,7 +3438,7 @@
3465
3438
  },
3466
3439
  "hasDynamicHelp": false,
3467
3440
  "hiddenAliases": [],
3468
- "id": "tenant:push",
3441
+ "id": "tenant:list",
3469
3442
  "pluginAlias": "@xano/cli",
3470
3443
  "pluginName": "@xano/cli",
3471
3444
  "pluginType": "core",
@@ -3476,7 +3449,7 @@
3476
3449
  "dist",
3477
3450
  "commands",
3478
3451
  "tenant",
3479
- "push",
3452
+ "list",
3480
3453
  "index.js"
3481
3454
  ]
3482
3455
  },
@@ -3647,19 +3620,23 @@
3647
3620
  "index.js"
3648
3621
  ]
3649
3622
  },
3650
- "workflow_test:delete": {
3623
+ "tenant:push": {
3651
3624
  "aliases": [],
3652
3625
  "args": {
3653
- "workflow_test_id": {
3654
- "description": "ID of the workflow test to delete",
3655
- "name": "workflow_test_id",
3626
+ "directory": {
3627
+ "description": "Directory containing documents to push (as produced by tenant pull or workspace pull)",
3628
+ "name": "directory",
3656
3629
  "required": true
3657
3630
  }
3658
3631
  },
3659
- "description": "Delete a workflow test",
3632
+ "description": "Push local documents to a tenant via the Xano Metadata API multidoc endpoint",
3660
3633
  "examples": [
3661
- "$ xano workflow-test delete 1\nAre you sure you want to delete workflow test 1? (y/N) y\nDeleted workflow test 1\n",
3662
- "$ xano workflow-test delete 1 --force"
3634
+ "$ xano tenant push ./my-workspace -t my-tenant\nPushed 42 documents to tenant my-tenant from ./my-workspace\n",
3635
+ "$ xano tenant push ./output -t my-tenant -w 40\nPushed 15 documents to tenant my-tenant from ./output\n",
3636
+ "$ xano tenant push ./backup -t my-tenant --profile production\nPushed 58 documents to tenant my-tenant from ./backup\n",
3637
+ "$ xano tenant push ./my-workspace -t my-tenant --records\nInclude table records in import\n",
3638
+ "$ xano tenant push ./my-workspace -t my-tenant --env\nInclude environment variables in import\n",
3639
+ "$ xano tenant push ./my-workspace -t my-tenant --truncate\nTruncate all table records before importing\n"
3663
3640
  ],
3664
3641
  "flags": {
3665
3642
  "profile": {
@@ -3681,31 +3658,46 @@
3681
3658
  "allowNo": false,
3682
3659
  "type": "boolean"
3683
3660
  },
3684
- "force": {
3685
- "char": "f",
3686
- "description": "Skip confirmation prompt",
3687
- "name": "force",
3661
+ "env": {
3662
+ "description": "Include environment variables in import",
3663
+ "name": "env",
3688
3664
  "required": false,
3689
3665
  "allowNo": false,
3690
3666
  "type": "boolean"
3691
3667
  },
3692
- "output": {
3693
- "char": "o",
3694
- "description": "Output format",
3695
- "name": "output",
3668
+ "records": {
3669
+ "description": "Include records in import",
3670
+ "name": "records",
3696
3671
  "required": false,
3697
- "default": "summary",
3672
+ "allowNo": false,
3673
+ "type": "boolean"
3674
+ },
3675
+ "tenant": {
3676
+ "char": "t",
3677
+ "description": "Tenant name to push to",
3678
+ "name": "tenant",
3679
+ "required": true,
3698
3680
  "hasDynamicHelp": false,
3699
3681
  "multiple": false,
3700
- "options": [
3701
- "summary",
3702
- "json"
3703
- ],
3704
3682
  "type": "option"
3705
3683
  },
3684
+ "transaction": {
3685
+ "description": "Wrap import in a database transaction (use --no-transaction for debugging purposes)",
3686
+ "name": "transaction",
3687
+ "required": false,
3688
+ "allowNo": true,
3689
+ "type": "boolean"
3690
+ },
3691
+ "truncate": {
3692
+ "description": "Truncate all table records before importing",
3693
+ "name": "truncate",
3694
+ "required": false,
3695
+ "allowNo": false,
3696
+ "type": "boolean"
3697
+ },
3706
3698
  "workspace": {
3707
3699
  "char": "w",
3708
- "description": "Workspace ID (uses profile workspace if not provided)",
3700
+ "description": "Workspace ID (optional if set in profile)",
3709
3701
  "name": "workspace",
3710
3702
  "required": false,
3711
3703
  "hasDynamicHelp": false,
@@ -3715,7 +3707,7 @@
3715
3707
  },
3716
3708
  "hasDynamicHelp": false,
3717
3709
  "hiddenAliases": [],
3718
- "id": "workflow_test:delete",
3710
+ "id": "tenant:push",
3719
3711
  "pluginAlias": "@xano/cli",
3720
3712
  "pluginName": "@xano/cli",
3721
3713
  "pluginType": "core",
@@ -3725,8 +3717,8 @@
3725
3717
  "relativePath": [
3726
3718
  "dist",
3727
3719
  "commands",
3728
- "workflow_test",
3729
- "delete",
3720
+ "tenant",
3721
+ "push",
3730
3722
  "index.js"
3731
3723
  ]
3732
3724
  },
@@ -3821,20 +3813,19 @@
3821
3813
  "index.js"
3822
3814
  ]
3823
3815
  },
3824
- "workflow_test:get": {
3816
+ "workflow_test:delete": {
3825
3817
  "aliases": [],
3826
3818
  "args": {
3827
3819
  "workflow_test_id": {
3828
- "description": "ID of the workflow test",
3820
+ "description": "ID of the workflow test to delete",
3829
3821
  "name": "workflow_test_id",
3830
3822
  "required": true
3831
3823
  }
3832
3824
  },
3833
- "description": "Get a specific workflow test",
3825
+ "description": "Delete a workflow test",
3834
3826
  "examples": [
3835
- "$ xano workflow-test get 1\nWorkflow Test: my-test (ID: 1)\n Description: Validates auth endpoints\n Branch: main\n",
3836
- "$ xano workflow-test get 1 -o xs",
3837
- "$ xano workflow-test get 1 -o json"
3827
+ "$ xano workflow-test delete 1\nAre you sure you want to delete workflow test 1? (y/N) y\nDeleted workflow test 1\n",
3828
+ "$ xano workflow-test delete 1 --force"
3838
3829
  ],
3839
3830
  "flags": {
3840
3831
  "profile": {
@@ -3856,9 +3847,10 @@
3856
3847
  "allowNo": false,
3857
3848
  "type": "boolean"
3858
3849
  },
3859
- "include-draft": {
3860
- "description": "Include draft version",
3861
- "name": "include-draft",
3850
+ "force": {
3851
+ "char": "f",
3852
+ "description": "Skip confirmation prompt",
3853
+ "name": "force",
3862
3854
  "required": false,
3863
3855
  "allowNo": false,
3864
3856
  "type": "boolean"
@@ -3873,8 +3865,7 @@
3873
3865
  "multiple": false,
3874
3866
  "options": [
3875
3867
  "summary",
3876
- "json",
3877
- "xs"
3868
+ "json"
3878
3869
  ],
3879
3870
  "type": "option"
3880
3871
  },
@@ -3890,7 +3881,7 @@
3890
3881
  },
3891
3882
  "hasDynamicHelp": false,
3892
3883
  "hiddenAliases": [],
3893
- "id": "workflow_test:get",
3884
+ "id": "workflow_test:delete",
3894
3885
  "pluginAlias": "@xano/cli",
3895
3886
  "pluginName": "@xano/cli",
3896
3887
  "pluginType": "core",
@@ -3901,7 +3892,7 @@
3901
3892
  "dist",
3902
3893
  "commands",
3903
3894
  "workflow_test",
3904
- "get",
3895
+ "delete",
3905
3896
  "index.js"
3906
3897
  ]
3907
3898
  },
@@ -4059,13 +4050,20 @@
4059
4050
  "index.js"
4060
4051
  ]
4061
4052
  },
4062
- "workflow_test:run_all": {
4053
+ "workflow_test:get": {
4063
4054
  "aliases": [],
4064
- "args": {},
4065
- "description": "Run all workflow tests in a workspace",
4055
+ "args": {
4056
+ "workflow_test_id": {
4057
+ "description": "ID of the workflow test",
4058
+ "name": "workflow_test_id",
4059
+ "required": true
4060
+ }
4061
+ },
4062
+ "description": "Get a specific workflow test",
4066
4063
  "examples": [
4067
- "$ xano workflow-test run-all\nRunning 3 workflow tests...\n\nPASS my-test (1.234s)\nPASS auth-flow (0.567s)\nFAIL data-validation (0.890s)\n Error: assertion failed at step 3\n\nResults: 2 passed, 1 failed (2.691s total)\n",
4068
- "$ xano workflow-test run-all --branch main -o json"
4064
+ "$ xano workflow-test get 1\nWorkflow Test: my-test (ID: 1)\n Description: Validates auth endpoints\n Branch: main\n",
4065
+ "$ xano workflow-test get 1 -o xs",
4066
+ "$ xano workflow-test get 1 -o json"
4069
4067
  ],
4070
4068
  "flags": {
4071
4069
  "profile": {
@@ -4087,14 +4085,12 @@
4087
4085
  "allowNo": false,
4088
4086
  "type": "boolean"
4089
4087
  },
4090
- "branch": {
4091
- "char": "b",
4092
- "description": "Filter by branch name",
4093
- "name": "branch",
4088
+ "include-draft": {
4089
+ "description": "Include draft version",
4090
+ "name": "include-draft",
4094
4091
  "required": false,
4095
- "hasDynamicHelp": false,
4096
- "multiple": false,
4097
- "type": "option"
4092
+ "allowNo": false,
4093
+ "type": "boolean"
4098
4094
  },
4099
4095
  "output": {
4100
4096
  "char": "o",
@@ -4106,7 +4102,8 @@
4106
4102
  "multiple": false,
4107
4103
  "options": [
4108
4104
  "summary",
4109
- "json"
4105
+ "json",
4106
+ "xs"
4110
4107
  ],
4111
4108
  "type": "option"
4112
4109
  },
@@ -4122,7 +4119,7 @@
4122
4119
  },
4123
4120
  "hasDynamicHelp": false,
4124
4121
  "hiddenAliases": [],
4125
- "id": "workflow_test:run_all",
4122
+ "id": "workflow_test:get",
4126
4123
  "pluginAlias": "@xano/cli",
4127
4124
  "pluginName": "@xano/cli",
4128
4125
  "pluginType": "core",
@@ -4133,24 +4130,17 @@
4133
4130
  "dist",
4134
4131
  "commands",
4135
4132
  "workflow_test",
4136
- "run_all",
4133
+ "get",
4137
4134
  "index.js"
4138
4135
  ]
4139
4136
  },
4140
- "workspace:create": {
4137
+ "workflow_test:run_all": {
4141
4138
  "aliases": [],
4142
- "args": {
4143
- "name": {
4144
- "description": "Name of the workspace",
4145
- "name": "name",
4146
- "required": true
4147
- }
4148
- },
4149
- "description": "Create a new workspace via the Xano Metadata API",
4139
+ "args": {},
4140
+ "description": "Run all workflow tests in a workspace",
4150
4141
  "examples": [
4151
- "$ xano workspace create my-workspace\nCreated workspace: my-workspace (ID: 123)\n",
4152
- "$ xano workspace create my-app --description \"My application workspace\"\nCreated workspace: my-app (ID: 456)\n Description: My application workspace\n",
4153
- "$ xano workspace create new-project -d \"New project workspace\" -o json\n{\n \"id\": 789,\n \"name\": \"new-project\",\n \"description\": \"New project workspace\"\n}\n"
4142
+ "$ xano workflow-test run-all\nRunning 3 workflow tests...\n\nPASS my-test (1.234s)\nPASS auth-flow (0.567s)\nFAIL data-validation (0.890s)\n Error: assertion failed at step 3\n\nResults: 2 passed, 1 failed (2.691s total)\n",
4143
+ "$ xano workflow-test run-all --branch main -o json"
4154
4144
  ],
4155
4145
  "flags": {
4156
4146
  "profile": {
@@ -4172,10 +4162,10 @@
4172
4162
  "allowNo": false,
4173
4163
  "type": "boolean"
4174
4164
  },
4175
- "description": {
4176
- "char": "d",
4177
- "description": "Description for the workspace",
4178
- "name": "description",
4165
+ "branch": {
4166
+ "char": "b",
4167
+ "description": "Filter by branch name",
4168
+ "name": "branch",
4179
4169
  "required": false,
4180
4170
  "hasDynamicHelp": false,
4181
4171
  "multiple": false,
@@ -4194,11 +4184,20 @@
4194
4184
  "json"
4195
4185
  ],
4196
4186
  "type": "option"
4187
+ },
4188
+ "workspace": {
4189
+ "char": "w",
4190
+ "description": "Workspace ID (uses profile workspace if not provided)",
4191
+ "name": "workspace",
4192
+ "required": false,
4193
+ "hasDynamicHelp": false,
4194
+ "multiple": false,
4195
+ "type": "option"
4197
4196
  }
4198
4197
  },
4199
4198
  "hasDynamicHelp": false,
4200
4199
  "hiddenAliases": [],
4201
- "id": "workspace:create",
4200
+ "id": "workflow_test:run_all",
4202
4201
  "pluginAlias": "@xano/cli",
4203
4202
  "pluginName": "@xano/cli",
4204
4203
  "pluginType": "core",
@@ -4208,8 +4207,8 @@
4208
4207
  "relativePath": [
4209
4208
  "dist",
4210
4209
  "commands",
4211
- "workspace",
4212
- "create",
4210
+ "workflow_test",
4211
+ "run_all",
4213
4212
  "index.js"
4214
4213
  ]
4215
4214
  },
@@ -4288,19 +4287,20 @@
4288
4287
  "index.js"
4289
4288
  ]
4290
4289
  },
4291
- "tenant:get": {
4290
+ "workspace:create": {
4292
4291
  "aliases": [],
4293
4292
  "args": {
4294
- "tenant_name": {
4295
- "description": "Tenant name to retrieve",
4296
- "name": "tenant_name",
4293
+ "name": {
4294
+ "description": "Name of the workspace",
4295
+ "name": "name",
4297
4296
  "required": true
4298
4297
  }
4299
4298
  },
4300
- "description": "Get details of a specific tenant",
4299
+ "description": "Create a new workspace via the Xano Metadata API",
4301
4300
  "examples": [
4302
- "$ 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",
4303
- "$ xano tenant get t1234-abcd-xyz1 -w 5 -o json"
4301
+ "$ xano workspace create my-workspace\nCreated workspace: my-workspace (ID: 123)\n",
4302
+ "$ xano workspace create my-app --description \"My application workspace\"\nCreated workspace: my-app (ID: 456)\n Description: My application workspace\n",
4303
+ "$ xano workspace create new-project -d \"New project workspace\" -o json\n{\n \"id\": 789,\n \"name\": \"new-project\",\n \"description\": \"New project workspace\"\n}\n"
4304
4304
  ],
4305
4305
  "flags": {
4306
4306
  "profile": {
@@ -4319,8 +4319,17 @@
4319
4319
  "env": "XANO_VERBOSE",
4320
4320
  "name": "verbose",
4321
4321
  "required": false,
4322
- "allowNo": false,
4323
- "type": "boolean"
4322
+ "allowNo": false,
4323
+ "type": "boolean"
4324
+ },
4325
+ "description": {
4326
+ "char": "d",
4327
+ "description": "Description for the workspace",
4328
+ "name": "description",
4329
+ "required": false,
4330
+ "hasDynamicHelp": false,
4331
+ "multiple": false,
4332
+ "type": "option"
4324
4333
  },
4325
4334
  "output": {
4326
4335
  "char": "o",
@@ -4335,20 +4344,11 @@
4335
4344
  "json"
4336
4345
  ],
4337
4346
  "type": "option"
4338
- },
4339
- "workspace": {
4340
- "char": "w",
4341
- "description": "Workspace ID (uses profile workspace if not provided)",
4342
- "name": "workspace",
4343
- "required": false,
4344
- "hasDynamicHelp": false,
4345
- "multiple": false,
4346
- "type": "option"
4347
4347
  }
4348
4348
  },
4349
4349
  "hasDynamicHelp": false,
4350
4350
  "hiddenAliases": [],
4351
- "id": "tenant:get",
4351
+ "id": "workspace:create",
4352
4352
  "pluginAlias": "@xano/cli",
4353
4353
  "pluginName": "@xano/cli",
4354
4354
  "pluginType": "core",
@@ -4358,25 +4358,26 @@
4358
4358
  "relativePath": [
4359
4359
  "dist",
4360
4360
  "commands",
4361
- "tenant",
4362
- "get",
4361
+ "workspace",
4362
+ "create",
4363
4363
  "index.js"
4364
4364
  ]
4365
4365
  },
4366
- "workspace:get": {
4366
+ "workspace:edit": {
4367
4367
  "aliases": [],
4368
4368
  "args": {
4369
4369
  "workspace_id": {
4370
- "description": "Workspace ID to get details for (uses profile workspace if not provided)",
4370
+ "description": "Workspace ID to edit (uses profile workspace if not provided)",
4371
4371
  "name": "workspace_id",
4372
4372
  "required": false
4373
4373
  }
4374
4374
  },
4375
- "description": "Get details of a specific workspace from the Xano Metadata API",
4375
+ "description": "Edit an existing workspace via the Xano Metadata API",
4376
4376
  "examples": [
4377
- "$ xano workspace get 123\nWorkspace: my-workspace (ID: 123)\n Description: My workspace description\n Created: 2024-01-15\n",
4378
- "$ xano workspace get --output json\n{\n \"id\": 123,\n \"name\": \"my-workspace\",\n \"description\": \"My workspace description\"\n}\n",
4379
- "$ xano workspace get 456 -p production -o json\n{\n \"id\": 456,\n \"name\": \"production-workspace\"\n}\n"
4377
+ "$ xano workspace edit 123 --name \"new-name\"\nUpdated workspace: new-name (ID: 123)\n",
4378
+ "$ xano workspace edit --name \"updated-workspace\" --description \"Updated description\"\nUpdated workspace: updated-workspace (ID: 123)\n Description: Updated description\n",
4379
+ "$ xano workspace edit 123 --swagger --require-token\nUpdated workspace: my-workspace (ID: 123)\n Swagger: enabled\n Require Token: true\n",
4380
+ "$ xano workspace edit 123 --no-swagger -o json\n{\n \"id\": 123,\n \"name\": \"my-workspace\",\n \"swagger\": false\n}\n"
4380
4381
  ],
4381
4382
  "flags": {
4382
4383
  "profile": {
@@ -4398,6 +4399,24 @@
4398
4399
  "allowNo": false,
4399
4400
  "type": "boolean"
4400
4401
  },
4402
+ "description": {
4403
+ "char": "d",
4404
+ "description": "New description for the workspace",
4405
+ "name": "description",
4406
+ "required": false,
4407
+ "hasDynamicHelp": false,
4408
+ "multiple": false,
4409
+ "type": "option"
4410
+ },
4411
+ "name": {
4412
+ "char": "n",
4413
+ "description": "New name for the workspace",
4414
+ "name": "name",
4415
+ "required": false,
4416
+ "hasDynamicHelp": false,
4417
+ "multiple": false,
4418
+ "type": "option"
4419
+ },
4401
4420
  "output": {
4402
4421
  "char": "o",
4403
4422
  "description": "Output format",
@@ -4411,11 +4430,25 @@
4411
4430
  "json"
4412
4431
  ],
4413
4432
  "type": "option"
4433
+ },
4434
+ "require-token": {
4435
+ "description": "Whether to require a token for documentation access",
4436
+ "name": "require-token",
4437
+ "required": false,
4438
+ "allowNo": true,
4439
+ "type": "boolean"
4440
+ },
4441
+ "swagger": {
4442
+ "description": "Enable or disable swagger documentation",
4443
+ "name": "swagger",
4444
+ "required": false,
4445
+ "allowNo": true,
4446
+ "type": "boolean"
4414
4447
  }
4415
4448
  },
4416
4449
  "hasDynamicHelp": false,
4417
4450
  "hiddenAliases": [],
4418
- "id": "workspace:get",
4451
+ "id": "workspace:edit",
4419
4452
  "pluginAlias": "@xano/cli",
4420
4453
  "pluginName": "@xano/cli",
4421
4454
  "pluginType": "core",
@@ -4426,19 +4459,24 @@
4426
4459
  "dist",
4427
4460
  "commands",
4428
4461
  "workspace",
4429
- "get",
4462
+ "edit",
4430
4463
  "index.js"
4431
4464
  ]
4432
4465
  },
4433
- "workspace:list": {
4466
+ "workspace:get": {
4434
4467
  "aliases": [],
4435
- "args": {},
4436
- "description": "List all workspaces from the Xano Metadata API",
4468
+ "args": {
4469
+ "workspace_id": {
4470
+ "description": "Workspace ID to get details for (uses profile workspace if not provided)",
4471
+ "name": "workspace_id",
4472
+ "required": false
4473
+ }
4474
+ },
4475
+ "description": "Get details of a specific workspace from the Xano Metadata API",
4437
4476
  "examples": [
4438
- "$ xano workspace:list\nAvailable workspaces:\n - workspace-1 (ID: 1)\n - workspace-2 (ID: 2)\n - workspace-3 (ID: 3)\n",
4439
- "$ xano workspace:list --profile production\nAvailable workspaces:\n - my-app (ID: 1)\n - staging-env (ID: 2)\n",
4440
- "$ 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",
4441
- "$ xano workspace:list -p staging -o json\n{\n \"workspaces\": [\n {\n \"id\": 1,\n \"name\": \"my-app\"\n }\n ]\n}\n"
4477
+ "$ xano workspace get 123\nWorkspace: my-workspace (ID: 123)\n Description: My workspace description\n Created: 2024-01-15\n",
4478
+ "$ xano workspace get --output json\n{\n \"id\": 123,\n \"name\": \"my-workspace\",\n \"description\": \"My workspace description\"\n}\n",
4479
+ "$ xano workspace get 456 -p production -o json\n{\n \"id\": 456,\n \"name\": \"production-workspace\"\n}\n"
4442
4480
  ],
4443
4481
  "flags": {
4444
4482
  "profile": {
@@ -4477,7 +4515,7 @@
4477
4515
  },
4478
4516
  "hasDynamicHelp": false,
4479
4517
  "hiddenAliases": [],
4480
- "id": "workspace:list",
4518
+ "id": "workspace:get",
4481
4519
  "pluginAlias": "@xano/cli",
4482
4520
  "pluginName": "@xano/cli",
4483
4521
  "pluginType": "core",
@@ -4488,7 +4526,7 @@
4488
4526
  "dist",
4489
4527
  "commands",
4490
4528
  "workspace",
4491
- "list",
4529
+ "get",
4492
4530
  "index.js"
4493
4531
  ]
4494
4532
  },
@@ -4730,170 +4768,11 @@
4730
4768
  },
4731
4769
  "profile:workspace:set": {
4732
4770
  "aliases": [],
4733
- "args": {},
4734
- "description": "Interactively select a workspace for a profile",
4735
- "examples": [
4736
- "$ xano profile workspace set\nFetching workspaces...\n? Select a workspace: My Workspace\nWorkspace updated to 'My Workspace' (abc123) on profile 'default'\n",
4737
- "$ xano profile workspace set -p production\nFetching workspaces...\n? Select a workspace: Production API\nWorkspace updated to 'Production API' (xyz789) on profile 'production'\n"
4738
- ],
4739
- "flags": {
4740
- "profile": {
4741
- "char": "p",
4742
- "description": "Profile to use (uses default profile if not specified)",
4743
- "env": "XANO_PROFILE",
4744
- "name": "profile",
4745
- "required": false,
4746
- "hasDynamicHelp": false,
4747
- "multiple": false,
4748
- "type": "option"
4749
- },
4750
- "verbose": {
4751
- "char": "v",
4752
- "description": "Show detailed request/response information",
4753
- "env": "XANO_VERBOSE",
4754
- "name": "verbose",
4755
- "required": false,
4756
- "allowNo": false,
4757
- "type": "boolean"
4758
- }
4759
- },
4760
- "hasDynamicHelp": false,
4761
- "hiddenAliases": [],
4762
- "id": "profile:workspace:set",
4763
- "pluginAlias": "@xano/cli",
4764
- "pluginName": "@xano/cli",
4765
- "pluginType": "core",
4766
- "strict": true,
4767
- "enableJsonFlag": false,
4768
- "isESM": true,
4769
- "relativePath": [
4770
- "dist",
4771
- "commands",
4772
- "profile",
4773
- "workspace",
4774
- "set",
4775
- "index.js"
4776
- ]
4777
- },
4778
- "static_host:build:create": {
4779
- "aliases": [],
4780
- "args": {
4781
- "static_host": {
4782
- "description": "Static Host name",
4783
- "name": "static_host",
4784
- "required": true
4785
- }
4786
- },
4787
- "description": "Create a new build for a static host",
4788
- "examples": [
4789
- "$ xano static_host:build:create default -f ./build.zip -n \"v1.0.0\"\nBuild created successfully!\nID: 123\nName: v1.0.0\nStatus: pending\n",
4790
- "$ xano static_host:build:create default -w 40 -f ./dist.zip -n \"production\" -d \"Production build\"\nBuild created successfully!\nID: 124\nName: production\nDescription: Production build\n",
4791
- "$ xano static_host:build:create myhost -f ./app.zip -n \"release-1.2\" -o json\n{\n \"id\": 125,\n \"name\": \"release-1.2\",\n \"status\": \"pending\"\n}\n"
4792
- ],
4793
- "flags": {
4794
- "profile": {
4795
- "char": "p",
4796
- "description": "Profile to use (uses default profile if not specified)",
4797
- "env": "XANO_PROFILE",
4798
- "name": "profile",
4799
- "required": false,
4800
- "hasDynamicHelp": false,
4801
- "multiple": false,
4802
- "type": "option"
4803
- },
4804
- "verbose": {
4805
- "char": "v",
4806
- "description": "Show detailed request/response information",
4807
- "env": "XANO_VERBOSE",
4808
- "name": "verbose",
4809
- "required": false,
4810
- "allowNo": false,
4811
- "type": "boolean"
4812
- },
4813
- "description": {
4814
- "char": "d",
4815
- "description": "Build description",
4816
- "name": "description",
4817
- "required": false,
4818
- "hasDynamicHelp": false,
4819
- "multiple": false,
4820
- "type": "option"
4821
- },
4822
- "file": {
4823
- "char": "f",
4824
- "description": "Path to zip file to upload",
4825
- "name": "file",
4826
- "required": true,
4827
- "hasDynamicHelp": false,
4828
- "multiple": false,
4829
- "type": "option"
4830
- },
4831
- "name": {
4832
- "char": "n",
4833
- "description": "Build name",
4834
- "name": "name",
4835
- "required": true,
4836
- "hasDynamicHelp": false,
4837
- "multiple": false,
4838
- "type": "option"
4839
- },
4840
- "output": {
4841
- "char": "o",
4842
- "description": "Output format",
4843
- "name": "output",
4844
- "required": false,
4845
- "default": "summary",
4846
- "hasDynamicHelp": false,
4847
- "multiple": false,
4848
- "options": [
4849
- "summary",
4850
- "json"
4851
- ],
4852
- "type": "option"
4853
- },
4854
- "workspace": {
4855
- "char": "w",
4856
- "description": "Workspace ID (optional if set in profile)",
4857
- "name": "workspace",
4858
- "required": false,
4859
- "hasDynamicHelp": false,
4860
- "multiple": false,
4861
- "type": "option"
4862
- }
4863
- },
4864
- "hasDynamicHelp": false,
4865
- "hiddenAliases": [],
4866
- "id": "static_host:build:create",
4867
- "pluginAlias": "@xano/cli",
4868
- "pluginName": "@xano/cli",
4869
- "pluginType": "core",
4870
- "strict": true,
4871
- "enableJsonFlag": false,
4872
- "isESM": true,
4873
- "relativePath": [
4874
- "dist",
4875
- "commands",
4876
- "static_host",
4877
- "build",
4878
- "create",
4879
- "index.js"
4880
- ]
4881
- },
4882
- "workspace:edit": {
4883
- "aliases": [],
4884
- "args": {
4885
- "workspace_id": {
4886
- "description": "Workspace ID to edit (uses profile workspace if not provided)",
4887
- "name": "workspace_id",
4888
- "required": false
4889
- }
4890
- },
4891
- "description": "Edit an existing workspace via the Xano Metadata API",
4892
- "examples": [
4893
- "$ xano workspace edit 123 --name \"new-name\"\nUpdated workspace: new-name (ID: 123)\n",
4894
- "$ xano workspace edit --name \"updated-workspace\" --description \"Updated description\"\nUpdated workspace: updated-workspace (ID: 123)\n Description: Updated description\n",
4895
- "$ xano workspace edit 123 --swagger --require-token\nUpdated workspace: my-workspace (ID: 123)\n Swagger: enabled\n Require Token: true\n",
4896
- "$ xano workspace edit 123 --no-swagger -o json\n{\n \"id\": 123,\n \"name\": \"my-workspace\",\n \"swagger\": false\n}\n"
4771
+ "args": {},
4772
+ "description": "Interactively select a workspace for a profile",
4773
+ "examples": [
4774
+ "$ xano profile workspace set\nFetching workspaces...\n? Select a workspace: My Workspace\nWorkspace updated to 'My Workspace' (abc123) on profile 'default'\n",
4775
+ "$ xano profile workspace set -p production\nFetching workspaces...\n? Select a workspace: Production API\nWorkspace updated to 'Production API' (xyz789) on profile 'production'\n"
4897
4776
  ],
4898
4777
  "flags": {
4899
4778
  "profile": {
@@ -4914,57 +4793,11 @@
4914
4793
  "required": false,
4915
4794
  "allowNo": false,
4916
4795
  "type": "boolean"
4917
- },
4918
- "description": {
4919
- "char": "d",
4920
- "description": "New description for the workspace",
4921
- "name": "description",
4922
- "required": false,
4923
- "hasDynamicHelp": false,
4924
- "multiple": false,
4925
- "type": "option"
4926
- },
4927
- "name": {
4928
- "char": "n",
4929
- "description": "New name for the workspace",
4930
- "name": "name",
4931
- "required": false,
4932
- "hasDynamicHelp": false,
4933
- "multiple": false,
4934
- "type": "option"
4935
- },
4936
- "output": {
4937
- "char": "o",
4938
- "description": "Output format",
4939
- "name": "output",
4940
- "required": false,
4941
- "default": "summary",
4942
- "hasDynamicHelp": false,
4943
- "multiple": false,
4944
- "options": [
4945
- "summary",
4946
- "json"
4947
- ],
4948
- "type": "option"
4949
- },
4950
- "require-token": {
4951
- "description": "Whether to require a token for documentation access",
4952
- "name": "require-token",
4953
- "required": false,
4954
- "allowNo": true,
4955
- "type": "boolean"
4956
- },
4957
- "swagger": {
4958
- "description": "Enable or disable swagger documentation",
4959
- "name": "swagger",
4960
- "required": false,
4961
- "allowNo": true,
4962
- "type": "boolean"
4963
4796
  }
4964
4797
  },
4965
4798
  "hasDynamicHelp": false,
4966
4799
  "hiddenAliases": [],
4967
- "id": "workspace:edit",
4800
+ "id": "profile:workspace:set",
4968
4801
  "pluginAlias": "@xano/cli",
4969
4802
  "pluginName": "@xano/cli",
4970
4803
  "pluginType": "core",
@@ -4974,8 +4807,9 @@
4974
4807
  "relativePath": [
4975
4808
  "dist",
4976
4809
  "commands",
4810
+ "profile",
4977
4811
  "workspace",
4978
- "edit",
4812
+ "set",
4979
4813
  "index.js"
4980
4814
  ]
4981
4815
  },
@@ -5158,19 +4992,20 @@
5158
4992
  "index.js"
5159
4993
  ]
5160
4994
  },
5161
- "tenant:backup:create": {
4995
+ "static_host:build:create": {
5162
4996
  "aliases": [],
5163
4997
  "args": {
5164
- "tenant_name": {
5165
- "description": "Tenant name to back up",
5166
- "name": "tenant_name",
4998
+ "static_host": {
4999
+ "description": "Static Host name",
5000
+ "name": "static_host",
5167
5001
  "required": true
5168
5002
  }
5169
5003
  },
5170
- "description": "Create a backup for a tenant",
5004
+ "description": "Create a new build for a static host",
5171
5005
  "examples": [
5172
- "$ xano tenant backup create t1234-abcd-xyz1 --description \"Pre-deploy backup\"\nCreated backup #15 for tenant t1234-abcd-xyz1\n",
5173
- "$ xano tenant backup create t1234-abcd-xyz1 -d \"Daily backup\" -o json"
5006
+ "$ xano static_host:build:create default -f ./build.zip -n \"v1.0.0\"\nBuild created successfully!\nID: 123\nName: v1.0.0\nStatus: pending\n",
5007
+ "$ xano static_host:build:create default -w 40 -f ./dist.zip -n \"production\" -d \"Production build\"\nBuild created successfully!\nID: 124\nName: production\nDescription: Production build\n",
5008
+ "$ xano static_host:build:create myhost -f ./app.zip -n \"release-1.2\" -o json\n{\n \"id\": 125,\n \"name\": \"release-1.2\",\n \"status\": \"pending\"\n}\n"
5174
5009
  ],
5175
5010
  "flags": {
5176
5011
  "profile": {
@@ -5194,10 +5029,27 @@
5194
5029
  },
5195
5030
  "description": {
5196
5031
  "char": "d",
5197
- "description": "Backup description",
5032
+ "description": "Build description",
5198
5033
  "name": "description",
5199
5034
  "required": false,
5200
- "default": "",
5035
+ "hasDynamicHelp": false,
5036
+ "multiple": false,
5037
+ "type": "option"
5038
+ },
5039
+ "file": {
5040
+ "char": "f",
5041
+ "description": "Path to zip file to upload",
5042
+ "name": "file",
5043
+ "required": true,
5044
+ "hasDynamicHelp": false,
5045
+ "multiple": false,
5046
+ "type": "option"
5047
+ },
5048
+ "name": {
5049
+ "char": "n",
5050
+ "description": "Build name",
5051
+ "name": "name",
5052
+ "required": true,
5201
5053
  "hasDynamicHelp": false,
5202
5054
  "multiple": false,
5203
5055
  "type": "option"
@@ -5218,7 +5070,7 @@
5218
5070
  },
5219
5071
  "workspace": {
5220
5072
  "char": "w",
5221
- "description": "Workspace ID (uses profile workspace if not provided)",
5073
+ "description": "Workspace ID (optional if set in profile)",
5222
5074
  "name": "workspace",
5223
5075
  "required": false,
5224
5076
  "hasDynamicHelp": false,
@@ -5228,7 +5080,7 @@
5228
5080
  },
5229
5081
  "hasDynamicHelp": false,
5230
5082
  "hiddenAliases": [],
5231
- "id": "tenant:backup:create",
5083
+ "id": "static_host:build:create",
5232
5084
  "pluginAlias": "@xano/cli",
5233
5085
  "pluginName": "@xano/cli",
5234
5086
  "pluginType": "core",
@@ -5238,8 +5090,8 @@
5238
5090
  "relativePath": [
5239
5091
  "dist",
5240
5092
  "commands",
5241
- "tenant",
5242
- "backup",
5093
+ "static_host",
5094
+ "build",
5243
5095
  "create",
5244
5096
  "index.js"
5245
5097
  ]
@@ -5337,19 +5189,19 @@
5337
5189
  "index.js"
5338
5190
  ]
5339
5191
  },
5340
- "tenant:backup:import": {
5192
+ "tenant:backup:create": {
5341
5193
  "aliases": [],
5342
5194
  "args": {
5343
5195
  "tenant_name": {
5344
- "description": "Tenant name to import backup into",
5196
+ "description": "Tenant name to back up",
5345
5197
  "name": "tenant_name",
5346
5198
  "required": true
5347
5199
  }
5348
5200
  },
5349
- "description": "Import a backup file into a tenant",
5201
+ "description": "Create a backup for a tenant",
5350
5202
  "examples": [
5351
- "$ xano tenant backup import t1234-abcd-xyz1 --file ./my-backup.tar.gz\nImported backup as #15 for tenant t1234-abcd-xyz1\n",
5352
- "$ xano tenant backup import t1234-abcd-xyz1 --file ./my-backup.tar.gz --description \"Restored from production\" -o json"
5203
+ "$ xano tenant backup create t1234-abcd-xyz1 --description \"Pre-deploy backup\"\nCreated backup #15 for tenant t1234-abcd-xyz1\n",
5204
+ "$ xano tenant backup create t1234-abcd-xyz1 -d \"Daily backup\" -o json"
5353
5205
  ],
5354
5206
  "flags": {
5355
5207
  "profile": {
@@ -5381,15 +5233,6 @@
5381
5233
  "multiple": false,
5382
5234
  "type": "option"
5383
5235
  },
5384
- "file": {
5385
- "char": "f",
5386
- "description": "Path to the backup file (.tar.gz)",
5387
- "name": "file",
5388
- "required": true,
5389
- "hasDynamicHelp": false,
5390
- "multiple": false,
5391
- "type": "option"
5392
- },
5393
5236
  "output": {
5394
5237
  "char": "o",
5395
5238
  "description": "Output format",
@@ -5416,7 +5259,7 @@
5416
5259
  },
5417
5260
  "hasDynamicHelp": false,
5418
5261
  "hiddenAliases": [],
5419
- "id": "tenant:backup:import",
5262
+ "id": "tenant:backup:create",
5420
5263
  "pluginAlias": "@xano/cli",
5421
5264
  "pluginName": "@xano/cli",
5422
5265
  "pluginType": "core",
@@ -5428,7 +5271,7 @@
5428
5271
  "commands",
5429
5272
  "tenant",
5430
5273
  "backup",
5431
- "import",
5274
+ "create",
5432
5275
  "index.js"
5433
5276
  ]
5434
5277
  },
@@ -5796,19 +5639,158 @@
5796
5639
  "description": "Cluster type",
5797
5640
  "name": "type",
5798
5641
  "required": false,
5799
- "default": "standard",
5642
+ "default": "standard",
5643
+ "hasDynamicHelp": false,
5644
+ "multiple": false,
5645
+ "options": [
5646
+ "standard",
5647
+ "run"
5648
+ ],
5649
+ "type": "option"
5650
+ }
5651
+ },
5652
+ "hasDynamicHelp": false,
5653
+ "hiddenAliases": [],
5654
+ "id": "tenant:cluster:create",
5655
+ "pluginAlias": "@xano/cli",
5656
+ "pluginName": "@xano/cli",
5657
+ "pluginType": "core",
5658
+ "strict": true,
5659
+ "enableJsonFlag": false,
5660
+ "isESM": true,
5661
+ "relativePath": [
5662
+ "dist",
5663
+ "commands",
5664
+ "tenant",
5665
+ "cluster",
5666
+ "create",
5667
+ "index.js"
5668
+ ]
5669
+ },
5670
+ "tenant:cluster:delete": {
5671
+ "aliases": [],
5672
+ "args": {
5673
+ "cluster_id": {
5674
+ "description": "Cluster ID to delete",
5675
+ "name": "cluster_id",
5676
+ "required": true
5677
+ }
5678
+ },
5679
+ "description": "Delete a tenant cluster. This action cannot be undone.",
5680
+ "examples": [
5681
+ "$ 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",
5682
+ "$ xano tenant cluster delete 3 --force\nTenant cluster 3 deleted successfully\n",
5683
+ "$ xano tenant cluster delete 3 -f -o json"
5684
+ ],
5685
+ "flags": {
5686
+ "profile": {
5687
+ "char": "p",
5688
+ "description": "Profile to use (uses default profile if not specified)",
5689
+ "env": "XANO_PROFILE",
5690
+ "name": "profile",
5691
+ "required": false,
5692
+ "hasDynamicHelp": false,
5693
+ "multiple": false,
5694
+ "type": "option"
5695
+ },
5696
+ "verbose": {
5697
+ "char": "v",
5698
+ "description": "Show detailed request/response information",
5699
+ "env": "XANO_VERBOSE",
5700
+ "name": "verbose",
5701
+ "required": false,
5702
+ "allowNo": false,
5703
+ "type": "boolean"
5704
+ },
5705
+ "force": {
5706
+ "char": "f",
5707
+ "description": "Skip confirmation prompt",
5708
+ "name": "force",
5709
+ "required": false,
5710
+ "allowNo": false,
5711
+ "type": "boolean"
5712
+ },
5713
+ "output": {
5714
+ "char": "o",
5715
+ "description": "Output format",
5716
+ "name": "output",
5717
+ "required": false,
5718
+ "default": "summary",
5719
+ "hasDynamicHelp": false,
5720
+ "multiple": false,
5721
+ "options": [
5722
+ "summary",
5723
+ "json"
5724
+ ],
5725
+ "type": "option"
5726
+ }
5727
+ },
5728
+ "hasDynamicHelp": false,
5729
+ "hiddenAliases": [],
5730
+ "id": "tenant:cluster:delete",
5731
+ "pluginAlias": "@xano/cli",
5732
+ "pluginName": "@xano/cli",
5733
+ "pluginType": "core",
5734
+ "strict": true,
5735
+ "enableJsonFlag": false,
5736
+ "isESM": true,
5737
+ "relativePath": [
5738
+ "dist",
5739
+ "commands",
5740
+ "tenant",
5741
+ "cluster",
5742
+ "delete",
5743
+ "index.js"
5744
+ ]
5745
+ },
5746
+ "workspace:list": {
5747
+ "aliases": [],
5748
+ "args": {},
5749
+ "description": "List all workspaces from the Xano Metadata API",
5750
+ "examples": [
5751
+ "$ xano workspace:list\nAvailable workspaces:\n - workspace-1 (ID: 1)\n - workspace-2 (ID: 2)\n - workspace-3 (ID: 3)\n",
5752
+ "$ xano workspace:list --profile production\nAvailable workspaces:\n - my-app (ID: 1)\n - staging-env (ID: 2)\n",
5753
+ "$ 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",
5754
+ "$ xano workspace:list -p staging -o json\n{\n \"workspaces\": [\n {\n \"id\": 1,\n \"name\": \"my-app\"\n }\n ]\n}\n"
5755
+ ],
5756
+ "flags": {
5757
+ "profile": {
5758
+ "char": "p",
5759
+ "description": "Profile to use (uses default profile if not specified)",
5760
+ "env": "XANO_PROFILE",
5761
+ "name": "profile",
5762
+ "required": false,
5763
+ "hasDynamicHelp": false,
5764
+ "multiple": false,
5765
+ "type": "option"
5766
+ },
5767
+ "verbose": {
5768
+ "char": "v",
5769
+ "description": "Show detailed request/response information",
5770
+ "env": "XANO_VERBOSE",
5771
+ "name": "verbose",
5772
+ "required": false,
5773
+ "allowNo": false,
5774
+ "type": "boolean"
5775
+ },
5776
+ "output": {
5777
+ "char": "o",
5778
+ "description": "Output format",
5779
+ "name": "output",
5780
+ "required": false,
5781
+ "default": "summary",
5800
5782
  "hasDynamicHelp": false,
5801
5783
  "multiple": false,
5802
5784
  "options": [
5803
- "standard",
5804
- "run"
5785
+ "summary",
5786
+ "json"
5805
5787
  ],
5806
5788
  "type": "option"
5807
5789
  }
5808
5790
  },
5809
5791
  "hasDynamicHelp": false,
5810
5792
  "hiddenAliases": [],
5811
- "id": "tenant:cluster:create",
5793
+ "id": "workspace:list",
5812
5794
  "pluginAlias": "@xano/cli",
5813
5795
  "pluginName": "@xano/cli",
5814
5796
  "pluginType": "core",
@@ -5818,26 +5800,24 @@
5818
5800
  "relativePath": [
5819
5801
  "dist",
5820
5802
  "commands",
5821
- "tenant",
5822
- "cluster",
5823
- "create",
5803
+ "workspace",
5804
+ "list",
5824
5805
  "index.js"
5825
5806
  ]
5826
5807
  },
5827
- "tenant:cluster:delete": {
5808
+ "tenant:backup:import": {
5828
5809
  "aliases": [],
5829
5810
  "args": {
5830
- "cluster_id": {
5831
- "description": "Cluster ID to delete",
5832
- "name": "cluster_id",
5811
+ "tenant_name": {
5812
+ "description": "Tenant name to import backup into",
5813
+ "name": "tenant_name",
5833
5814
  "required": true
5834
5815
  }
5835
5816
  },
5836
- "description": "Delete a tenant cluster. This action cannot be undone.",
5817
+ "description": "Import a backup file into a tenant",
5837
5818
  "examples": [
5838
- "$ 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",
5839
- "$ xano tenant cluster delete 3 --force\nTenant cluster 3 deleted successfully\n",
5840
- "$ xano tenant cluster delete 3 -f -o json"
5819
+ "$ xano tenant backup import t1234-abcd-xyz1 --file ./my-backup.tar.gz\nImported backup as #15 for tenant t1234-abcd-xyz1\n",
5820
+ "$ xano tenant backup import t1234-abcd-xyz1 --file ./my-backup.tar.gz --description \"Restored from production\" -o json"
5841
5821
  ],
5842
5822
  "flags": {
5843
5823
  "profile": {
@@ -5859,13 +5839,24 @@
5859
5839
  "allowNo": false,
5860
5840
  "type": "boolean"
5861
5841
  },
5862
- "force": {
5863
- "char": "f",
5864
- "description": "Skip confirmation prompt",
5865
- "name": "force",
5842
+ "description": {
5843
+ "char": "d",
5844
+ "description": "Backup description",
5845
+ "name": "description",
5866
5846
  "required": false,
5867
- "allowNo": false,
5868
- "type": "boolean"
5847
+ "default": "",
5848
+ "hasDynamicHelp": false,
5849
+ "multiple": false,
5850
+ "type": "option"
5851
+ },
5852
+ "file": {
5853
+ "char": "f",
5854
+ "description": "Path to the backup file (.tar.gz)",
5855
+ "name": "file",
5856
+ "required": true,
5857
+ "hasDynamicHelp": false,
5858
+ "multiple": false,
5859
+ "type": "option"
5869
5860
  },
5870
5861
  "output": {
5871
5862
  "char": "o",
@@ -5880,11 +5871,20 @@
5880
5871
  "json"
5881
5872
  ],
5882
5873
  "type": "option"
5874
+ },
5875
+ "workspace": {
5876
+ "char": "w",
5877
+ "description": "Workspace ID (uses profile workspace if not provided)",
5878
+ "name": "workspace",
5879
+ "required": false,
5880
+ "hasDynamicHelp": false,
5881
+ "multiple": false,
5882
+ "type": "option"
5883
5883
  }
5884
5884
  },
5885
5885
  "hasDynamicHelp": false,
5886
5886
  "hiddenAliases": [],
5887
- "id": "tenant:cluster:delete",
5887
+ "id": "tenant:backup:import",
5888
5888
  "pluginAlias": "@xano/cli",
5889
5889
  "pluginName": "@xano/cli",
5890
5890
  "pluginType": "core",
@@ -5895,8 +5895,8 @@
5895
5895
  "dist",
5896
5896
  "commands",
5897
5897
  "tenant",
5898
- "cluster",
5899
- "delete",
5898
+ "backup",
5899
+ "import",
5900
5900
  "index.js"
5901
5901
  ]
5902
5902
  },
@@ -6166,68 +6166,7 @@
6166
6166
  "index.js"
6167
6167
  ]
6168
6168
  },
6169
- "tenant:cluster:list": {
6170
- "aliases": [],
6171
- "args": {},
6172
- "description": "List all tenant clusters",
6173
- "examples": [
6174
- "$ xano tenant cluster list\nTenant clusters:\n - us-east-1 (standard) [ID: 1]\n - eu-west-1 (run) [ID: 2]\n",
6175
- "$ xano tenant cluster list --output json"
6176
- ],
6177
- "flags": {
6178
- "profile": {
6179
- "char": "p",
6180
- "description": "Profile to use (uses default profile if not specified)",
6181
- "env": "XANO_PROFILE",
6182
- "name": "profile",
6183
- "required": false,
6184
- "hasDynamicHelp": false,
6185
- "multiple": false,
6186
- "type": "option"
6187
- },
6188
- "verbose": {
6189
- "char": "v",
6190
- "description": "Show detailed request/response information",
6191
- "env": "XANO_VERBOSE",
6192
- "name": "verbose",
6193
- "required": false,
6194
- "allowNo": false,
6195
- "type": "boolean"
6196
- },
6197
- "output": {
6198
- "char": "o",
6199
- "description": "Output format",
6200
- "name": "output",
6201
- "required": false,
6202
- "default": "summary",
6203
- "hasDynamicHelp": false,
6204
- "multiple": false,
6205
- "options": [
6206
- "summary",
6207
- "json"
6208
- ],
6209
- "type": "option"
6210
- }
6211
- },
6212
- "hasDynamicHelp": false,
6213
- "hiddenAliases": [],
6214
- "id": "tenant:cluster:list",
6215
- "pluginAlias": "@xano/cli",
6216
- "pluginName": "@xano/cli",
6217
- "pluginType": "core",
6218
- "strict": true,
6219
- "enableJsonFlag": false,
6220
- "isESM": true,
6221
- "relativePath": [
6222
- "dist",
6223
- "commands",
6224
- "tenant",
6225
- "cluster",
6226
- "list",
6227
- "index.js"
6228
- ]
6229
- },
6230
- "tenant:env:get": {
6169
+ "tenant:env:get_all": {
6231
6170
  "aliases": [],
6232
6171
  "args": {
6233
6172
  "tenant_name": {
@@ -6236,10 +6175,12 @@
6236
6175
  "required": true
6237
6176
  }
6238
6177
  },
6239
- "description": "Get a single environment variable for a tenant",
6178
+ "description": "Get all environment variables for a tenant and save to a YAML file",
6240
6179
  "examples": [
6241
- "$ xano tenant env get my-tenant --name DATABASE_URL\npostgres://localhost:5432/mydb\n",
6242
- "$ xano tenant env get my-tenant --name DATABASE_URL -w 5 -o json"
6180
+ "$ xano tenant env get_all my-tenant\nEnvironment variables saved to env_my-tenant.yaml\n",
6181
+ "$ xano tenant env get_all my-tenant --file ./my-env.yaml",
6182
+ "$ xano tenant env get_all my-tenant --view",
6183
+ "$ xano tenant env get_all my-tenant -o json"
6243
6184
  ],
6244
6185
  "flags": {
6245
6186
  "profile": {
@@ -6261,11 +6202,11 @@
6261
6202
  "allowNo": false,
6262
6203
  "type": "boolean"
6263
6204
  },
6264
- "name": {
6265
- "char": "n",
6266
- "description": "Environment variable name",
6267
- "name": "name",
6268
- "required": true,
6205
+ "file": {
6206
+ "char": "f",
6207
+ "description": "Output file path (default: env_<tenant_name>.yaml)",
6208
+ "name": "file",
6209
+ "required": false,
6269
6210
  "hasDynamicHelp": false,
6270
6211
  "multiple": false,
6271
6212
  "type": "option"
@@ -6284,6 +6225,13 @@
6284
6225
  ],
6285
6226
  "type": "option"
6286
6227
  },
6228
+ "view": {
6229
+ "description": "Print environment variables to stdout instead of saving to file",
6230
+ "name": "view",
6231
+ "required": false,
6232
+ "allowNo": false,
6233
+ "type": "boolean"
6234
+ },
6287
6235
  "workspace": {
6288
6236
  "char": "w",
6289
6237
  "description": "Workspace ID (uses profile workspace if not provided)",
@@ -6296,7 +6244,7 @@
6296
6244
  },
6297
6245
  "hasDynamicHelp": false,
6298
6246
  "hiddenAliases": [],
6299
- "id": "tenant:env:get",
6247
+ "id": "tenant:env:get_all",
6300
6248
  "pluginAlias": "@xano/cli",
6301
6249
  "pluginName": "@xano/cli",
6302
6250
  "pluginType": "core",
@@ -6308,11 +6256,11 @@
6308
6256
  "commands",
6309
6257
  "tenant",
6310
6258
  "env",
6311
- "get",
6259
+ "get_all",
6312
6260
  "index.js"
6313
6261
  ]
6314
6262
  },
6315
- "tenant:env:get_all": {
6263
+ "tenant:env:get": {
6316
6264
  "aliases": [],
6317
6265
  "args": {
6318
6266
  "tenant_name": {
@@ -6321,12 +6269,10 @@
6321
6269
  "required": true
6322
6270
  }
6323
6271
  },
6324
- "description": "Get all environment variables for a tenant and save to a YAML file",
6272
+ "description": "Get a single environment variable for a tenant",
6325
6273
  "examples": [
6326
- "$ xano tenant env get_all my-tenant\nEnvironment variables saved to env_my-tenant.yaml\n",
6327
- "$ xano tenant env get_all my-tenant --file ./my-env.yaml",
6328
- "$ xano tenant env get_all my-tenant --view",
6329
- "$ xano tenant env get_all my-tenant -o json"
6274
+ "$ xano tenant env get my-tenant --name DATABASE_URL\npostgres://localhost:5432/mydb\n",
6275
+ "$ xano tenant env get my-tenant --name DATABASE_URL -w 5 -o json"
6330
6276
  ],
6331
6277
  "flags": {
6332
6278
  "profile": {
@@ -6348,11 +6294,11 @@
6348
6294
  "allowNo": false,
6349
6295
  "type": "boolean"
6350
6296
  },
6351
- "file": {
6352
- "char": "f",
6353
- "description": "Output file path (default: env_<tenant_name>.yaml)",
6354
- "name": "file",
6355
- "required": false,
6297
+ "name": {
6298
+ "char": "n",
6299
+ "description": "Environment variable name",
6300
+ "name": "name",
6301
+ "required": true,
6356
6302
  "hasDynamicHelp": false,
6357
6303
  "multiple": false,
6358
6304
  "type": "option"
@@ -6371,13 +6317,6 @@
6371
6317
  ],
6372
6318
  "type": "option"
6373
6319
  },
6374
- "view": {
6375
- "description": "Print environment variables to stdout instead of saving to file",
6376
- "name": "view",
6377
- "required": false,
6378
- "allowNo": false,
6379
- "type": "boolean"
6380
- },
6381
6320
  "workspace": {
6382
6321
  "char": "w",
6383
6322
  "description": "Workspace ID (uses profile workspace if not provided)",
@@ -6390,7 +6329,7 @@
6390
6329
  },
6391
6330
  "hasDynamicHelp": false,
6392
6331
  "hiddenAliases": [],
6393
- "id": "tenant:env:get_all",
6332
+ "id": "tenant:env:get",
6394
6333
  "pluginAlias": "@xano/cli",
6395
6334
  "pluginName": "@xano/cli",
6396
6335
  "pluginType": "core",
@@ -6402,7 +6341,7 @@
6402
6341
  "commands",
6403
6342
  "tenant",
6404
6343
  "env",
6405
- "get_all",
6344
+ "get",
6406
6345
  "index.js"
6407
6346
  ]
6408
6347
  },
@@ -6968,6 +6907,67 @@
6968
6907
  "index.js"
6969
6908
  ]
6970
6909
  },
6910
+ "tenant:cluster:list": {
6911
+ "aliases": [],
6912
+ "args": {},
6913
+ "description": "List all tenant clusters",
6914
+ "examples": [
6915
+ "$ xano tenant cluster list\nTenant clusters:\n - us-east-1 (standard) [ID: 1]\n - eu-west-1 (run) [ID: 2]\n",
6916
+ "$ xano tenant cluster list --output json"
6917
+ ],
6918
+ "flags": {
6919
+ "profile": {
6920
+ "char": "p",
6921
+ "description": "Profile to use (uses default profile if not specified)",
6922
+ "env": "XANO_PROFILE",
6923
+ "name": "profile",
6924
+ "required": false,
6925
+ "hasDynamicHelp": false,
6926
+ "multiple": false,
6927
+ "type": "option"
6928
+ },
6929
+ "verbose": {
6930
+ "char": "v",
6931
+ "description": "Show detailed request/response information",
6932
+ "env": "XANO_VERBOSE",
6933
+ "name": "verbose",
6934
+ "required": false,
6935
+ "allowNo": false,
6936
+ "type": "boolean"
6937
+ },
6938
+ "output": {
6939
+ "char": "o",
6940
+ "description": "Output format",
6941
+ "name": "output",
6942
+ "required": false,
6943
+ "default": "summary",
6944
+ "hasDynamicHelp": false,
6945
+ "multiple": false,
6946
+ "options": [
6947
+ "summary",
6948
+ "json"
6949
+ ],
6950
+ "type": "option"
6951
+ }
6952
+ },
6953
+ "hasDynamicHelp": false,
6954
+ "hiddenAliases": [],
6955
+ "id": "tenant:cluster:list",
6956
+ "pluginAlias": "@xano/cli",
6957
+ "pluginName": "@xano/cli",
6958
+ "pluginType": "core",
6959
+ "strict": true,
6960
+ "enableJsonFlag": false,
6961
+ "isESM": true,
6962
+ "relativePath": [
6963
+ "dist",
6964
+ "commands",
6965
+ "tenant",
6966
+ "cluster",
6967
+ "list",
6968
+ "index.js"
6969
+ ]
6970
+ },
6971
6971
  "tenant:cluster:license:get": {
6972
6972
  "aliases": [],
6973
6973
  "args": {
@@ -7159,5 +7159,5 @@
7159
7159
  ]
7160
7160
  }
7161
7161
  },
7162
- "version": "0.0.83"
7162
+ "version": "0.0.84"
7163
7163
  }