@xano/cli 0.0.87 → 0.0.88

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.
@@ -207,20 +207,104 @@
207
207
  "index.js"
208
208
  ]
209
209
  },
210
- "branch:list": {
210
+ "branch:delete": {
211
211
  "aliases": [],
212
212
  "args": {
213
- "workspace_id": {
213
+ "branch_label": {
214
+ "description": "Branch label to delete (cannot delete \"v1\" or the live branch)",
215
+ "name": "branch_label",
216
+ "required": true
217
+ }
218
+ },
219
+ "description": "Delete a branch (cannot delete \"v1\" or the live branch)",
220
+ "examples": [
221
+ "$ xano branch delete feature-old\nAre you sure you want to delete branch 'feature-old'? This action cannot be undone. (y/N) y\nDeleted branch: feature-old\n",
222
+ "$ xano branch delete dev --force\nDeleted branch: dev\n",
223
+ "$ xano branch delete staging -f -o json\n{\n \"deleted\": true,\n \"branch_label\": \"staging\"\n}\n"
224
+ ],
225
+ "flags": {
226
+ "profile": {
227
+ "char": "p",
228
+ "description": "Profile to use (uses default profile if not specified)",
229
+ "env": "XANO_PROFILE",
230
+ "name": "profile",
231
+ "required": false,
232
+ "hasDynamicHelp": false,
233
+ "multiple": false,
234
+ "type": "option"
235
+ },
236
+ "verbose": {
237
+ "char": "v",
238
+ "description": "Show detailed request/response information",
239
+ "env": "XANO_VERBOSE",
240
+ "name": "verbose",
241
+ "required": false,
242
+ "allowNo": false,
243
+ "type": "boolean"
244
+ },
245
+ "force": {
246
+ "char": "f",
247
+ "description": "Skip confirmation prompt",
248
+ "name": "force",
249
+ "required": false,
250
+ "allowNo": false,
251
+ "type": "boolean"
252
+ },
253
+ "output": {
254
+ "char": "o",
255
+ "description": "Output format",
256
+ "name": "output",
257
+ "required": false,
258
+ "default": "summary",
259
+ "hasDynamicHelp": false,
260
+ "multiple": false,
261
+ "options": [
262
+ "summary",
263
+ "json"
264
+ ],
265
+ "type": "option"
266
+ },
267
+ "workspace": {
268
+ "char": "w",
214
269
  "description": "Workspace ID (uses profile workspace if not provided)",
215
- "name": "workspace_id",
216
- "required": false
270
+ "name": "workspace",
271
+ "required": false,
272
+ "hasDynamicHelp": false,
273
+ "multiple": false,
274
+ "type": "option"
217
275
  }
218
276
  },
219
- "description": "List all branches in a workspace",
277
+ "hasDynamicHelp": false,
278
+ "hiddenAliases": [],
279
+ "id": "branch:delete",
280
+ "pluginAlias": "@xano/cli",
281
+ "pluginName": "@xano/cli",
282
+ "pluginType": "core",
283
+ "strict": true,
284
+ "enableJsonFlag": false,
285
+ "isESM": true,
286
+ "relativePath": [
287
+ "dist",
288
+ "commands",
289
+ "branch",
290
+ "delete",
291
+ "index.js"
292
+ ]
293
+ },
294
+ "branch:get": {
295
+ "aliases": [],
296
+ "args": {
297
+ "branch_label": {
298
+ "description": "Branch label (e.g., \"v1\", \"dev\")",
299
+ "name": "branch_label",
300
+ "required": true
301
+ }
302
+ },
303
+ "description": "Get details for a specific branch",
220
304
  "examples": [
221
- "$ xano branch list\nAvailable branches:\n - v1 (live)\n - dev\n - staging\n",
222
- "$ xano branch list 123\nAvailable branches:\n - v1 (live)\n - feature-auth\n",
223
- "$ 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"
305
+ "$ xano branch get v1\nBranch: v1 (live)\n Created: 2024-01-15\n",
306
+ "$ xano branch get dev -w 123\nBranch: dev\n Created: 2024-02-01\n",
307
+ "$ xano branch get staging --output json\n{\n \"created_at\": \"2024-02-10T09:15:00Z\",\n \"label\": \"staging\",\n \"backup\": false,\n \"live\": false\n}\n"
224
308
  ],
225
309
  "flags": {
226
310
  "profile": {
@@ -255,11 +339,20 @@
255
339
  "json"
256
340
  ],
257
341
  "type": "option"
342
+ },
343
+ "workspace": {
344
+ "char": "w",
345
+ "description": "Workspace ID (uses profile workspace if not provided)",
346
+ "name": "workspace",
347
+ "required": false,
348
+ "hasDynamicHelp": false,
349
+ "multiple": false,
350
+ "type": "option"
258
351
  }
259
352
  },
260
353
  "hasDynamicHelp": false,
261
354
  "hiddenAliases": [],
262
- "id": "branch:list",
355
+ "id": "branch:get",
263
356
  "pluginAlias": "@xano/cli",
264
357
  "pluginName": "@xano/cli",
265
358
  "pluginType": "core",
@@ -270,7 +363,7 @@
270
363
  "dist",
271
364
  "commands",
272
365
  "branch",
273
- "list",
366
+ "get",
274
367
  "index.js"
275
368
  ]
276
369
  },
@@ -377,20 +470,20 @@
377
470
  "index.js"
378
471
  ]
379
472
  },
380
- "branch:set_live": {
473
+ "branch:list": {
381
474
  "aliases": [],
382
475
  "args": {
383
- "branch_label": {
384
- "description": "Branch label to set as live (use \"v1\" for default branch)",
385
- "name": "branch_label",
386
- "required": true
476
+ "workspace_id": {
477
+ "description": "Workspace ID (uses profile workspace if not provided)",
478
+ "name": "workspace_id",
479
+ "required": false
387
480
  }
388
481
  },
389
- "description": "Set a branch as the live (active) branch for API requests",
482
+ "description": "List all branches in a workspace",
390
483
  "examples": [
391
- "$ 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",
392
- "$ xano branch set-live v1 --force\nBranch 'v1' is now live\n",
393
- "$ 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"
484
+ "$ xano branch list\nAvailable branches:\n - v1 (live)\n - dev\n - staging\n",
485
+ "$ xano branch list 123\nAvailable branches:\n - v1 (live)\n - feature-auth\n",
486
+ "$ 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"
394
487
  ],
395
488
  "flags": {
396
489
  "profile": {
@@ -412,14 +505,6 @@
412
505
  "allowNo": false,
413
506
  "type": "boolean"
414
507
  },
415
- "force": {
416
- "char": "f",
417
- "description": "Skip confirmation prompt",
418
- "name": "force",
419
- "required": false,
420
- "allowNo": false,
421
- "type": "boolean"
422
- },
423
508
  "output": {
424
509
  "char": "o",
425
510
  "description": "Output format",
@@ -433,20 +518,11 @@
433
518
  "json"
434
519
  ],
435
520
  "type": "option"
436
- },
437
- "workspace": {
438
- "char": "w",
439
- "description": "Workspace ID (uses profile workspace if not provided)",
440
- "name": "workspace",
441
- "required": false,
442
- "hasDynamicHelp": false,
443
- "multiple": false,
444
- "type": "option"
445
521
  }
446
522
  },
447
523
  "hasDynamicHelp": false,
448
524
  "hiddenAliases": [],
449
- "id": "branch:set_live",
525
+ "id": "branch:list",
450
526
  "pluginAlias": "@xano/cli",
451
527
  "pluginName": "@xano/cli",
452
528
  "pluginType": "core",
@@ -457,24 +533,23 @@
457
533
  "dist",
458
534
  "commands",
459
535
  "branch",
460
- "set_live",
536
+ "list",
461
537
  "index.js"
462
538
  ]
463
539
  },
464
- "branch:delete": {
540
+ "platform:get": {
465
541
  "aliases": [],
466
542
  "args": {
467
- "branch_label": {
468
- "description": "Branch label to delete (cannot delete \"v1\" or the live branch)",
469
- "name": "branch_label",
543
+ "platform_id": {
544
+ "description": "Platform ID to retrieve",
545
+ "name": "platform_id",
470
546
  "required": true
471
547
  }
472
548
  },
473
- "description": "Delete a branch (cannot delete \"v1\" or the live branch)",
549
+ "description": "Get details of a specific platform",
474
550
  "examples": [
475
- "$ xano branch delete feature-old\nAre you sure you want to delete branch 'feature-old'? This action cannot be undone. (y/N) y\nDeleted branch: feature-old\n",
476
- "$ xano branch delete dev --force\nDeleted branch: dev\n",
477
- "$ xano branch delete staging -f -o json\n{\n \"deleted\": true,\n \"branch_label\": \"staging\"\n}\n"
551
+ "$ 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",
552
+ "$ xano platform get 23629 -o json"
478
553
  ],
479
554
  "flags": {
480
555
  "profile": {
@@ -496,14 +571,6 @@
496
571
  "allowNo": false,
497
572
  "type": "boolean"
498
573
  },
499
- "force": {
500
- "char": "f",
501
- "description": "Skip confirmation prompt",
502
- "name": "force",
503
- "required": false,
504
- "allowNo": false,
505
- "type": "boolean"
506
- },
507
574
  "output": {
508
575
  "char": "o",
509
576
  "description": "Output format",
@@ -517,20 +584,11 @@
517
584
  "json"
518
585
  ],
519
586
  "type": "option"
520
- },
521
- "workspace": {
522
- "char": "w",
523
- "description": "Workspace ID (uses profile workspace if not provided)",
524
- "name": "workspace",
525
- "required": false,
526
- "hasDynamicHelp": false,
527
- "multiple": false,
528
- "type": "option"
529
587
  }
530
588
  },
531
589
  "hasDynamicHelp": false,
532
590
  "hiddenAliases": [],
533
- "id": "branch:delete",
591
+ "id": "platform:get",
534
592
  "pluginAlias": "@xano/cli",
535
593
  "pluginName": "@xano/cli",
536
594
  "pluginType": "core",
@@ -540,25 +598,18 @@
540
598
  "relativePath": [
541
599
  "dist",
542
600
  "commands",
543
- "branch",
544
- "delete",
601
+ "platform",
602
+ "get",
545
603
  "index.js"
546
604
  ]
547
605
  },
548
- "branch:get": {
606
+ "platform:list": {
549
607
  "aliases": [],
550
- "args": {
551
- "branch_label": {
552
- "description": "Branch label (e.g., \"v1\", \"dev\")",
553
- "name": "branch_label",
554
- "required": true
555
- }
556
- },
557
- "description": "Get details for a specific branch",
608
+ "args": {},
609
+ "description": "List all platforms",
558
610
  "examples": [
559
- "$ xano branch get v1\nBranch: v1 (live)\n Created: 2024-01-15\n",
560
- "$ xano branch get dev -w 123\nBranch: dev\n Created: 2024-02-01\n",
561
- "$ xano branch get staging --output json\n{\n \"created_at\": \"2024-02-10T09:15:00Z\",\n \"label\": \"staging\",\n \"backup\": false,\n \"live\": false\n}\n"
611
+ "$ xano platform list\nPlatforms:\n ID: 23629 | Helm: 0.1.356 | Created: 2025-11-28\n",
612
+ "$ xano platform list --output json"
562
613
  ],
563
614
  "flags": {
564
615
  "profile": {
@@ -593,20 +644,11 @@
593
644
  "json"
594
645
  ],
595
646
  "type": "option"
596
- },
597
- "workspace": {
598
- "char": "w",
599
- "description": "Workspace ID (uses profile workspace if not provided)",
600
- "name": "workspace",
601
- "required": false,
602
- "hasDynamicHelp": false,
603
- "multiple": false,
604
- "type": "option"
605
647
  }
606
648
  },
607
649
  "hasDynamicHelp": false,
608
650
  "hiddenAliases": [],
609
- "id": "branch:get",
651
+ "id": "platform:list",
610
652
  "pluginAlias": "@xano/cli",
611
653
  "pluginName": "@xano/cli",
612
654
  "pluginType": "core",
@@ -616,8 +658,8 @@
616
658
  "relativePath": [
617
659
  "dist",
618
660
  "commands",
619
- "branch",
620
- "get",
661
+ "platform",
662
+ "list",
621
663
  "index.js"
622
664
  ]
623
665
  },
@@ -727,23 +769,25 @@
727
769
  "index.js"
728
770
  ]
729
771
  },
730
- "function:get": {
772
+ "function:edit": {
731
773
  "aliases": [],
732
774
  "args": {
733
775
  "function_id": {
734
- "description": "Function ID",
776
+ "description": "Function ID to edit",
735
777
  "name": "function_id",
736
778
  "required": false
737
779
  }
738
780
  },
739
- "description": "Get a specific function from a workspace",
781
+ "description": "Edit a function in a workspace",
740
782
  "examples": [
741
- "$ xano function:get 145 -w 40\nFunction: yo (ID: 145)\nCreated: 2025-10-10 10:30:00\nDescription: Sample function\n",
742
- "$ xano function:get 145 --profile production\nFunction: yo (ID: 145)\nCreated: 2025-10-10 10:30:00\n",
743
- "$ xano function:get\nSelect a function:\n ❯ yo (ID: 145) - Sample function\n another-func (ID: 146)\n",
744
- "$ xano function:get 145 -w 40 --output json\n{\n \"id\": 145,\n \"name\": \"yo\",\n \"description\": \"Sample function\"\n}\n",
745
- "$ xano function:get 145 -p staging -o json --include_draft\n{\n \"id\": 145,\n \"name\": \"yo\"\n}\n",
746
- "$ xano function:get 145 -p staging -o xs\nfunction yo {\n input {\n }\n stack {\n }\n response = null\n}\n"
783
+ "$ 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",
784
+ "$ 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",
785
+ "$ xano function:edit 163 -f function.xs\nFunction updated successfully!\nID: 163\nName: my_function\n",
786
+ "$ xano function:edit 163 -w 40 -f function.xs\nFunction updated successfully!\nID: 163\nName: my_function\n",
787
+ "$ xano function:edit -f function.xs\nSelect a function to edit:\n ❯ my_function (ID: 163) - Sample function\n another-func (ID: 164)\n",
788
+ "$ 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",
789
+ "$ cat function.xs | xano function:edit 163 --stdin\nFunction updated successfully!\nID: 163\nName: my_function\n",
790
+ "$ xano function:edit 163 -f function.xs -o json\n{\n \"id\": 163,\n \"name\": \"my_function\",\n ...\n}\n"
747
791
  ],
748
792
  "flags": {
749
793
  "profile": {
@@ -765,106 +809,10 @@
765
809
  "allowNo": false,
766
810
  "type": "boolean"
767
811
  },
768
- "include_draft": {
769
- "description": "Include draft version",
770
- "name": "include_draft",
771
- "required": false,
772
- "allowNo": false,
773
- "type": "boolean"
774
- },
775
- "include_xanoscript": {
776
- "description": "Include XanoScript in response",
777
- "name": "include_xanoscript",
778
- "required": false,
779
- "allowNo": false,
780
- "type": "boolean"
781
- },
782
- "output": {
783
- "char": "o",
784
- "description": "Output format",
785
- "name": "output",
786
- "required": false,
787
- "default": "summary",
788
- "hasDynamicHelp": false,
789
- "multiple": false,
790
- "options": [
791
- "summary",
792
- "json",
793
- "xs"
794
- ],
795
- "type": "option"
796
- },
797
- "workspace": {
798
- "char": "w",
799
- "description": "Workspace ID (optional if set in profile)",
800
- "name": "workspace",
801
- "required": false,
802
- "hasDynamicHelp": false,
803
- "multiple": false,
804
- "type": "option"
805
- }
806
- },
807
- "hasDynamicHelp": false,
808
- "hiddenAliases": [],
809
- "id": "function:get",
810
- "pluginAlias": "@xano/cli",
811
- "pluginName": "@xano/cli",
812
- "pluginType": "core",
813
- "strict": true,
814
- "enableJsonFlag": false,
815
- "isESM": true,
816
- "relativePath": [
817
- "dist",
818
- "commands",
819
- "function",
820
- "get",
821
- "index.js"
822
- ]
823
- },
824
- "function:edit": {
825
- "aliases": [],
826
- "args": {
827
- "function_id": {
828
- "description": "Function ID to edit",
829
- "name": "function_id",
830
- "required": false
831
- }
832
- },
833
- "description": "Edit a function in a workspace",
834
- "examples": [
835
- "$ 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",
836
- "$ 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",
837
- "$ xano function:edit 163 -f function.xs\nFunction updated successfully!\nID: 163\nName: my_function\n",
838
- "$ xano function:edit 163 -w 40 -f function.xs\nFunction updated successfully!\nID: 163\nName: my_function\n",
839
- "$ xano function:edit -f function.xs\nSelect a function to edit:\n ❯ my_function (ID: 163) - Sample function\n another-func (ID: 164)\n",
840
- "$ 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",
841
- "$ cat function.xs | xano function:edit 163 --stdin\nFunction updated successfully!\nID: 163\nName: my_function\n",
842
- "$ xano function:edit 163 -f function.xs -o json\n{\n \"id\": 163,\n \"name\": \"my_function\",\n ...\n}\n"
843
- ],
844
- "flags": {
845
- "profile": {
846
- "char": "p",
847
- "description": "Profile to use (uses default profile if not specified)",
848
- "env": "XANO_PROFILE",
849
- "name": "profile",
850
- "required": false,
851
- "hasDynamicHelp": false,
852
- "multiple": false,
853
- "type": "option"
854
- },
855
- "verbose": {
856
- "char": "v",
857
- "description": "Show detailed request/response information",
858
- "env": "XANO_VERBOSE",
859
- "name": "verbose",
860
- "required": false,
861
- "allowNo": false,
862
- "type": "boolean"
863
- },
864
- "edit": {
865
- "char": "e",
866
- "description": "Open file in editor before updating function (requires --file)",
867
- "name": "edit",
812
+ "edit": {
813
+ "char": "e",
814
+ "description": "Open file in editor before updating function (requires --file)",
815
+ "name": "edit",
868
816
  "required": false,
869
817
  "allowNo": false,
870
818
  "type": "boolean"
@@ -940,19 +888,23 @@
940
888
  "index.js"
941
889
  ]
942
890
  },
943
- "platform:get": {
891
+ "function:get": {
944
892
  "aliases": [],
945
893
  "args": {
946
- "platform_id": {
947
- "description": "Platform ID to retrieve",
948
- "name": "platform_id",
949
- "required": true
894
+ "function_id": {
895
+ "description": "Function ID",
896
+ "name": "function_id",
897
+ "required": false
950
898
  }
951
899
  },
952
- "description": "Get details of a specific platform",
900
+ "description": "Get a specific function from a workspace",
953
901
  "examples": [
954
- "$ 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",
955
- "$ xano platform get 23629 -o json"
902
+ "$ xano function:get 145 -w 40\nFunction: yo (ID: 145)\nCreated: 2025-10-10 10:30:00\nDescription: Sample function\n",
903
+ "$ xano function:get 145 --profile production\nFunction: yo (ID: 145)\nCreated: 2025-10-10 10:30:00\n",
904
+ "$ xano function:get\nSelect a function:\n ❯ yo (ID: 145) - Sample function\n another-func (ID: 146)\n",
905
+ "$ xano function:get 145 -w 40 --output json\n{\n \"id\": 145,\n \"name\": \"yo\",\n \"description\": \"Sample function\"\n}\n",
906
+ "$ xano function:get 145 -p staging -o json --include_draft\n{\n \"id\": 145,\n \"name\": \"yo\"\n}\n",
907
+ "$ xano function:get 145 -p staging -o xs\nfunction yo {\n input {\n }\n stack {\n }\n response = null\n}\n"
956
908
  ],
957
909
  "flags": {
958
910
  "profile": {
@@ -974,6 +926,20 @@
974
926
  "allowNo": false,
975
927
  "type": "boolean"
976
928
  },
929
+ "include_draft": {
930
+ "description": "Include draft version",
931
+ "name": "include_draft",
932
+ "required": false,
933
+ "allowNo": false,
934
+ "type": "boolean"
935
+ },
936
+ "include_xanoscript": {
937
+ "description": "Include XanoScript in response",
938
+ "name": "include_xanoscript",
939
+ "required": false,
940
+ "allowNo": false,
941
+ "type": "boolean"
942
+ },
977
943
  "output": {
978
944
  "char": "o",
979
945
  "description": "Output format",
@@ -984,14 +950,24 @@
984
950
  "multiple": false,
985
951
  "options": [
986
952
  "summary",
987
- "json"
953
+ "json",
954
+ "xs"
988
955
  ],
989
956
  "type": "option"
957
+ },
958
+ "workspace": {
959
+ "char": "w",
960
+ "description": "Workspace ID (optional if set in profile)",
961
+ "name": "workspace",
962
+ "required": false,
963
+ "hasDynamicHelp": false,
964
+ "multiple": false,
965
+ "type": "option"
990
966
  }
991
967
  },
992
968
  "hasDynamicHelp": false,
993
969
  "hiddenAliases": [],
994
- "id": "platform:get",
970
+ "id": "function:get",
995
971
  "pluginAlias": "@xano/cli",
996
972
  "pluginName": "@xano/cli",
997
973
  "pluginType": "core",
@@ -1001,7 +977,7 @@
1001
977
  "relativePath": [
1002
978
  "dist",
1003
979
  "commands",
1004
- "platform",
980
+ "function",
1005
981
  "get",
1006
982
  "index.js"
1007
983
  ]
@@ -1173,52 +1149,88 @@
1173
1149
  "index.js"
1174
1150
  ]
1175
1151
  },
1176
- "platform:list": {
1152
+ "profile:create": {
1177
1153
  "aliases": [],
1178
- "args": {},
1179
- "description": "List all platforms",
1154
+ "args": {
1155
+ "name": {
1156
+ "description": "Profile name",
1157
+ "name": "name",
1158
+ "required": true
1159
+ }
1160
+ },
1161
+ "description": "Create a new profile configuration",
1180
1162
  "examples": [
1181
- "$ xano platform list\nPlatforms:\n ID: 23629 | Helm: 0.1.356 | Created: 2025-11-28\n",
1182
- "$ xano platform list --output json"
1163
+ "$ 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",
1164
+ "$ 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",
1165
+ "$ 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",
1166
+ "$ 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",
1167
+ "$ xano profile:create selfhosted -i https://self-signed.example.com -t token123 --insecure\nProfile 'selfhosted' created successfully at ~/.xano/credentials.yaml\n"
1183
1168
  ],
1184
1169
  "flags": {
1185
- "profile": {
1186
- "char": "p",
1187
- "description": "Profile to use (uses default profile if not specified)",
1188
- "env": "XANO_PROFILE",
1189
- "name": "profile",
1170
+ "access_token": {
1171
+ "char": "t",
1172
+ "description": "Access token for the Xano Metadata API",
1173
+ "name": "access_token",
1174
+ "required": true,
1175
+ "hasDynamicHelp": false,
1176
+ "multiple": false,
1177
+ "type": "option"
1178
+ },
1179
+ "account_origin": {
1180
+ "char": "a",
1181
+ "description": "Account origin URL. Optional for self hosted installs.",
1182
+ "name": "account_origin",
1190
1183
  "required": false,
1191
1184
  "hasDynamicHelp": false,
1192
1185
  "multiple": false,
1193
1186
  "type": "option"
1194
1187
  },
1195
- "verbose": {
1196
- "char": "v",
1197
- "description": "Show detailed request/response information",
1198
- "env": "XANO_VERBOSE",
1199
- "name": "verbose",
1188
+ "branch": {
1189
+ "char": "b",
1190
+ "description": "Branch name",
1191
+ "name": "branch",
1192
+ "required": false,
1193
+ "hasDynamicHelp": false,
1194
+ "multiple": false,
1195
+ "type": "option"
1196
+ },
1197
+ "default": {
1198
+ "description": "Set this profile as the default",
1199
+ "name": "default",
1200
1200
  "required": false,
1201
1201
  "allowNo": false,
1202
1202
  "type": "boolean"
1203
1203
  },
1204
- "output": {
1205
- "char": "o",
1206
- "description": "Output format",
1207
- "name": "output",
1204
+ "insecure": {
1205
+ "char": "k",
1206
+ "description": "Skip TLS certificate verification (for self-signed certificates)",
1207
+ "name": "insecure",
1208
+ "required": false,
1209
+ "allowNo": false,
1210
+ "type": "boolean"
1211
+ },
1212
+ "instance_origin": {
1213
+ "char": "i",
1214
+ "description": "Instance origin URL",
1215
+ "name": "instance_origin",
1216
+ "required": true,
1217
+ "hasDynamicHelp": false,
1218
+ "multiple": false,
1219
+ "type": "option"
1220
+ },
1221
+ "workspace": {
1222
+ "char": "w",
1223
+ "description": "Workspace name",
1224
+ "name": "workspace",
1208
1225
  "required": false,
1209
- "default": "summary",
1210
1226
  "hasDynamicHelp": false,
1211
1227
  "multiple": false,
1212
- "options": [
1213
- "summary",
1214
- "json"
1215
- ],
1216
1228
  "type": "option"
1217
1229
  }
1218
1230
  },
1219
1231
  "hasDynamicHelp": false,
1220
1232
  "hiddenAliases": [],
1221
- "id": "platform:list",
1233
+ "id": "profile:create",
1222
1234
  "pluginAlias": "@xano/cli",
1223
1235
  "pluginName": "@xano/cli",
1224
1236
  "pluginType": "core",
@@ -1228,8 +1240,8 @@
1228
1240
  "relativePath": [
1229
1241
  "dist",
1230
1242
  "commands",
1231
- "platform",
1232
- "list",
1243
+ "profile",
1244
+ "create",
1233
1245
  "index.js"
1234
1246
  ]
1235
1247
  },
@@ -1363,17 +1375,28 @@
1363
1375
  "index.js"
1364
1376
  ]
1365
1377
  },
1366
- "profile:get": {
1378
+ "profile:list": {
1367
1379
  "aliases": [],
1368
1380
  "args": {},
1369
- "description": "Get the current default profile name",
1381
+ "description": "List all available profile configurations",
1370
1382
  "examples": [
1371
- "$ xano profile get\nproduction\n"
1383
+ "$ xano profile:list\nAvailable profiles:\n - default\n - production\n - staging\n - development\n",
1384
+ "$ 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",
1385
+ "$ 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"
1372
1386
  ],
1373
- "flags": {},
1387
+ "flags": {
1388
+ "details": {
1389
+ "char": "d",
1390
+ "description": "Show detailed information for each profile",
1391
+ "name": "details",
1392
+ "required": false,
1393
+ "allowNo": false,
1394
+ "type": "boolean"
1395
+ }
1396
+ },
1374
1397
  "hasDynamicHelp": false,
1375
1398
  "hiddenAliases": [],
1376
- "id": "profile:get",
1399
+ "id": "profile:list",
1377
1400
  "pluginAlias": "@xano/cli",
1378
1401
  "pluginName": "@xano/cli",
1379
1402
  "pluginType": "core",
@@ -1384,92 +1407,82 @@
1384
1407
  "dist",
1385
1408
  "commands",
1386
1409
  "profile",
1387
- "get",
1410
+ "list",
1388
1411
  "index.js"
1389
1412
  ]
1390
1413
  },
1391
- "profile:create": {
1414
+ "profile:get": {
1392
1415
  "aliases": [],
1393
- "args": {
1394
- "name": {
1395
- "description": "Profile name",
1396
- "name": "name",
1397
- "required": true
1398
- }
1399
- },
1400
- "description": "Create a new profile configuration",
1416
+ "args": {},
1417
+ "description": "Get the current default profile name",
1401
1418
  "examples": [
1402
- "$ 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",
1403
- "$ 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",
1404
- "$ 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",
1405
- "$ 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",
1406
- "$ xano profile:create selfhosted -i https://self-signed.example.com -t token123 --insecure\nProfile 'selfhosted' created successfully at ~/.xano/credentials.yaml\n"
1419
+ "$ xano profile get\nproduction\n"
1420
+ ],
1421
+ "flags": {},
1422
+ "hasDynamicHelp": false,
1423
+ "hiddenAliases": [],
1424
+ "id": "profile:get",
1425
+ "pluginAlias": "@xano/cli",
1426
+ "pluginName": "@xano/cli",
1427
+ "pluginType": "core",
1428
+ "strict": true,
1429
+ "enableJsonFlag": false,
1430
+ "isESM": true,
1431
+ "relativePath": [
1432
+ "dist",
1433
+ "commands",
1434
+ "profile",
1435
+ "get",
1436
+ "index.js"
1437
+ ]
1438
+ },
1439
+ "profile:me": {
1440
+ "aliases": [],
1441
+ "args": {},
1442
+ "description": "Get information about the currently authenticated user",
1443
+ "examples": [
1444
+ "$ xano profile:me\nUser Information:\n ID: 1\n Name: John Doe\n Email: john@example.com\n",
1445
+ "$ xano profile:me --profile production\nUser Information:\n ID: 42\n Name: Admin User\n Email: admin@example.com\n",
1446
+ "$ xano profile:me --output json\n{\n \"id\": 1,\n \"name\": \"John Doe\",\n \"email\": \"john@example.com\"\n}\n"
1407
1447
  ],
1408
1448
  "flags": {
1409
- "access_token": {
1410
- "char": "t",
1411
- "description": "Access token for the Xano Metadata API",
1412
- "name": "access_token",
1413
- "required": true,
1414
- "hasDynamicHelp": false,
1415
- "multiple": false,
1416
- "type": "option"
1417
- },
1418
- "account_origin": {
1419
- "char": "a",
1420
- "description": "Account origin URL. Optional for self hosted installs.",
1421
- "name": "account_origin",
1422
- "required": false,
1423
- "hasDynamicHelp": false,
1424
- "multiple": false,
1425
- "type": "option"
1426
- },
1427
- "branch": {
1428
- "char": "b",
1429
- "description": "Branch name",
1430
- "name": "branch",
1449
+ "profile": {
1450
+ "char": "p",
1451
+ "description": "Profile to use (uses default profile if not specified)",
1452
+ "env": "XANO_PROFILE",
1453
+ "name": "profile",
1431
1454
  "required": false,
1432
1455
  "hasDynamicHelp": false,
1433
1456
  "multiple": false,
1434
1457
  "type": "option"
1435
1458
  },
1436
- "default": {
1437
- "description": "Set this profile as the default",
1438
- "name": "default",
1439
- "required": false,
1440
- "allowNo": false,
1441
- "type": "boolean"
1442
- },
1443
- "insecure": {
1444
- "char": "k",
1445
- "description": "Skip TLS certificate verification (for self-signed certificates)",
1446
- "name": "insecure",
1459
+ "verbose": {
1460
+ "char": "v",
1461
+ "description": "Show detailed request/response information",
1462
+ "env": "XANO_VERBOSE",
1463
+ "name": "verbose",
1447
1464
  "required": false,
1448
1465
  "allowNo": false,
1449
1466
  "type": "boolean"
1450
1467
  },
1451
- "instance_origin": {
1452
- "char": "i",
1453
- "description": "Instance origin URL",
1454
- "name": "instance_origin",
1455
- "required": true,
1456
- "hasDynamicHelp": false,
1457
- "multiple": false,
1458
- "type": "option"
1459
- },
1460
- "workspace": {
1461
- "char": "w",
1462
- "description": "Workspace name",
1463
- "name": "workspace",
1468
+ "output": {
1469
+ "char": "o",
1470
+ "description": "Output format",
1471
+ "name": "output",
1464
1472
  "required": false,
1473
+ "default": "summary",
1465
1474
  "hasDynamicHelp": false,
1466
1475
  "multiple": false,
1476
+ "options": [
1477
+ "summary",
1478
+ "json"
1479
+ ],
1467
1480
  "type": "option"
1468
1481
  }
1469
1482
  },
1470
1483
  "hasDynamicHelp": false,
1471
1484
  "hiddenAliases": [],
1472
- "id": "profile:create",
1485
+ "id": "profile:me",
1473
1486
  "pluginAlias": "@xano/cli",
1474
1487
  "pluginName": "@xano/cli",
1475
1488
  "pluginType": "core",
@@ -1480,7 +1493,7 @@
1480
1493
  "dist",
1481
1494
  "commands",
1482
1495
  "profile",
1483
- "create",
1496
+ "me",
1484
1497
  "index.js"
1485
1498
  ]
1486
1499
  },
@@ -1515,28 +1528,45 @@
1515
1528
  "index.js"
1516
1529
  ]
1517
1530
  },
1518
- "profile:list": {
1531
+ "profile:wizard": {
1519
1532
  "aliases": [],
1520
1533
  "args": {},
1521
- "description": "List all available profile configurations",
1534
+ "description": "Create a new profile configuration using an interactive wizard",
1522
1535
  "examples": [
1523
- "$ xano profile:list\nAvailable profiles:\n - default\n - production\n - staging\n - development\n",
1524
- "$ 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",
1525
- "$ 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"
1536
+ "$ 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"
1526
1537
  ],
1527
1538
  "flags": {
1528
- "details": {
1529
- "char": "d",
1530
- "description": "Show detailed information for each profile",
1531
- "name": "details",
1539
+ "insecure": {
1540
+ "char": "k",
1541
+ "description": "Skip TLS certificate verification (for self-signed certificates)",
1542
+ "name": "insecure",
1532
1543
  "required": false,
1533
1544
  "allowNo": false,
1534
1545
  "type": "boolean"
1546
+ },
1547
+ "name": {
1548
+ "char": "n",
1549
+ "description": "Profile name (skip prompt if provided)",
1550
+ "name": "name",
1551
+ "required": false,
1552
+ "hasDynamicHelp": false,
1553
+ "multiple": false,
1554
+ "type": "option"
1555
+ },
1556
+ "origin": {
1557
+ "char": "o",
1558
+ "description": "Xano instance origin URL",
1559
+ "name": "origin",
1560
+ "required": false,
1561
+ "default": "https://app.xano.com",
1562
+ "hasDynamicHelp": false,
1563
+ "multiple": false,
1564
+ "type": "option"
1535
1565
  }
1536
1566
  },
1537
1567
  "hasDynamicHelp": false,
1538
1568
  "hiddenAliases": [],
1539
- "id": "profile:list",
1569
+ "id": "profile:wizard",
1540
1570
  "pluginAlias": "@xano/cli",
1541
1571
  "pluginName": "@xano/cli",
1542
1572
  "pluginType": "core",
@@ -1547,7 +1577,7 @@
1547
1577
  "dist",
1548
1578
  "commands",
1549
1579
  "profile",
1550
- "list",
1580
+ "wizard",
1551
1581
  "index.js"
1552
1582
  ]
1553
1583
  },
@@ -1577,67 +1607,6 @@
1577
1607
  "index.js"
1578
1608
  ]
1579
1609
  },
1580
- "profile:me": {
1581
- "aliases": [],
1582
- "args": {},
1583
- "description": "Get information about the currently authenticated user",
1584
- "examples": [
1585
- "$ xano profile:me\nUser Information:\n ID: 1\n Name: John Doe\n Email: john@example.com\n",
1586
- "$ xano profile:me --profile production\nUser Information:\n ID: 42\n Name: Admin User\n Email: admin@example.com\n",
1587
- "$ xano profile:me --output json\n{\n \"id\": 1,\n \"name\": \"John Doe\",\n \"email\": \"john@example.com\"\n}\n"
1588
- ],
1589
- "flags": {
1590
- "profile": {
1591
- "char": "p",
1592
- "description": "Profile to use (uses default profile if not specified)",
1593
- "env": "XANO_PROFILE",
1594
- "name": "profile",
1595
- "required": false,
1596
- "hasDynamicHelp": false,
1597
- "multiple": false,
1598
- "type": "option"
1599
- },
1600
- "verbose": {
1601
- "char": "v",
1602
- "description": "Show detailed request/response information",
1603
- "env": "XANO_VERBOSE",
1604
- "name": "verbose",
1605
- "required": false,
1606
- "allowNo": false,
1607
- "type": "boolean"
1608
- },
1609
- "output": {
1610
- "char": "o",
1611
- "description": "Output format",
1612
- "name": "output",
1613
- "required": false,
1614
- "default": "summary",
1615
- "hasDynamicHelp": false,
1616
- "multiple": false,
1617
- "options": [
1618
- "summary",
1619
- "json"
1620
- ],
1621
- "type": "option"
1622
- }
1623
- },
1624
- "hasDynamicHelp": false,
1625
- "hiddenAliases": [],
1626
- "id": "profile:me",
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
- "me",
1638
- "index.js"
1639
- ]
1640
- },
1641
1610
  "profile:workspace": {
1642
1611
  "aliases": [],
1643
1612
  "args": {},
@@ -1775,37 +1744,68 @@
1775
1744
  "index.js"
1776
1745
  ]
1777
1746
  },
1778
- "profile:wizard": {
1747
+ "release:delete": {
1779
1748
  "aliases": [],
1780
- "args": {},
1781
- "description": "Create a new profile configuration using an interactive wizard",
1749
+ "args": {
1750
+ "release_name": {
1751
+ "description": "Release name to delete",
1752
+ "name": "release_name",
1753
+ "required": true
1754
+ }
1755
+ },
1756
+ "description": "Delete a release permanently. This action cannot be undone.",
1782
1757
  "examples": [
1783
- "$ 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"
1758
+ "$ xano release delete v1.0\nAre you sure you want to delete release 'v1.0'? This action cannot be undone. (y/N) y\nDeleted release 'v1.0'\n",
1759
+ "$ xano release delete v1.0 --force\nDeleted release 'v1.0'\n",
1760
+ "$ xano release delete v1.0 -f -o json"
1784
1761
  ],
1785
1762
  "flags": {
1786
- "insecure": {
1787
- "char": "k",
1788
- "description": "Skip TLS certificate verification (for self-signed certificates)",
1789
- "name": "insecure",
1763
+ "profile": {
1764
+ "char": "p",
1765
+ "description": "Profile to use (uses default profile if not specified)",
1766
+ "env": "XANO_PROFILE",
1767
+ "name": "profile",
1768
+ "required": false,
1769
+ "hasDynamicHelp": false,
1770
+ "multiple": false,
1771
+ "type": "option"
1772
+ },
1773
+ "verbose": {
1774
+ "char": "v",
1775
+ "description": "Show detailed request/response information",
1776
+ "env": "XANO_VERBOSE",
1777
+ "name": "verbose",
1790
1778
  "required": false,
1791
1779
  "allowNo": false,
1792
1780
  "type": "boolean"
1793
1781
  },
1794
- "name": {
1795
- "char": "n",
1796
- "description": "Profile name (skip prompt if provided)",
1797
- "name": "name",
1782
+ "force": {
1783
+ "char": "f",
1784
+ "description": "Skip confirmation prompt",
1785
+ "name": "force",
1798
1786
  "required": false,
1787
+ "allowNo": false,
1788
+ "type": "boolean"
1789
+ },
1790
+ "output": {
1791
+ "char": "o",
1792
+ "description": "Output format",
1793
+ "name": "output",
1794
+ "required": false,
1795
+ "default": "summary",
1799
1796
  "hasDynamicHelp": false,
1800
1797
  "multiple": false,
1798
+ "options": [
1799
+ "summary",
1800
+ "json"
1801
+ ],
1801
1802
  "type": "option"
1802
1803
  },
1803
- "origin": {
1804
- "char": "o",
1805
- "description": "Xano instance origin URL",
1806
- "name": "origin",
1804
+ "workspace": {
1805
+ "char": "w",
1806
+ "description": "Workspace ID (uses profile workspace if not provided)",
1807
+ "name": "workspace",
1807
1808
  "required": false,
1808
- "default": "https://app.xano.com",
1809
1809
  "hasDynamicHelp": false,
1810
1810
  "multiple": false,
1811
1811
  "type": "option"
@@ -1813,7 +1813,7 @@
1813
1813
  },
1814
1814
  "hasDynamicHelp": false,
1815
1815
  "hiddenAliases": [],
1816
- "id": "profile:wizard",
1816
+ "id": "release:delete",
1817
1817
  "pluginAlias": "@xano/cli",
1818
1818
  "pluginName": "@xano/cli",
1819
1819
  "pluginType": "core",
@@ -1823,25 +1823,24 @@
1823
1823
  "relativePath": [
1824
1824
  "dist",
1825
1825
  "commands",
1826
- "profile",
1827
- "wizard",
1826
+ "release",
1827
+ "delete",
1828
1828
  "index.js"
1829
1829
  ]
1830
1830
  },
1831
- "release:delete": {
1831
+ "release:edit": {
1832
1832
  "aliases": [],
1833
1833
  "args": {
1834
1834
  "release_name": {
1835
- "description": "Release name to delete",
1835
+ "description": "Release name to edit",
1836
1836
  "name": "release_name",
1837
1837
  "required": true
1838
1838
  }
1839
1839
  },
1840
- "description": "Delete a release permanently. This action cannot be undone.",
1840
+ "description": "Edit an existing release",
1841
1841
  "examples": [
1842
- "$ xano release delete v1.0\nAre you sure you want to delete release 'v1.0'? This action cannot be undone. (y/N) y\nDeleted release 'v1.0'\n",
1843
- "$ xano release delete v1.0 --force\nDeleted release 'v1.0'\n",
1844
- "$ xano release delete v1.0 -f -o json"
1842
+ "$ xano release edit v1.0 --name \"v1.0-final\" --description \"Updated description\"\nUpdated release: v1.0-final - ID: 10\n",
1843
+ "$ xano release edit v1.0 --description \"New description\" -o json"
1845
1844
  ],
1846
1845
  "flags": {
1847
1846
  "profile": {
@@ -1863,13 +1862,23 @@
1863
1862
  "allowNo": false,
1864
1863
  "type": "boolean"
1865
1864
  },
1866
- "force": {
1867
- "char": "f",
1868
- "description": "Skip confirmation prompt",
1869
- "name": "force",
1865
+ "description": {
1866
+ "char": "d",
1867
+ "description": "New description",
1868
+ "name": "description",
1870
1869
  "required": false,
1871
- "allowNo": false,
1872
- "type": "boolean"
1870
+ "hasDynamicHelp": false,
1871
+ "multiple": false,
1872
+ "type": "option"
1873
+ },
1874
+ "name": {
1875
+ "char": "n",
1876
+ "description": "New name for the release",
1877
+ "name": "name",
1878
+ "required": false,
1879
+ "hasDynamicHelp": false,
1880
+ "multiple": false,
1881
+ "type": "option"
1873
1882
  },
1874
1883
  "output": {
1875
1884
  "char": "o",
@@ -1897,7 +1906,7 @@
1897
1906
  },
1898
1907
  "hasDynamicHelp": false,
1899
1908
  "hiddenAliases": [],
1900
- "id": "release:delete",
1909
+ "id": "release:edit",
1901
1910
  "pluginAlias": "@xano/cli",
1902
1911
  "pluginName": "@xano/cli",
1903
1912
  "pluginType": "core",
@@ -1908,7 +1917,7 @@
1908
1917
  "dist",
1909
1918
  "commands",
1910
1919
  "release",
1911
- "delete",
1920
+ "edit",
1912
1921
  "index.js"
1913
1922
  ]
1914
1923
  },
@@ -1996,6 +2005,81 @@
1996
2005
  "index.js"
1997
2006
  ]
1998
2007
  },
2008
+ "release:get": {
2009
+ "aliases": [],
2010
+ "args": {
2011
+ "release_name": {
2012
+ "description": "Release name to retrieve",
2013
+ "name": "release_name",
2014
+ "required": true
2015
+ }
2016
+ },
2017
+ "description": "Get details of a specific release",
2018
+ "examples": [
2019
+ "$ xano release get v1.0\nRelease: v1.0 - ID: 10\n Branch: main\n Description: Initial release\n Hotfix: false\n",
2020
+ "$ xano release get v1.0 -w 5 -o json"
2021
+ ],
2022
+ "flags": {
2023
+ "profile": {
2024
+ "char": "p",
2025
+ "description": "Profile to use (uses default profile if not specified)",
2026
+ "env": "XANO_PROFILE",
2027
+ "name": "profile",
2028
+ "required": false,
2029
+ "hasDynamicHelp": false,
2030
+ "multiple": false,
2031
+ "type": "option"
2032
+ },
2033
+ "verbose": {
2034
+ "char": "v",
2035
+ "description": "Show detailed request/response information",
2036
+ "env": "XANO_VERBOSE",
2037
+ "name": "verbose",
2038
+ "required": false,
2039
+ "allowNo": false,
2040
+ "type": "boolean"
2041
+ },
2042
+ "output": {
2043
+ "char": "o",
2044
+ "description": "Output format",
2045
+ "name": "output",
2046
+ "required": false,
2047
+ "default": "summary",
2048
+ "hasDynamicHelp": false,
2049
+ "multiple": false,
2050
+ "options": [
2051
+ "summary",
2052
+ "json"
2053
+ ],
2054
+ "type": "option"
2055
+ },
2056
+ "workspace": {
2057
+ "char": "w",
2058
+ "description": "Workspace ID (uses profile workspace if not provided)",
2059
+ "name": "workspace",
2060
+ "required": false,
2061
+ "hasDynamicHelp": false,
2062
+ "multiple": false,
2063
+ "type": "option"
2064
+ }
2065
+ },
2066
+ "hasDynamicHelp": false,
2067
+ "hiddenAliases": [],
2068
+ "id": "release:get",
2069
+ "pluginAlias": "@xano/cli",
2070
+ "pluginName": "@xano/cli",
2071
+ "pluginType": "core",
2072
+ "strict": true,
2073
+ "enableJsonFlag": false,
2074
+ "isESM": true,
2075
+ "relativePath": [
2076
+ "dist",
2077
+ "commands",
2078
+ "release",
2079
+ "get",
2080
+ "index.js"
2081
+ ]
2082
+ },
1999
2083
  "release:import": {
2000
2084
  "aliases": [],
2001
2085
  "args": {},
@@ -2074,19 +2158,13 @@
2074
2158
  "index.js"
2075
2159
  ]
2076
2160
  },
2077
- "release:edit": {
2161
+ "release:list": {
2078
2162
  "aliases": [],
2079
- "args": {
2080
- "release_name": {
2081
- "description": "Release name to edit",
2082
- "name": "release_name",
2083
- "required": true
2084
- }
2085
- },
2086
- "description": "Edit an existing release",
2163
+ "args": {},
2164
+ "description": "List all releases in a workspace",
2087
2165
  "examples": [
2088
- "$ xano release edit v1.0 --name \"v1.0-final\" --description \"Updated description\"\nUpdated release: v1.0-final - ID: 10\n",
2089
- "$ xano release edit v1.0 --description \"New description\" -o json"
2166
+ "$ xano release list\nReleases in workspace 5:\n - v1.0 (ID: 10) - main\n - v1.1-hotfix (ID: 11) - main [hotfix]\n",
2167
+ "$ xano release list -w 5 --output json"
2090
2168
  ],
2091
2169
  "flags": {
2092
2170
  "profile": {
@@ -2103,28 +2181,10 @@
2103
2181
  "char": "v",
2104
2182
  "description": "Show detailed request/response information",
2105
2183
  "env": "XANO_VERBOSE",
2106
- "name": "verbose",
2107
- "required": false,
2108
- "allowNo": false,
2109
- "type": "boolean"
2110
- },
2111
- "description": {
2112
- "char": "d",
2113
- "description": "New description",
2114
- "name": "description",
2115
- "required": false,
2116
- "hasDynamicHelp": false,
2117
- "multiple": false,
2118
- "type": "option"
2119
- },
2120
- "name": {
2121
- "char": "n",
2122
- "description": "New name for the release",
2123
- "name": "name",
2184
+ "name": "verbose",
2124
2185
  "required": false,
2125
- "hasDynamicHelp": false,
2126
- "multiple": false,
2127
- "type": "option"
2186
+ "allowNo": false,
2187
+ "type": "boolean"
2128
2188
  },
2129
2189
  "output": {
2130
2190
  "char": "o",
@@ -2152,7 +2212,7 @@
2152
2212
  },
2153
2213
  "hasDynamicHelp": false,
2154
2214
  "hiddenAliases": [],
2155
- "id": "release:edit",
2215
+ "id": "release:list",
2156
2216
  "pluginAlias": "@xano/cli",
2157
2217
  "pluginName": "@xano/cli",
2158
2218
  "pluginType": "core",
@@ -2163,23 +2223,24 @@
2163
2223
  "dist",
2164
2224
  "commands",
2165
2225
  "release",
2166
- "edit",
2226
+ "list",
2167
2227
  "index.js"
2168
2228
  ]
2169
2229
  },
2170
- "release:get": {
2230
+ "release:pull": {
2171
2231
  "aliases": [],
2172
2232
  "args": {
2173
- "release_name": {
2174
- "description": "Release name to retrieve",
2175
- "name": "release_name",
2233
+ "directory": {
2234
+ "description": "Output directory for pulled documents",
2235
+ "name": "directory",
2176
2236
  "required": true
2177
2237
  }
2178
2238
  },
2179
- "description": "Get details of a specific release",
2239
+ "description": "Pull a release multidoc from the Xano Metadata API and split into individual files",
2180
2240
  "examples": [
2181
- "$ xano release get v1.0\nRelease: v1.0 - ID: 10\n Branch: main\n Description: Initial release\n Hotfix: false\n",
2182
- "$ xano release get v1.0 -w 5 -o json"
2241
+ "$ xano release pull ./my-release -r v1.0\nPulled 42 documents from release 'v1.0' to ./my-release\n",
2242
+ "$ xano release pull ./output -r v1.0 -w 40\nPulled 15 documents from release 'v1.0' to ./output\n",
2243
+ "$ xano release pull ./backup -r v1.0 --profile production --env --records\nPulled 58 documents from release 'v1.0' to ./backup\n"
2183
2244
  ],
2184
2245
  "flags": {
2185
2246
  "profile": {
@@ -2201,23 +2262,32 @@
2201
2262
  "allowNo": false,
2202
2263
  "type": "boolean"
2203
2264
  },
2204
- "output": {
2205
- "char": "o",
2206
- "description": "Output format",
2207
- "name": "output",
2265
+ "env": {
2266
+ "description": "Include environment variables",
2267
+ "name": "env",
2208
2268
  "required": false,
2209
- "default": "summary",
2269
+ "allowNo": false,
2270
+ "type": "boolean"
2271
+ },
2272
+ "records": {
2273
+ "description": "Include records",
2274
+ "name": "records",
2275
+ "required": false,
2276
+ "allowNo": false,
2277
+ "type": "boolean"
2278
+ },
2279
+ "release": {
2280
+ "char": "r",
2281
+ "description": "Release name to pull from",
2282
+ "name": "release",
2283
+ "required": true,
2210
2284
  "hasDynamicHelp": false,
2211
2285
  "multiple": false,
2212
- "options": [
2213
- "summary",
2214
- "json"
2215
- ],
2216
2286
  "type": "option"
2217
2287
  },
2218
2288
  "workspace": {
2219
2289
  "char": "w",
2220
- "description": "Workspace ID (uses profile workspace if not provided)",
2290
+ "description": "Workspace ID (optional if set in profile)",
2221
2291
  "name": "workspace",
2222
2292
  "required": false,
2223
2293
  "hasDynamicHelp": false,
@@ -2227,7 +2297,7 @@
2227
2297
  },
2228
2298
  "hasDynamicHelp": false,
2229
2299
  "hiddenAliases": [],
2230
- "id": "release:get",
2300
+ "id": "release:pull",
2231
2301
  "pluginAlias": "@xano/cli",
2232
2302
  "pluginName": "@xano/cli",
2233
2303
  "pluginType": "core",
@@ -2238,7 +2308,7 @@
2238
2308
  "dist",
2239
2309
  "commands",
2240
2310
  "release",
2241
- "get",
2311
+ "pull",
2242
2312
  "index.js"
2243
2313
  ]
2244
2314
  },
@@ -2360,75 +2430,6 @@
2360
2430
  "index.js"
2361
2431
  ]
2362
2432
  },
2363
- "release:list": {
2364
- "aliases": [],
2365
- "args": {},
2366
- "description": "List all releases in a workspace",
2367
- "examples": [
2368
- "$ xano release list\nReleases in workspace 5:\n - v1.0 (ID: 10) - main\n - v1.1-hotfix (ID: 11) - main [hotfix]\n",
2369
- "$ xano release list -w 5 --output json"
2370
- ],
2371
- "flags": {
2372
- "profile": {
2373
- "char": "p",
2374
- "description": "Profile to use (uses default profile if not specified)",
2375
- "env": "XANO_PROFILE",
2376
- "name": "profile",
2377
- "required": false,
2378
- "hasDynamicHelp": false,
2379
- "multiple": false,
2380
- "type": "option"
2381
- },
2382
- "verbose": {
2383
- "char": "v",
2384
- "description": "Show detailed request/response information",
2385
- "env": "XANO_VERBOSE",
2386
- "name": "verbose",
2387
- "required": false,
2388
- "allowNo": false,
2389
- "type": "boolean"
2390
- },
2391
- "output": {
2392
- "char": "o",
2393
- "description": "Output format",
2394
- "name": "output",
2395
- "required": false,
2396
- "default": "summary",
2397
- "hasDynamicHelp": false,
2398
- "multiple": false,
2399
- "options": [
2400
- "summary",
2401
- "json"
2402
- ],
2403
- "type": "option"
2404
- },
2405
- "workspace": {
2406
- "char": "w",
2407
- "description": "Workspace ID (uses profile workspace if not provided)",
2408
- "name": "workspace",
2409
- "required": false,
2410
- "hasDynamicHelp": false,
2411
- "multiple": false,
2412
- "type": "option"
2413
- }
2414
- },
2415
- "hasDynamicHelp": false,
2416
- "hiddenAliases": [],
2417
- "id": "release:list",
2418
- "pluginAlias": "@xano/cli",
2419
- "pluginName": "@xano/cli",
2420
- "pluginType": "core",
2421
- "strict": true,
2422
- "enableJsonFlag": false,
2423
- "isESM": true,
2424
- "relativePath": [
2425
- "dist",
2426
- "commands",
2427
- "release",
2428
- "list",
2429
- "index.js"
2430
- ]
2431
- },
2432
2433
  "static_host:list": {
2433
2434
  "aliases": [],
2434
2435
  "args": {},
@@ -2742,20 +2743,20 @@
2742
2743
  "index.js"
2743
2744
  ]
2744
2745
  },
2745
- "release:pull": {
2746
+ "tenant:deploy_platform": {
2746
2747
  "aliases": [],
2747
2748
  "args": {
2748
- "directory": {
2749
- "description": "Output directory for pulled documents",
2750
- "name": "directory",
2749
+ "tenant_name": {
2750
+ "description": "Tenant name to deploy to",
2751
+ "name": "tenant_name",
2751
2752
  "required": true
2752
2753
  }
2753
2754
  },
2754
- "description": "Pull a release multidoc from the Xano Metadata API and split into individual files",
2755
+ "description": "Deploy a platform version to a tenant",
2755
2756
  "examples": [
2756
- "$ xano release pull ./my-release -r v1.0\nPulled 42 documents from release 'v1.0' to ./my-release\n",
2757
- "$ xano release pull ./output -r v1.0 -w 40\nPulled 15 documents from release 'v1.0' to ./output\n",
2758
- "$ xano release pull ./backup -r v1.0 --profile production --env --records\nPulled 58 documents from release 'v1.0' to ./backup\n"
2757
+ "$ xano tenant deploy_platform t1234-abcd-xyz1 --platform_id 5\nDeployed platform 5 to tenant: My Tenant (my-tenant)\n",
2758
+ "$ xano tenant deploy_platform t1234-abcd-xyz1 --platform_id 5 -o json",
2759
+ "$ xano tenant deploy_platform t1234-abcd-xyz1 --platform_id 5 --license ./license.yaml"
2759
2760
  ],
2760
2761
  "flags": {
2761
2762
  "profile": {
@@ -2777,24 +2778,32 @@
2777
2778
  "allowNo": false,
2778
2779
  "type": "boolean"
2779
2780
  },
2780
- "env": {
2781
- "description": "Include environment variables",
2782
- "name": "env",
2781
+ "license": {
2782
+ "char": "l",
2783
+ "description": "Path to a license override file to apply after deploy",
2784
+ "name": "license",
2783
2785
  "required": false,
2784
- "allowNo": false,
2785
- "type": "boolean"
2786
+ "hasDynamicHelp": false,
2787
+ "multiple": false,
2788
+ "type": "option"
2786
2789
  },
2787
- "records": {
2788
- "description": "Include records",
2789
- "name": "records",
2790
+ "output": {
2791
+ "char": "o",
2792
+ "description": "Output format",
2793
+ "name": "output",
2790
2794
  "required": false,
2791
- "allowNo": false,
2792
- "type": "boolean"
2795
+ "default": "summary",
2796
+ "hasDynamicHelp": false,
2797
+ "multiple": false,
2798
+ "options": [
2799
+ "summary",
2800
+ "json"
2801
+ ],
2802
+ "type": "option"
2793
2803
  },
2794
- "release": {
2795
- "char": "r",
2796
- "description": "Release name to pull from",
2797
- "name": "release",
2804
+ "platform_id": {
2805
+ "description": "Platform ID to deploy",
2806
+ "name": "platform_id",
2798
2807
  "required": true,
2799
2808
  "hasDynamicHelp": false,
2800
2809
  "multiple": false,
@@ -2802,7 +2811,7 @@
2802
2811
  },
2803
2812
  "workspace": {
2804
2813
  "char": "w",
2805
- "description": "Workspace ID (optional if set in profile)",
2814
+ "description": "Workspace ID (uses profile workspace if not provided)",
2806
2815
  "name": "workspace",
2807
2816
  "required": false,
2808
2817
  "hasDynamicHelp": false,
@@ -2812,7 +2821,7 @@
2812
2821
  },
2813
2822
  "hasDynamicHelp": false,
2814
2823
  "hiddenAliases": [],
2815
- "id": "release:pull",
2824
+ "id": "tenant:deploy_platform",
2816
2825
  "pluginAlias": "@xano/cli",
2817
2826
  "pluginName": "@xano/cli",
2818
2827
  "pluginType": "core",
@@ -2822,8 +2831,8 @@
2822
2831
  "relativePath": [
2823
2832
  "dist",
2824
2833
  "commands",
2825
- "release",
2826
- "pull",
2834
+ "tenant",
2835
+ "deploy_platform",
2827
2836
  "index.js"
2828
2837
  ]
2829
2838
  },
@@ -3010,8 +3019,83 @@
3010
3019
  "description": "Enable/disable background tasks",
3011
3020
  "name": "tasks",
3012
3021
  "required": false,
3013
- "allowNo": true,
3014
- "type": "boolean"
3022
+ "allowNo": true,
3023
+ "type": "boolean"
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:edit",
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
+ "edit",
3049
+ "index.js"
3050
+ ]
3051
+ },
3052
+ "tenant:get": {
3053
+ "aliases": [],
3054
+ "args": {
3055
+ "tenant_name": {
3056
+ "description": "Tenant name to retrieve",
3057
+ "name": "tenant_name",
3058
+ "required": true
3059
+ }
3060
+ },
3061
+ "description": "Get details of a specific tenant",
3062
+ "examples": [
3063
+ "$ 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",
3064
+ "$ xano tenant get t1234-abcd-xyz1 -w 5 -o json"
3065
+ ],
3066
+ "flags": {
3067
+ "profile": {
3068
+ "char": "p",
3069
+ "description": "Profile to use (uses default profile if not specified)",
3070
+ "env": "XANO_PROFILE",
3071
+ "name": "profile",
3072
+ "required": false,
3073
+ "hasDynamicHelp": false,
3074
+ "multiple": false,
3075
+ "type": "option"
3076
+ },
3077
+ "verbose": {
3078
+ "char": "v",
3079
+ "description": "Show detailed request/response information",
3080
+ "env": "XANO_VERBOSE",
3081
+ "name": "verbose",
3082
+ "required": false,
3083
+ "allowNo": false,
3084
+ "type": "boolean"
3085
+ },
3086
+ "output": {
3087
+ "char": "o",
3088
+ "description": "Output format",
3089
+ "name": "output",
3090
+ "required": false,
3091
+ "default": "summary",
3092
+ "hasDynamicHelp": false,
3093
+ "multiple": false,
3094
+ "options": [
3095
+ "summary",
3096
+ "json"
3097
+ ],
3098
+ "type": "option"
3015
3099
  },
3016
3100
  "workspace": {
3017
3101
  "char": "w",
@@ -3025,7 +3109,7 @@
3025
3109
  },
3026
3110
  "hasDynamicHelp": false,
3027
3111
  "hiddenAliases": [],
3028
- "id": "tenant:edit",
3112
+ "id": "tenant:get",
3029
3113
  "pluginAlias": "@xano/cli",
3030
3114
  "pluginName": "@xano/cli",
3031
3115
  "pluginType": "core",
@@ -3036,24 +3120,23 @@
3036
3120
  "dist",
3037
3121
  "commands",
3038
3122
  "tenant",
3039
- "edit",
3123
+ "get",
3040
3124
  "index.js"
3041
3125
  ]
3042
3126
  },
3043
- "tenant:deploy_platform": {
3127
+ "tenant:impersonate": {
3044
3128
  "aliases": [],
3045
3129
  "args": {
3046
3130
  "tenant_name": {
3047
- "description": "Tenant name to deploy to",
3131
+ "description": "Tenant name to impersonate",
3048
3132
  "name": "tenant_name",
3049
3133
  "required": true
3050
3134
  }
3051
3135
  },
3052
- "description": "Deploy a platform version to a tenant",
3136
+ "description": "Impersonate a tenant and open it in the browser",
3053
3137
  "examples": [
3054
- "$ xano tenant deploy_platform t1234-abcd-xyz1 --platform_id 5\nDeployed platform 5 to tenant: My Tenant (my-tenant)\n",
3055
- "$ xano tenant deploy_platform t1234-abcd-xyz1 --platform_id 5 -o json",
3056
- "$ xano tenant deploy_platform t1234-abcd-xyz1 --platform_id 5 --license ./license.yaml"
3138
+ "$ xano tenant impersonate my-tenant\nOpening browser...\nImpersonation successful!\n",
3139
+ "$ xano tenant impersonate my-tenant -o json"
3057
3140
  ],
3058
3141
  "flags": {
3059
3142
  "profile": {
@@ -3075,15 +3158,6 @@
3075
3158
  "allowNo": false,
3076
3159
  "type": "boolean"
3077
3160
  },
3078
- "license": {
3079
- "char": "l",
3080
- "description": "Path to a license override file to apply after deploy",
3081
- "name": "license",
3082
- "required": false,
3083
- "hasDynamicHelp": false,
3084
- "multiple": false,
3085
- "type": "option"
3086
- },
3087
3161
  "output": {
3088
3162
  "char": "o",
3089
3163
  "description": "Output format",
@@ -3098,13 +3172,13 @@
3098
3172
  ],
3099
3173
  "type": "option"
3100
3174
  },
3101
- "platform_id": {
3102
- "description": "Platform ID to deploy",
3103
- "name": "platform_id",
3104
- "required": true,
3105
- "hasDynamicHelp": false,
3106
- "multiple": false,
3107
- "type": "option"
3175
+ "url-only": {
3176
+ "char": "u",
3177
+ "description": "Print the URL without opening the browser",
3178
+ "name": "url-only",
3179
+ "required": false,
3180
+ "allowNo": false,
3181
+ "type": "boolean"
3108
3182
  },
3109
3183
  "workspace": {
3110
3184
  "char": "w",
@@ -3118,7 +3192,7 @@
3118
3192
  },
3119
3193
  "hasDynamicHelp": false,
3120
3194
  "hiddenAliases": [],
3121
- "id": "tenant:deploy_platform",
3195
+ "id": "tenant:impersonate",
3122
3196
  "pluginAlias": "@xano/cli",
3123
3197
  "pluginName": "@xano/cli",
3124
3198
  "pluginType": "core",
@@ -3129,7 +3203,7 @@
3129
3203
  "dist",
3130
3204
  "commands",
3131
3205
  "tenant",
3132
- "deploy_platform",
3206
+ "impersonate",
3133
3207
  "index.js"
3134
3208
  ]
3135
3209
  },
@@ -3295,19 +3369,23 @@
3295
3369
  "index.js"
3296
3370
  ]
3297
3371
  },
3298
- "tenant:impersonate": {
3372
+ "tenant:push": {
3299
3373
  "aliases": [],
3300
3374
  "args": {
3301
- "tenant_name": {
3302
- "description": "Tenant name to impersonate",
3303
- "name": "tenant_name",
3375
+ "directory": {
3376
+ "description": "Directory containing documents to push (as produced by tenant pull or workspace pull)",
3377
+ "name": "directory",
3304
3378
  "required": true
3305
3379
  }
3306
3380
  },
3307
- "description": "Impersonate a tenant and open it in the browser",
3381
+ "description": "Push local documents to a tenant via the Xano Metadata API multidoc endpoint",
3308
3382
  "examples": [
3309
- "$ xano tenant impersonate my-tenant\nOpening browser...\nImpersonation successful!\n",
3310
- "$ xano tenant impersonate my-tenant -o json"
3383
+ "$ xano tenant push ./my-workspace -t my-tenant\nPushed 42 documents to tenant my-tenant from ./my-workspace\n",
3384
+ "$ xano tenant push ./output -t my-tenant -w 40\nPushed 15 documents to tenant my-tenant from ./output\n",
3385
+ "$ xano tenant push ./backup -t my-tenant --profile production\nPushed 58 documents to tenant my-tenant from ./backup\n",
3386
+ "$ xano tenant push ./my-workspace -t my-tenant --records\nInclude table records in import\n",
3387
+ "$ xano tenant push ./my-workspace -t my-tenant --env\nInclude environment variables in import\n",
3388
+ "$ xano tenant push ./my-workspace -t my-tenant --truncate\nTruncate all table records before importing\n"
3311
3389
  ],
3312
3390
  "flags": {
3313
3391
  "profile": {
@@ -3329,106 +3407,46 @@
3329
3407
  "allowNo": false,
3330
3408
  "type": "boolean"
3331
3409
  },
3332
- "output": {
3333
- "char": "o",
3334
- "description": "Output format",
3335
- "name": "output",
3410
+ "env": {
3411
+ "description": "Include environment variables in import",
3412
+ "name": "env",
3336
3413
  "required": false,
3337
- "default": "summary",
3338
- "hasDynamicHelp": false,
3339
- "multiple": false,
3340
- "options": [
3341
- "summary",
3342
- "json"
3343
- ],
3344
- "type": "option"
3414
+ "allowNo": false,
3415
+ "type": "boolean"
3345
3416
  },
3346
- "url-only": {
3347
- "char": "u",
3348
- "description": "Print the URL without opening the browser",
3349
- "name": "url-only",
3417
+ "records": {
3418
+ "description": "Include records in import",
3419
+ "name": "records",
3350
3420
  "required": false,
3351
3421
  "allowNo": false,
3352
3422
  "type": "boolean"
3353
3423
  },
3354
- "workspace": {
3355
- "char": "w",
3356
- "description": "Workspace ID (uses profile workspace if not provided)",
3357
- "name": "workspace",
3358
- "required": false,
3359
- "hasDynamicHelp": false,
3360
- "multiple": false,
3361
- "type": "option"
3362
- }
3363
- },
3364
- "hasDynamicHelp": false,
3365
- "hiddenAliases": [],
3366
- "id": "tenant:impersonate",
3367
- "pluginAlias": "@xano/cli",
3368
- "pluginName": "@xano/cli",
3369
- "pluginType": "core",
3370
- "strict": true,
3371
- "enableJsonFlag": false,
3372
- "isESM": true,
3373
- "relativePath": [
3374
- "dist",
3375
- "commands",
3376
- "tenant",
3377
- "impersonate",
3378
- "index.js"
3379
- ]
3380
- },
3381
- "tenant:get": {
3382
- "aliases": [],
3383
- "args": {
3384
- "tenant_name": {
3385
- "description": "Tenant name to retrieve",
3386
- "name": "tenant_name",
3387
- "required": true
3388
- }
3389
- },
3390
- "description": "Get details of a specific tenant",
3391
- "examples": [
3392
- "$ 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",
3393
- "$ xano tenant get t1234-abcd-xyz1 -w 5 -o json"
3394
- ],
3395
- "flags": {
3396
- "profile": {
3397
- "char": "p",
3398
- "description": "Profile to use (uses default profile if not specified)",
3399
- "env": "XANO_PROFILE",
3400
- "name": "profile",
3401
- "required": false,
3424
+ "tenant": {
3425
+ "char": "t",
3426
+ "description": "Tenant name to push to",
3427
+ "name": "tenant",
3428
+ "required": true,
3402
3429
  "hasDynamicHelp": false,
3403
3430
  "multiple": false,
3404
3431
  "type": "option"
3405
3432
  },
3406
- "verbose": {
3407
- "char": "v",
3408
- "description": "Show detailed request/response information",
3409
- "env": "XANO_VERBOSE",
3410
- "name": "verbose",
3433
+ "transaction": {
3434
+ "description": "Wrap import in a database transaction (use --no-transaction for debugging purposes)",
3435
+ "name": "transaction",
3411
3436
  "required": false,
3412
- "allowNo": false,
3437
+ "allowNo": true,
3413
3438
  "type": "boolean"
3414
3439
  },
3415
- "output": {
3416
- "char": "o",
3417
- "description": "Output format",
3418
- "name": "output",
3440
+ "truncate": {
3441
+ "description": "Truncate all table records before importing",
3442
+ "name": "truncate",
3419
3443
  "required": false,
3420
- "default": "summary",
3421
- "hasDynamicHelp": false,
3422
- "multiple": false,
3423
- "options": [
3424
- "summary",
3425
- "json"
3426
- ],
3427
- "type": "option"
3444
+ "allowNo": false,
3445
+ "type": "boolean"
3428
3446
  },
3429
3447
  "workspace": {
3430
3448
  "char": "w",
3431
- "description": "Workspace ID (uses profile workspace if not provided)",
3449
+ "description": "Workspace ID (optional if set in profile)",
3432
3450
  "name": "workspace",
3433
3451
  "required": false,
3434
3452
  "hasDynamicHelp": false,
@@ -3438,7 +3456,7 @@
3438
3456
  },
3439
3457
  "hasDynamicHelp": false,
3440
3458
  "hiddenAliases": [],
3441
- "id": "tenant:get",
3459
+ "id": "tenant:push",
3442
3460
  "pluginAlias": "@xano/cli",
3443
3461
  "pluginName": "@xano/cli",
3444
3462
  "pluginType": "core",
@@ -3449,7 +3467,7 @@
3449
3467
  "dist",
3450
3468
  "commands",
3451
3469
  "tenant",
3452
- "get",
3470
+ "push",
3453
3471
  "index.js"
3454
3472
  ]
3455
3473
  },
@@ -3545,98 +3563,19 @@
3545
3563
  "index.js"
3546
3564
  ]
3547
3565
  },
3548
- "unit_test:run": {
3549
- "aliases": [],
3550
- "args": {
3551
- "unit_test_id": {
3552
- "description": "ID of the unit test to run",
3553
- "name": "unit_test_id",
3554
- "required": true
3555
- }
3556
- },
3557
- "description": "Run a unit test",
3558
- "examples": [
3559
- "$ xano unit-test run abc-123\nRunning unit test abc-123...\nResult: PASS\n",
3560
- "$ xano unit-test run abc-123 -o json"
3561
- ],
3562
- "flags": {
3563
- "profile": {
3564
- "char": "p",
3565
- "description": "Profile to use (uses default profile if not specified)",
3566
- "env": "XANO_PROFILE",
3567
- "name": "profile",
3568
- "required": false,
3569
- "hasDynamicHelp": false,
3570
- "multiple": false,
3571
- "type": "option"
3572
- },
3573
- "verbose": {
3574
- "char": "v",
3575
- "description": "Show detailed request/response information",
3576
- "env": "XANO_VERBOSE",
3577
- "name": "verbose",
3578
- "required": false,
3579
- "allowNo": false,
3580
- "type": "boolean"
3581
- },
3582
- "output": {
3583
- "char": "o",
3584
- "description": "Output format",
3585
- "name": "output",
3586
- "required": false,
3587
- "default": "summary",
3588
- "hasDynamicHelp": false,
3589
- "multiple": false,
3590
- "options": [
3591
- "summary",
3592
- "json"
3593
- ],
3594
- "type": "option"
3595
- },
3596
- "workspace": {
3597
- "char": "w",
3598
- "description": "Workspace ID (uses profile workspace if not provided)",
3599
- "name": "workspace",
3600
- "required": false,
3601
- "hasDynamicHelp": false,
3602
- "multiple": false,
3603
- "type": "option"
3604
- }
3605
- },
3606
- "hasDynamicHelp": false,
3607
- "hiddenAliases": [],
3608
- "id": "unit_test:run",
3609
- "pluginAlias": "@xano/cli",
3610
- "pluginName": "@xano/cli",
3611
- "pluginType": "core",
3612
- "strict": true,
3613
- "enableJsonFlag": false,
3614
- "isESM": true,
3615
- "relativePath": [
3616
- "dist",
3617
- "commands",
3618
- "unit_test",
3619
- "run",
3620
- "index.js"
3621
- ]
3622
- },
3623
- "tenant:push": {
3566
+ "unit_test:run": {
3624
3567
  "aliases": [],
3625
3568
  "args": {
3626
- "directory": {
3627
- "description": "Directory containing documents to push (as produced by tenant pull or workspace pull)",
3628
- "name": "directory",
3569
+ "unit_test_id": {
3570
+ "description": "ID of the unit test to run",
3571
+ "name": "unit_test_id",
3629
3572
  "required": true
3630
3573
  }
3631
3574
  },
3632
- "description": "Push local documents to a tenant via the Xano Metadata API multidoc endpoint",
3575
+ "description": "Run a unit test",
3633
3576
  "examples": [
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"
3577
+ "$ xano unit-test run abc-123\nRunning unit test abc-123...\nResult: PASS\n",
3578
+ "$ xano unit-test run abc-123 -o json"
3640
3579
  ],
3641
3580
  "flags": {
3642
3581
  "profile": {
@@ -3658,46 +3597,23 @@
3658
3597
  "allowNo": false,
3659
3598
  "type": "boolean"
3660
3599
  },
3661
- "env": {
3662
- "description": "Include environment variables in import",
3663
- "name": "env",
3664
- "required": false,
3665
- "allowNo": false,
3666
- "type": "boolean"
3667
- },
3668
- "records": {
3669
- "description": "Include records in import",
3670
- "name": "records",
3600
+ "output": {
3601
+ "char": "o",
3602
+ "description": "Output format",
3603
+ "name": "output",
3671
3604
  "required": false,
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,
3605
+ "default": "summary",
3680
3606
  "hasDynamicHelp": false,
3681
3607
  "multiple": false,
3608
+ "options": [
3609
+ "summary",
3610
+ "json"
3611
+ ],
3682
3612
  "type": "option"
3683
3613
  },
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
- },
3698
3614
  "workspace": {
3699
3615
  "char": "w",
3700
- "description": "Workspace ID (optional if set in profile)",
3616
+ "description": "Workspace ID (uses profile workspace if not provided)",
3701
3617
  "name": "workspace",
3702
3618
  "required": false,
3703
3619
  "hasDynamicHelp": false,
@@ -3707,7 +3623,7 @@
3707
3623
  },
3708
3624
  "hasDynamicHelp": false,
3709
3625
  "hiddenAliases": [],
3710
- "id": "tenant:push",
3626
+ "id": "unit_test:run",
3711
3627
  "pluginAlias": "@xano/cli",
3712
3628
  "pluginName": "@xano/cli",
3713
3629
  "pluginType": "core",
@@ -3717,8 +3633,8 @@
3717
3633
  "relativePath": [
3718
3634
  "dist",
3719
3635
  "commands",
3720
- "tenant",
3721
- "push",
3636
+ "unit_test",
3637
+ "run",
3722
3638
  "index.js"
3723
3639
  ]
3724
3640
  },
@@ -3813,20 +3729,19 @@
3813
3729
  "index.js"
3814
3730
  ]
3815
3731
  },
3816
- "workflow_test:get": {
3732
+ "workflow_test:delete": {
3817
3733
  "aliases": [],
3818
3734
  "args": {
3819
3735
  "workflow_test_id": {
3820
- "description": "ID of the workflow test",
3736
+ "description": "ID of the workflow test to delete",
3821
3737
  "name": "workflow_test_id",
3822
3738
  "required": true
3823
3739
  }
3824
3740
  },
3825
- "description": "Get a specific workflow test",
3741
+ "description": "Delete a workflow test",
3826
3742
  "examples": [
3827
- "$ xano workflow-test get 1\nWorkflow Test: my-test (ID: 1)\n Description: Validates auth endpoints\n Branch: main\n",
3828
- "$ xano workflow-test get 1 -o xs",
3829
- "$ xano workflow-test get 1 -o json"
3743
+ "$ xano workflow-test delete 1\nAre you sure you want to delete workflow test 1? (y/N) y\nDeleted workflow test 1\n",
3744
+ "$ xano workflow-test delete 1 --force"
3830
3745
  ],
3831
3746
  "flags": {
3832
3747
  "profile": {
@@ -3848,9 +3763,10 @@
3848
3763
  "allowNo": false,
3849
3764
  "type": "boolean"
3850
3765
  },
3851
- "include-draft": {
3852
- "description": "Include draft version",
3853
- "name": "include-draft",
3766
+ "force": {
3767
+ "char": "f",
3768
+ "description": "Skip confirmation prompt",
3769
+ "name": "force",
3854
3770
  "required": false,
3855
3771
  "allowNo": false,
3856
3772
  "type": "boolean"
@@ -3865,8 +3781,7 @@
3865
3781
  "multiple": false,
3866
3782
  "options": [
3867
3783
  "summary",
3868
- "json",
3869
- "xs"
3784
+ "json"
3870
3785
  ],
3871
3786
  "type": "option"
3872
3787
  },
@@ -3882,7 +3797,7 @@
3882
3797
  },
3883
3798
  "hasDynamicHelp": false,
3884
3799
  "hiddenAliases": [],
3885
- "id": "workflow_test:get",
3800
+ "id": "workflow_test:delete",
3886
3801
  "pluginAlias": "@xano/cli",
3887
3802
  "pluginName": "@xano/cli",
3888
3803
  "pluginType": "core",
@@ -3893,23 +3808,24 @@
3893
3808
  "dist",
3894
3809
  "commands",
3895
3810
  "workflow_test",
3896
- "get",
3811
+ "delete",
3897
3812
  "index.js"
3898
3813
  ]
3899
3814
  },
3900
- "workflow_test:delete": {
3815
+ "workflow_test:get": {
3901
3816
  "aliases": [],
3902
3817
  "args": {
3903
3818
  "workflow_test_id": {
3904
- "description": "ID of the workflow test to delete",
3819
+ "description": "ID of the workflow test",
3905
3820
  "name": "workflow_test_id",
3906
3821
  "required": true
3907
3822
  }
3908
3823
  },
3909
- "description": "Delete a workflow test",
3824
+ "description": "Get a specific workflow test",
3910
3825
  "examples": [
3911
- "$ xano workflow-test delete 1\nAre you sure you want to delete workflow test 1? (y/N) y\nDeleted workflow test 1\n",
3912
- "$ xano workflow-test delete 1 --force"
3826
+ "$ xano workflow-test get 1\nWorkflow Test: my-test (ID: 1)\n Description: Validates auth endpoints\n Branch: main\n",
3827
+ "$ xano workflow-test get 1 -o xs",
3828
+ "$ xano workflow-test get 1 -o json"
3913
3829
  ],
3914
3830
  "flags": {
3915
3831
  "profile": {
@@ -3931,10 +3847,9 @@
3931
3847
  "allowNo": false,
3932
3848
  "type": "boolean"
3933
3849
  },
3934
- "force": {
3935
- "char": "f",
3936
- "description": "Skip confirmation prompt",
3937
- "name": "force",
3850
+ "include-draft": {
3851
+ "description": "Include draft version",
3852
+ "name": "include-draft",
3938
3853
  "required": false,
3939
3854
  "allowNo": false,
3940
3855
  "type": "boolean"
@@ -3949,7 +3864,8 @@
3949
3864
  "multiple": false,
3950
3865
  "options": [
3951
3866
  "summary",
3952
- "json"
3867
+ "json",
3868
+ "xs"
3953
3869
  ],
3954
3870
  "type": "option"
3955
3871
  },
@@ -3965,7 +3881,7 @@
3965
3881
  },
3966
3882
  "hasDynamicHelp": false,
3967
3883
  "hiddenAliases": [],
3968
- "id": "workflow_test:delete",
3884
+ "id": "workflow_test:get",
3969
3885
  "pluginAlias": "@xano/cli",
3970
3886
  "pluginName": "@xano/cli",
3971
3887
  "pluginType": "core",
@@ -3976,7 +3892,7 @@
3976
3892
  "dist",
3977
3893
  "commands",
3978
3894
  "workflow_test",
3979
- "delete",
3895
+ "get",
3980
3896
  "index.js"
3981
3897
  ]
3982
3898
  },
@@ -4059,6 +3975,81 @@
4059
3975
  "index.js"
4060
3976
  ]
4061
3977
  },
3978
+ "workflow_test:run": {
3979
+ "aliases": [],
3980
+ "args": {
3981
+ "workflow_test_id": {
3982
+ "description": "ID of the workflow test to run",
3983
+ "name": "workflow_test_id",
3984
+ "required": true
3985
+ }
3986
+ },
3987
+ "description": "Run a workflow test",
3988
+ "examples": [
3989
+ "$ xano workflow-test run 1\nRunning workflow test 1...\nResult: PASS (1.234s)\n",
3990
+ "$ xano workflow-test run 1 -o json"
3991
+ ],
3992
+ "flags": {
3993
+ "profile": {
3994
+ "char": "p",
3995
+ "description": "Profile to use (uses default profile if not specified)",
3996
+ "env": "XANO_PROFILE",
3997
+ "name": "profile",
3998
+ "required": false,
3999
+ "hasDynamicHelp": false,
4000
+ "multiple": false,
4001
+ "type": "option"
4002
+ },
4003
+ "verbose": {
4004
+ "char": "v",
4005
+ "description": "Show detailed request/response information",
4006
+ "env": "XANO_VERBOSE",
4007
+ "name": "verbose",
4008
+ "required": false,
4009
+ "allowNo": false,
4010
+ "type": "boolean"
4011
+ },
4012
+ "output": {
4013
+ "char": "o",
4014
+ "description": "Output format",
4015
+ "name": "output",
4016
+ "required": false,
4017
+ "default": "summary",
4018
+ "hasDynamicHelp": false,
4019
+ "multiple": false,
4020
+ "options": [
4021
+ "summary",
4022
+ "json"
4023
+ ],
4024
+ "type": "option"
4025
+ },
4026
+ "workspace": {
4027
+ "char": "w",
4028
+ "description": "Workspace ID (uses profile workspace if not provided)",
4029
+ "name": "workspace",
4030
+ "required": false,
4031
+ "hasDynamicHelp": false,
4032
+ "multiple": false,
4033
+ "type": "option"
4034
+ }
4035
+ },
4036
+ "hasDynamicHelp": false,
4037
+ "hiddenAliases": [],
4038
+ "id": "workflow_test:run",
4039
+ "pluginAlias": "@xano/cli",
4040
+ "pluginName": "@xano/cli",
4041
+ "pluginType": "core",
4042
+ "strict": true,
4043
+ "enableJsonFlag": false,
4044
+ "isESM": true,
4045
+ "relativePath": [
4046
+ "dist",
4047
+ "commands",
4048
+ "workflow_test",
4049
+ "run",
4050
+ "index.js"
4051
+ ]
4052
+ },
4062
4053
  "workflow_test:run_all": {
4063
4054
  "aliases": [],
4064
4055
  "args": {},
@@ -4213,19 +4204,20 @@
4213
4204
  "index.js"
4214
4205
  ]
4215
4206
  },
4216
- "workflow_test:run": {
4207
+ "workspace:delete": {
4217
4208
  "aliases": [],
4218
4209
  "args": {
4219
- "workflow_test_id": {
4220
- "description": "ID of the workflow test to run",
4221
- "name": "workflow_test_id",
4210
+ "workspace_id": {
4211
+ "description": "Workspace ID to delete",
4212
+ "name": "workspace_id",
4222
4213
  "required": true
4223
4214
  }
4224
4215
  },
4225
- "description": "Run a workflow test",
4216
+ "description": "Delete a workspace via the Xano Metadata API. Cannot delete workspaces with active tenants.",
4226
4217
  "examples": [
4227
- "$ xano workflow-test run 1\nRunning workflow test 1...\nResult: PASS (1.234s)\n",
4228
- "$ xano workflow-test run 1 -o json"
4218
+ "$ xano workspace delete 123\nAre you sure you want to delete workspace 123? This action cannot be undone. (y/N) y\nDeleted workspace 123\n",
4219
+ "$ xano workspace delete 123 --force\nDeleted workspace 123\n",
4220
+ "$ xano workspace delete 123 -f -o json\n{\n \"deleted\": true,\n \"workspace_id\": 123\n}\n"
4229
4221
  ],
4230
4222
  "flags": {
4231
4223
  "profile": {
@@ -4247,6 +4239,14 @@
4247
4239
  "allowNo": false,
4248
4240
  "type": "boolean"
4249
4241
  },
4242
+ "force": {
4243
+ "char": "f",
4244
+ "description": "Skip confirmation prompt",
4245
+ "name": "force",
4246
+ "required": false,
4247
+ "allowNo": false,
4248
+ "type": "boolean"
4249
+ },
4250
4250
  "output": {
4251
4251
  "char": "o",
4252
4252
  "description": "Output format",
@@ -4260,20 +4260,11 @@
4260
4260
  "json"
4261
4261
  ],
4262
4262
  "type": "option"
4263
- },
4264
- "workspace": {
4265
- "char": "w",
4266
- "description": "Workspace ID (uses profile workspace if not provided)",
4267
- "name": "workspace",
4268
- "required": false,
4269
- "hasDynamicHelp": false,
4270
- "multiple": false,
4271
- "type": "option"
4272
4263
  }
4273
4264
  },
4274
4265
  "hasDynamicHelp": false,
4275
4266
  "hiddenAliases": [],
4276
- "id": "workflow_test:run",
4267
+ "id": "workspace:delete",
4277
4268
  "pluginAlias": "@xano/cli",
4278
4269
  "pluginName": "@xano/cli",
4279
4270
  "pluginType": "core",
@@ -4283,25 +4274,26 @@
4283
4274
  "relativePath": [
4284
4275
  "dist",
4285
4276
  "commands",
4286
- "workflow_test",
4287
- "run",
4277
+ "workspace",
4278
+ "delete",
4288
4279
  "index.js"
4289
4280
  ]
4290
4281
  },
4291
- "workspace:delete": {
4282
+ "workspace:edit": {
4292
4283
  "aliases": [],
4293
4284
  "args": {
4294
4285
  "workspace_id": {
4295
- "description": "Workspace ID to delete",
4286
+ "description": "Workspace ID to edit (uses profile workspace if not provided)",
4296
4287
  "name": "workspace_id",
4297
- "required": true
4288
+ "required": false
4298
4289
  }
4299
4290
  },
4300
- "description": "Delete a workspace via the Xano Metadata API. Cannot delete workspaces with active tenants.",
4291
+ "description": "Edit an existing workspace via the Xano Metadata API",
4301
4292
  "examples": [
4302
- "$ xano workspace delete 123\nAre you sure you want to delete workspace 123? This action cannot be undone. (y/N) y\nDeleted workspace 123\n",
4303
- "$ xano workspace delete 123 --force\nDeleted workspace 123\n",
4304
- "$ xano workspace delete 123 -f -o json\n{\n \"deleted\": true,\n \"workspace_id\": 123\n}\n"
4293
+ "$ xano workspace edit 123 --name \"new-name\"\nUpdated workspace: new-name (ID: 123)\n",
4294
+ "$ xano workspace edit --name \"updated-workspace\" --description \"Updated description\"\nUpdated workspace: updated-workspace (ID: 123)\n Description: Updated description\n",
4295
+ "$ xano workspace edit 123 --swagger --require-token\nUpdated workspace: my-workspace (ID: 123)\n Swagger: enabled\n Require Token: true\n",
4296
+ "$ xano workspace edit 123 --no-swagger -o json\n{\n \"id\": 123,\n \"name\": \"my-workspace\",\n \"swagger\": false\n}\n"
4305
4297
  ],
4306
4298
  "flags": {
4307
4299
  "profile": {
@@ -4323,13 +4315,23 @@
4323
4315
  "allowNo": false,
4324
4316
  "type": "boolean"
4325
4317
  },
4326
- "force": {
4327
- "char": "f",
4328
- "description": "Skip confirmation prompt",
4329
- "name": "force",
4318
+ "description": {
4319
+ "char": "d",
4320
+ "description": "New description for the workspace",
4321
+ "name": "description",
4322
+ "required": false,
4323
+ "hasDynamicHelp": false,
4324
+ "multiple": false,
4325
+ "type": "option"
4326
+ },
4327
+ "name": {
4328
+ "char": "n",
4329
+ "description": "New name for the workspace",
4330
+ "name": "name",
4330
4331
  "required": false,
4331
- "allowNo": false,
4332
- "type": "boolean"
4332
+ "hasDynamicHelp": false,
4333
+ "multiple": false,
4334
+ "type": "option"
4333
4335
  },
4334
4336
  "output": {
4335
4337
  "char": "o",
@@ -4344,11 +4346,25 @@
4344
4346
  "json"
4345
4347
  ],
4346
4348
  "type": "option"
4349
+ },
4350
+ "require-token": {
4351
+ "description": "Whether to require a token for documentation access",
4352
+ "name": "require-token",
4353
+ "required": false,
4354
+ "allowNo": true,
4355
+ "type": "boolean"
4356
+ },
4357
+ "swagger": {
4358
+ "description": "Enable or disable swagger documentation",
4359
+ "name": "swagger",
4360
+ "required": false,
4361
+ "allowNo": true,
4362
+ "type": "boolean"
4347
4363
  }
4348
4364
  },
4349
4365
  "hasDynamicHelp": false,
4350
4366
  "hiddenAliases": [],
4351
- "id": "workspace:delete",
4367
+ "id": "workspace:edit",
4352
4368
  "pluginAlias": "@xano/cli",
4353
4369
  "pluginName": "@xano/cli",
4354
4370
  "pluginType": "core",
@@ -4359,7 +4375,7 @@
4359
4375
  "dist",
4360
4376
  "commands",
4361
4377
  "workspace",
4362
- "delete",
4378
+ "edit",
4363
4379
  "index.js"
4364
4380
  ]
4365
4381
  },
@@ -4430,21 +4446,15 @@
4430
4446
  "index.js"
4431
4447
  ]
4432
4448
  },
4433
- "workspace:edit": {
4449
+ "workspace:list": {
4434
4450
  "aliases": [],
4435
- "args": {
4436
- "workspace_id": {
4437
- "description": "Workspace ID to edit (uses profile workspace if not provided)",
4438
- "name": "workspace_id",
4439
- "required": false
4440
- }
4441
- },
4442
- "description": "Edit an existing workspace via the Xano Metadata API",
4451
+ "args": {},
4452
+ "description": "List all workspaces from the Xano Metadata API",
4443
4453
  "examples": [
4444
- "$ xano workspace edit 123 --name \"new-name\"\nUpdated workspace: new-name (ID: 123)\n",
4445
- "$ xano workspace edit --name \"updated-workspace\" --description \"Updated description\"\nUpdated workspace: updated-workspace (ID: 123)\n Description: Updated description\n",
4446
- "$ xano workspace edit 123 --swagger --require-token\nUpdated workspace: my-workspace (ID: 123)\n Swagger: enabled\n Require Token: true\n",
4447
- "$ xano workspace edit 123 --no-swagger -o json\n{\n \"id\": 123,\n \"name\": \"my-workspace\",\n \"swagger\": false\n}\n"
4454
+ "$ xano workspace:list\nAvailable workspaces:\n - workspace-1 (ID: 1)\n - workspace-2 (ID: 2)\n - workspace-3 (ID: 3)\n",
4455
+ "$ xano workspace:list --profile production\nAvailable workspaces:\n - my-app (ID: 1)\n - staging-env (ID: 2)\n",
4456
+ "$ 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",
4457
+ "$ xano workspace:list -p staging -o json\n{\n \"workspaces\": [\n {\n \"id\": 1,\n \"name\": \"my-app\"\n }\n ]\n}\n"
4448
4458
  ],
4449
4459
  "flags": {
4450
4460
  "profile": {
@@ -4466,24 +4476,6 @@
4466
4476
  "allowNo": false,
4467
4477
  "type": "boolean"
4468
4478
  },
4469
- "description": {
4470
- "char": "d",
4471
- "description": "New description for the workspace",
4472
- "name": "description",
4473
- "required": false,
4474
- "hasDynamicHelp": false,
4475
- "multiple": false,
4476
- "type": "option"
4477
- },
4478
- "name": {
4479
- "char": "n",
4480
- "description": "New name for the workspace",
4481
- "name": "name",
4482
- "required": false,
4483
- "hasDynamicHelp": false,
4484
- "multiple": false,
4485
- "type": "option"
4486
- },
4487
4479
  "output": {
4488
4480
  "char": "o",
4489
4481
  "description": "Output format",
@@ -4497,25 +4489,11 @@
4497
4489
  "json"
4498
4490
  ],
4499
4491
  "type": "option"
4500
- },
4501
- "require-token": {
4502
- "description": "Whether to require a token for documentation access",
4503
- "name": "require-token",
4504
- "required": false,
4505
- "allowNo": true,
4506
- "type": "boolean"
4507
- },
4508
- "swagger": {
4509
- "description": "Enable or disable swagger documentation",
4510
- "name": "swagger",
4511
- "required": false,
4512
- "allowNo": true,
4513
- "type": "boolean"
4514
4492
  }
4515
4493
  },
4516
4494
  "hasDynamicHelp": false,
4517
4495
  "hiddenAliases": [],
4518
- "id": "workspace:edit",
4496
+ "id": "workspace:list",
4519
4497
  "pluginAlias": "@xano/cli",
4520
4498
  "pluginName": "@xano/cli",
4521
4499
  "pluginType": "core",
@@ -4526,7 +4504,7 @@
4526
4504
  "dist",
4527
4505
  "commands",
4528
4506
  "workspace",
4529
- "edit",
4507
+ "list",
4530
4508
  "index.js"
4531
4509
  ]
4532
4510
  },
@@ -4766,15 +4744,20 @@
4766
4744
  "index.js"
4767
4745
  ]
4768
4746
  },
4769
- "workspace:list": {
4747
+ "branch:set_live": {
4770
4748
  "aliases": [],
4771
- "args": {},
4772
- "description": "List all workspaces from the Xano Metadata API",
4749
+ "args": {
4750
+ "branch_label": {
4751
+ "description": "Branch label to set as live (use \"v1\" for default branch)",
4752
+ "name": "branch_label",
4753
+ "required": true
4754
+ }
4755
+ },
4756
+ "description": "Set a branch as the live (active) branch for API requests",
4773
4757
  "examples": [
4774
- "$ xano workspace:list\nAvailable workspaces:\n - workspace-1 (ID: 1)\n - workspace-2 (ID: 2)\n - workspace-3 (ID: 3)\n",
4775
- "$ xano workspace:list --profile production\nAvailable workspaces:\n - my-app (ID: 1)\n - staging-env (ID: 2)\n",
4776
- "$ 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",
4777
- "$ xano workspace:list -p staging -o json\n{\n \"workspaces\": [\n {\n \"id\": 1,\n \"name\": \"my-app\"\n }\n ]\n}\n"
4758
+ "$ 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",
4759
+ "$ xano branch set-live v1 --force\nBranch 'v1' is now live\n",
4760
+ "$ 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"
4778
4761
  ],
4779
4762
  "flags": {
4780
4763
  "profile": {
@@ -4796,6 +4779,14 @@
4796
4779
  "allowNo": false,
4797
4780
  "type": "boolean"
4798
4781
  },
4782
+ "force": {
4783
+ "char": "f",
4784
+ "description": "Skip confirmation prompt",
4785
+ "name": "force",
4786
+ "required": false,
4787
+ "allowNo": false,
4788
+ "type": "boolean"
4789
+ },
4799
4790
  "output": {
4800
4791
  "char": "o",
4801
4792
  "description": "Output format",
@@ -4809,11 +4800,66 @@
4809
4800
  "json"
4810
4801
  ],
4811
4802
  "type": "option"
4803
+ },
4804
+ "workspace": {
4805
+ "char": "w",
4806
+ "description": "Workspace ID (uses profile workspace if not provided)",
4807
+ "name": "workspace",
4808
+ "required": false,
4809
+ "hasDynamicHelp": false,
4810
+ "multiple": false,
4811
+ "type": "option"
4812
4812
  }
4813
4813
  },
4814
4814
  "hasDynamicHelp": false,
4815
4815
  "hiddenAliases": [],
4816
- "id": "workspace:list",
4816
+ "id": "branch:set_live",
4817
+ "pluginAlias": "@xano/cli",
4818
+ "pluginName": "@xano/cli",
4819
+ "pluginType": "core",
4820
+ "strict": true,
4821
+ "enableJsonFlag": false,
4822
+ "isESM": true,
4823
+ "relativePath": [
4824
+ "dist",
4825
+ "commands",
4826
+ "branch",
4827
+ "set_live",
4828
+ "index.js"
4829
+ ]
4830
+ },
4831
+ "profile:workspace:set": {
4832
+ "aliases": [],
4833
+ "args": {},
4834
+ "description": "Interactively select a workspace for a profile",
4835
+ "examples": [
4836
+ "$ xano profile workspace set\nFetching workspaces...\n? Select a workspace: My Workspace\nWorkspace updated to 'My Workspace' (abc123) on profile 'default'\n",
4837
+ "$ xano profile workspace set -p production\nFetching workspaces...\n? Select a workspace: Production API\nWorkspace updated to 'Production API' (xyz789) on profile 'production'\n"
4838
+ ],
4839
+ "flags": {
4840
+ "profile": {
4841
+ "char": "p",
4842
+ "description": "Profile to use (uses default profile if not specified)",
4843
+ "env": "XANO_PROFILE",
4844
+ "name": "profile",
4845
+ "required": false,
4846
+ "hasDynamicHelp": false,
4847
+ "multiple": false,
4848
+ "type": "option"
4849
+ },
4850
+ "verbose": {
4851
+ "char": "v",
4852
+ "description": "Show detailed request/response information",
4853
+ "env": "XANO_VERBOSE",
4854
+ "name": "verbose",
4855
+ "required": false,
4856
+ "allowNo": false,
4857
+ "type": "boolean"
4858
+ }
4859
+ },
4860
+ "hasDynamicHelp": false,
4861
+ "hiddenAliases": [],
4862
+ "id": "profile:workspace:set",
4817
4863
  "pluginAlias": "@xano/cli",
4818
4864
  "pluginName": "@xano/cli",
4819
4865
  "pluginType": "core",
@@ -4823,8 +4869,9 @@
4823
4869
  "relativePath": [
4824
4870
  "dist",
4825
4871
  "commands",
4872
+ "profile",
4826
4873
  "workspace",
4827
- "list",
4874
+ "set",
4828
4875
  "index.js"
4829
4876
  ]
4830
4877
  },
@@ -4932,21 +4979,26 @@
4932
4979
  "index.js"
4933
4980
  ]
4934
4981
  },
4935
- "static_host:build:list": {
4982
+ "static_host:build:get": {
4936
4983
  "aliases": [],
4937
4984
  "args": {
4985
+ "build_id": {
4986
+ "description": "Build ID",
4987
+ "name": "build_id",
4988
+ "required": true
4989
+ },
4938
4990
  "static_host": {
4939
4991
  "description": "Static Host name",
4940
4992
  "name": "static_host",
4941
4993
  "required": true
4942
4994
  }
4943
4995
  },
4944
- "description": "List all builds for a static host",
4996
+ "description": "Get details of a specific build for a static host",
4945
4997
  "examples": [
4946
- "$ xano static_host:build:list default -w 40\nAvailable builds:\n - v1.0.0 (ID: 1) - Status: completed\n - v1.0.1 (ID: 2) - Status: pending\n",
4947
- "$ xano static_host:build:list myhost --profile production\nAvailable builds:\n - production (ID: 1) - Status: completed\n - staging (ID: 2) - Status: completed\n",
4948
- "$ xano static_host:build:list default -w 40 --output json\n[\n {\n \"id\": 1,\n \"name\": \"v1.0.0\",\n \"status\": \"completed\"\n }\n]\n",
4949
- "$ xano static_host:build:list default -p staging -o json --page 2\n[\n {\n \"id\": 3,\n \"name\": \"v1.0.2\"\n }\n]\n"
4998
+ "$ xano static_host:build:get default 52\nBuild Details:\nID: 52\nName: v1.0.0\nStatus: completed\n",
4999
+ "$ xano static_host:build:get default 52 -w 40\nBuild Details:\nID: 52\nName: v1.0.0\nStatus: completed\n",
5000
+ "$ xano static_host:build:get myhost 123 --profile production\nBuild Details:\nID: 123\nName: production-build\n",
5001
+ "$ xano static_host:build:get default 52 -o json\n{\n \"id\": 52,\n \"name\": \"v1.0.0\",\n \"status\": \"completed\"\n}\n"
4950
5002
  ],
4951
5003
  "flags": {
4952
5004
  "profile": {
@@ -4982,84 +5034,19 @@
4982
5034
  ],
4983
5035
  "type": "option"
4984
5036
  },
4985
- "page": {
4986
- "description": "Page number for pagination",
4987
- "name": "page",
4988
- "required": false,
4989
- "default": 1,
4990
- "hasDynamicHelp": false,
4991
- "multiple": false,
4992
- "type": "option"
4993
- },
4994
- "per_page": {
4995
- "description": "Number of results per page",
4996
- "name": "per_page",
4997
- "required": false,
4998
- "default": 50,
4999
- "hasDynamicHelp": false,
5000
- "multiple": false,
5001
- "type": "option"
5002
- },
5003
5037
  "workspace": {
5004
5038
  "char": "w",
5005
- "description": "Workspace ID (optional if set in profile)",
5006
- "name": "workspace",
5007
- "required": false,
5008
- "hasDynamicHelp": false,
5009
- "multiple": false,
5010
- "type": "option"
5011
- }
5012
- },
5013
- "hasDynamicHelp": false,
5014
- "hiddenAliases": [],
5015
- "id": "static_host:build:list",
5016
- "pluginAlias": "@xano/cli",
5017
- "pluginName": "@xano/cli",
5018
- "pluginType": "core",
5019
- "strict": true,
5020
- "enableJsonFlag": false,
5021
- "isESM": true,
5022
- "relativePath": [
5023
- "dist",
5024
- "commands",
5025
- "static_host",
5026
- "build",
5027
- "list",
5028
- "index.js"
5029
- ]
5030
- },
5031
- "profile:workspace:set": {
5032
- "aliases": [],
5033
- "args": {},
5034
- "description": "Interactively select a workspace for a profile",
5035
- "examples": [
5036
- "$ xano profile workspace set\nFetching workspaces...\n? Select a workspace: My Workspace\nWorkspace updated to 'My Workspace' (abc123) on profile 'default'\n",
5037
- "$ xano profile workspace set -p production\nFetching workspaces...\n? Select a workspace: Production API\nWorkspace updated to 'Production API' (xyz789) on profile 'production'\n"
5038
- ],
5039
- "flags": {
5040
- "profile": {
5041
- "char": "p",
5042
- "description": "Profile to use (uses default profile if not specified)",
5043
- "env": "XANO_PROFILE",
5044
- "name": "profile",
5045
- "required": false,
5046
- "hasDynamicHelp": false,
5047
- "multiple": false,
5048
- "type": "option"
5049
- },
5050
- "verbose": {
5051
- "char": "v",
5052
- "description": "Show detailed request/response information",
5053
- "env": "XANO_VERBOSE",
5054
- "name": "verbose",
5039
+ "description": "Workspace ID (optional if set in profile)",
5040
+ "name": "workspace",
5055
5041
  "required": false,
5056
- "allowNo": false,
5057
- "type": "boolean"
5042
+ "hasDynamicHelp": false,
5043
+ "multiple": false,
5044
+ "type": "option"
5058
5045
  }
5059
5046
  },
5060
5047
  "hasDynamicHelp": false,
5061
5048
  "hiddenAliases": [],
5062
- "id": "profile:workspace:set",
5049
+ "id": "static_host:build:get",
5063
5050
  "pluginAlias": "@xano/cli",
5064
5051
  "pluginName": "@xano/cli",
5065
5052
  "pluginType": "core",
@@ -5069,19 +5056,27 @@
5069
5056
  "relativePath": [
5070
5057
  "dist",
5071
5058
  "commands",
5072
- "profile",
5073
- "workspace",
5074
- "set",
5059
+ "static_host",
5060
+ "build",
5061
+ "get",
5075
5062
  "index.js"
5076
5063
  ]
5077
5064
  },
5078
- "tenant:cluster:create": {
5065
+ "static_host:build:list": {
5079
5066
  "aliases": [],
5080
- "args": {},
5081
- "description": "Create a new tenant cluster",
5067
+ "args": {
5068
+ "static_host": {
5069
+ "description": "Static Host name",
5070
+ "name": "static_host",
5071
+ "required": true
5072
+ }
5073
+ },
5074
+ "description": "List all builds for a static host",
5082
5075
  "examples": [
5083
- "$ xano tenant cluster create --name \"us-east-1\" --credentials_file ./kubeconfig.yaml\nCreated tenant cluster: us-east-1 (standard) - ID: 3\n",
5084
- "$ xano tenant cluster create --name \"eu-west-1\" --credentials \"...\" --type run --description \"EU run cluster\" -o json"
5076
+ "$ xano static_host:build:list default -w 40\nAvailable builds:\n - v1.0.0 (ID: 1) - Status: completed\n - v1.0.1 (ID: 2) - Status: pending\n",
5077
+ "$ xano static_host:build:list myhost --profile production\nAvailable builds:\n - production (ID: 1) - Status: completed\n - staging (ID: 2) - Status: completed\n",
5078
+ "$ xano static_host:build:list default -w 40 --output json\n[\n {\n \"id\": 1,\n \"name\": \"v1.0.0\",\n \"status\": \"completed\"\n }\n]\n",
5079
+ "$ xano static_host:build:list default -p staging -o json --page 2\n[\n {\n \"id\": 3,\n \"name\": \"v1.0.2\"\n }\n]\n"
5085
5080
  ],
5086
5081
  "flags": {
5087
5082
  "profile": {
@@ -5103,85 +5098,51 @@
5103
5098
  "allowNo": false,
5104
5099
  "type": "boolean"
5105
5100
  },
5106
- "credentials": {
5107
- "description": "Kubeconfig credentials (raw text)",
5108
- "exclusive": [
5109
- "credentials_file"
5110
- ],
5111
- "name": "credentials",
5101
+ "output": {
5102
+ "char": "o",
5103
+ "description": "Output format",
5104
+ "name": "output",
5112
5105
  "required": false,
5106
+ "default": "summary",
5113
5107
  "hasDynamicHelp": false,
5114
5108
  "multiple": false,
5115
- "type": "option"
5116
- },
5117
- "credentials_file": {
5118
- "description": "Path to kubeconfig credentials file",
5119
- "exclusive": [
5120
- "credentials"
5109
+ "options": [
5110
+ "summary",
5111
+ "json"
5121
5112
  ],
5122
- "name": "credentials_file",
5123
- "required": false,
5124
- "hasDynamicHelp": false,
5125
- "multiple": false,
5126
- "type": "option"
5127
- },
5128
- "description": {
5129
- "char": "d",
5130
- "description": "Cluster description",
5131
- "name": "description",
5132
- "required": false,
5133
- "hasDynamicHelp": false,
5134
- "multiple": false,
5135
5113
  "type": "option"
5136
5114
  },
5137
- "domain": {
5138
- "description": "Custom domain for the cluster",
5139
- "name": "domain",
5115
+ "page": {
5116
+ "description": "Page number for pagination",
5117
+ "name": "page",
5140
5118
  "required": false,
5119
+ "default": 1,
5141
5120
  "hasDynamicHelp": false,
5142
5121
  "multiple": false,
5143
5122
  "type": "option"
5144
5123
  },
5145
- "name": {
5146
- "char": "n",
5147
- "description": "Cluster name",
5148
- "name": "name",
5149
- "required": true,
5150
- "hasDynamicHelp": false,
5151
- "multiple": false,
5152
- "type": "option"
5153
- },
5154
- "output": {
5155
- "char": "o",
5156
- "description": "Output format",
5157
- "name": "output",
5124
+ "per_page": {
5125
+ "description": "Number of results per page",
5126
+ "name": "per_page",
5158
5127
  "required": false,
5159
- "default": "summary",
5128
+ "default": 50,
5160
5129
  "hasDynamicHelp": false,
5161
5130
  "multiple": false,
5162
- "options": [
5163
- "summary",
5164
- "json"
5165
- ],
5166
5131
  "type": "option"
5167
5132
  },
5168
- "type": {
5169
- "description": "Cluster type",
5170
- "name": "type",
5133
+ "workspace": {
5134
+ "char": "w",
5135
+ "description": "Workspace ID (optional if set in profile)",
5136
+ "name": "workspace",
5171
5137
  "required": false,
5172
- "default": "standard",
5173
5138
  "hasDynamicHelp": false,
5174
5139
  "multiple": false,
5175
- "options": [
5176
- "standard",
5177
- "run"
5178
- ],
5179
5140
  "type": "option"
5180
5141
  }
5181
5142
  },
5182
5143
  "hasDynamicHelp": false,
5183
5144
  "hiddenAliases": [],
5184
- "id": "tenant:cluster:create",
5145
+ "id": "static_host:build:list",
5185
5146
  "pluginAlias": "@xano/cli",
5186
5147
  "pluginName": "@xano/cli",
5187
5148
  "pluginType": "core",
@@ -5191,32 +5152,25 @@
5191
5152
  "relativePath": [
5192
5153
  "dist",
5193
5154
  "commands",
5194
- "tenant",
5195
- "cluster",
5196
- "create",
5155
+ "static_host",
5156
+ "build",
5157
+ "list",
5197
5158
  "index.js"
5198
5159
  ]
5199
5160
  },
5200
- "static_host:build:get": {
5161
+ "tenant:backup:create": {
5201
5162
  "aliases": [],
5202
5163
  "args": {
5203
- "build_id": {
5204
- "description": "Build ID",
5205
- "name": "build_id",
5206
- "required": true
5207
- },
5208
- "static_host": {
5209
- "description": "Static Host name",
5210
- "name": "static_host",
5164
+ "tenant_name": {
5165
+ "description": "Tenant name to back up",
5166
+ "name": "tenant_name",
5211
5167
  "required": true
5212
5168
  }
5213
5169
  },
5214
- "description": "Get details of a specific build for a static host",
5170
+ "description": "Create a backup for a tenant",
5215
5171
  "examples": [
5216
- "$ xano static_host:build:get default 52\nBuild Details:\nID: 52\nName: v1.0.0\nStatus: completed\n",
5217
- "$ xano static_host:build:get default 52 -w 40\nBuild Details:\nID: 52\nName: v1.0.0\nStatus: completed\n",
5218
- "$ xano static_host:build:get myhost 123 --profile production\nBuild Details:\nID: 123\nName: production-build\n",
5219
- "$ xano static_host:build:get default 52 -o json\n{\n \"id\": 52,\n \"name\": \"v1.0.0\",\n \"status\": \"completed\"\n}\n"
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"
5220
5174
  ],
5221
5175
  "flags": {
5222
5176
  "profile": {
@@ -5238,6 +5192,16 @@
5238
5192
  "allowNo": false,
5239
5193
  "type": "boolean"
5240
5194
  },
5195
+ "description": {
5196
+ "char": "d",
5197
+ "description": "Backup description",
5198
+ "name": "description",
5199
+ "required": false,
5200
+ "default": "",
5201
+ "hasDynamicHelp": false,
5202
+ "multiple": false,
5203
+ "type": "option"
5204
+ },
5241
5205
  "output": {
5242
5206
  "char": "o",
5243
5207
  "description": "Output format",
@@ -5254,7 +5218,7 @@
5254
5218
  },
5255
5219
  "workspace": {
5256
5220
  "char": "w",
5257
- "description": "Workspace ID (optional if set in profile)",
5221
+ "description": "Workspace ID (uses profile workspace if not provided)",
5258
5222
  "name": "workspace",
5259
5223
  "required": false,
5260
5224
  "hasDynamicHelp": false,
@@ -5264,7 +5228,7 @@
5264
5228
  },
5265
5229
  "hasDynamicHelp": false,
5266
5230
  "hiddenAliases": [],
5267
- "id": "static_host:build:get",
5231
+ "id": "tenant:backup:create",
5268
5232
  "pluginAlias": "@xano/cli",
5269
5233
  "pluginName": "@xano/cli",
5270
5234
  "pluginType": "core",
@@ -5274,26 +5238,26 @@
5274
5238
  "relativePath": [
5275
5239
  "dist",
5276
5240
  "commands",
5277
- "static_host",
5278
- "build",
5279
- "get",
5241
+ "tenant",
5242
+ "backup",
5243
+ "create",
5280
5244
  "index.js"
5281
5245
  ]
5282
5246
  },
5283
- "tenant:cluster:delete": {
5247
+ "tenant:backup:delete": {
5284
5248
  "aliases": [],
5285
5249
  "args": {
5286
- "cluster_id": {
5287
- "description": "Cluster ID to delete",
5288
- "name": "cluster_id",
5250
+ "tenant_name": {
5251
+ "description": "Tenant name that owns the backup",
5252
+ "name": "tenant_name",
5289
5253
  "required": true
5290
5254
  }
5291
5255
  },
5292
- "description": "Delete a tenant cluster. This action cannot be undone.",
5256
+ "description": "Delete a tenant backup permanently. This action cannot be undone.",
5293
5257
  "examples": [
5294
- "$ 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",
5295
- "$ xano tenant cluster delete 3 --force\nTenant cluster 3 deleted successfully\n",
5296
- "$ xano tenant cluster delete 3 -f -o json"
5258
+ "$ xano tenant backup delete t1234-abcd-xyz1 --backup_id 10\nAre you sure you want to delete backup #10? This action cannot be undone. (y/N) y\nDeleted backup #10\n",
5259
+ "$ xano tenant backup delete t1234-abcd-xyz1 --backup_id 10 --force",
5260
+ "$ xano tenant backup delete t1234-abcd-xyz1 --backup_id 10 -o json"
5297
5261
  ],
5298
5262
  "flags": {
5299
5263
  "profile": {
@@ -5315,6 +5279,14 @@
5315
5279
  "allowNo": false,
5316
5280
  "type": "boolean"
5317
5281
  },
5282
+ "backup_id": {
5283
+ "description": "Backup ID to delete",
5284
+ "name": "backup_id",
5285
+ "required": true,
5286
+ "hasDynamicHelp": false,
5287
+ "multiple": false,
5288
+ "type": "option"
5289
+ },
5318
5290
  "force": {
5319
5291
  "char": "f",
5320
5292
  "description": "Skip confirmation prompt",
@@ -5336,11 +5308,20 @@
5336
5308
  "json"
5337
5309
  ],
5338
5310
  "type": "option"
5311
+ },
5312
+ "workspace": {
5313
+ "char": "w",
5314
+ "description": "Workspace ID (uses profile workspace if not provided)",
5315
+ "name": "workspace",
5316
+ "required": false,
5317
+ "hasDynamicHelp": false,
5318
+ "multiple": false,
5319
+ "type": "option"
5339
5320
  }
5340
5321
  },
5341
5322
  "hasDynamicHelp": false,
5342
5323
  "hiddenAliases": [],
5343
- "id": "tenant:cluster:delete",
5324
+ "id": "tenant:backup:delete",
5344
5325
  "pluginAlias": "@xano/cli",
5345
5326
  "pluginName": "@xano/cli",
5346
5327
  "pluginType": "core",
@@ -5351,24 +5332,25 @@
5351
5332
  "dist",
5352
5333
  "commands",
5353
5334
  "tenant",
5354
- "cluster",
5335
+ "backup",
5355
5336
  "delete",
5356
5337
  "index.js"
5357
5338
  ]
5358
5339
  },
5359
- "tenant:cluster:get": {
5340
+ "tenant:backup:export": {
5360
5341
  "aliases": [],
5361
5342
  "args": {
5362
- "cluster_id": {
5363
- "description": "Cluster ID to retrieve",
5364
- "name": "cluster_id",
5343
+ "tenant_name": {
5344
+ "description": "Tenant name to export backup from",
5345
+ "name": "tenant_name",
5365
5346
  "required": true
5366
5347
  }
5367
5348
  },
5368
- "description": "Get details of a specific tenant cluster",
5349
+ "description": "Export (download) a tenant backup to a local file",
5369
5350
  "examples": [
5370
- "$ xano tenant cluster get 1\nCluster: us-east-1\n ID: 1\n Type: standard\n Domain: us-east-1.xano.io\n",
5371
- "$ xano tenant cluster get 1 -o json"
5351
+ "$ xano tenant backup export t1234-abcd-xyz1 --backup_id 10\nDownloaded backup #10 to ./tenant-t1234-abcd-xyz1-backup-10.tar.gz\n",
5352
+ "$ xano tenant backup export t1234-abcd-xyz1 --backup_id 10 --output ./backups/my-backup.tar.gz",
5353
+ "$ xano tenant backup export t1234-abcd-xyz1 --backup_id 10 -o json"
5372
5354
  ],
5373
5355
  "flags": {
5374
5356
  "profile": {
@@ -5390,10 +5372,18 @@
5390
5372
  "allowNo": false,
5391
5373
  "type": "boolean"
5392
5374
  },
5393
- "output": {
5375
+ "backup_id": {
5376
+ "description": "Backup ID to export",
5377
+ "name": "backup_id",
5378
+ "required": true,
5379
+ "hasDynamicHelp": false,
5380
+ "multiple": false,
5381
+ "type": "option"
5382
+ },
5383
+ "format": {
5394
5384
  "char": "o",
5395
5385
  "description": "Output format",
5396
- "name": "output",
5386
+ "name": "format",
5397
5387
  "required": false,
5398
5388
  "default": "summary",
5399
5389
  "hasDynamicHelp": false,
@@ -5403,11 +5393,28 @@
5403
5393
  "json"
5404
5394
  ],
5405
5395
  "type": "option"
5396
+ },
5397
+ "output": {
5398
+ "description": "Output file path (defaults to ./tenant-{name}-backup-{backup_id}.tar.gz)",
5399
+ "name": "output",
5400
+ "required": false,
5401
+ "hasDynamicHelp": false,
5402
+ "multiple": false,
5403
+ "type": "option"
5404
+ },
5405
+ "workspace": {
5406
+ "char": "w",
5407
+ "description": "Workspace ID (uses profile workspace if not provided)",
5408
+ "name": "workspace",
5409
+ "required": false,
5410
+ "hasDynamicHelp": false,
5411
+ "multiple": false,
5412
+ "type": "option"
5406
5413
  }
5407
5414
  },
5408
5415
  "hasDynamicHelp": false,
5409
5416
  "hiddenAliases": [],
5410
- "id": "tenant:cluster:get",
5417
+ "id": "tenant:backup:export",
5411
5418
  "pluginAlias": "@xano/cli",
5412
5419
  "pluginName": "@xano/cli",
5413
5420
  "pluginType": "core",
@@ -5418,24 +5425,24 @@
5418
5425
  "dist",
5419
5426
  "commands",
5420
5427
  "tenant",
5421
- "cluster",
5422
- "get",
5428
+ "backup",
5429
+ "export",
5423
5430
  "index.js"
5424
5431
  ]
5425
5432
  },
5426
- "tenant:cluster:edit": {
5433
+ "tenant:backup:import": {
5427
5434
  "aliases": [],
5428
5435
  "args": {
5429
- "cluster_id": {
5430
- "description": "Cluster ID to edit",
5431
- "name": "cluster_id",
5436
+ "tenant_name": {
5437
+ "description": "Tenant name to import backup into",
5438
+ "name": "tenant_name",
5432
5439
  "required": true
5433
5440
  }
5434
5441
  },
5435
- "description": "Update an existing tenant cluster",
5442
+ "description": "Import a backup file into a tenant",
5436
5443
  "examples": [
5437
- "$ xano tenant cluster edit 1 --name \"us-east-1-updated\" --description \"Updated cluster\" --domain \"us-east.xano.io\" --type standard\nUpdated tenant cluster: us-east-1-updated (standard) - ID: 1\n",
5438
- "$ xano tenant cluster edit 1 --name \"eu-west\" --description \"\" --domain \"\" --type run -o json"
5444
+ "$ xano tenant backup import t1234-abcd-xyz1 --file ./my-backup.tar.gz\nImported backup as #15 for tenant t1234-abcd-xyz1\n",
5445
+ "$ xano tenant backup import t1234-abcd-xyz1 --file ./my-backup.tar.gz --description \"Restored from production\" -o json"
5439
5446
  ],
5440
5447
  "flags": {
5441
5448
  "profile": {
@@ -5459,25 +5466,18 @@
5459
5466
  },
5460
5467
  "description": {
5461
5468
  "char": "d",
5462
- "description": "Cluster description",
5469
+ "description": "Backup description",
5463
5470
  "name": "description",
5464
- "required": true,
5465
- "hasDynamicHelp": false,
5466
- "multiple": false,
5467
- "type": "option"
5468
- },
5469
- "domain": {
5470
- "description": "Custom domain for the cluster",
5471
- "name": "domain",
5472
- "required": true,
5471
+ "required": false,
5472
+ "default": "",
5473
5473
  "hasDynamicHelp": false,
5474
5474
  "multiple": false,
5475
5475
  "type": "option"
5476
5476
  },
5477
- "name": {
5478
- "char": "n",
5479
- "description": "Cluster name",
5480
- "name": "name",
5477
+ "file": {
5478
+ "char": "f",
5479
+ "description": "Path to the backup file (.tar.gz)",
5480
+ "name": "file",
5481
5481
  "required": true,
5482
5482
  "hasDynamicHelp": false,
5483
5483
  "multiple": false,
@@ -5497,22 +5497,19 @@
5497
5497
  ],
5498
5498
  "type": "option"
5499
5499
  },
5500
- "type": {
5501
- "description": "Cluster type",
5502
- "name": "type",
5503
- "required": true,
5500
+ "workspace": {
5501
+ "char": "w",
5502
+ "description": "Workspace ID (uses profile workspace if not provided)",
5503
+ "name": "workspace",
5504
+ "required": false,
5504
5505
  "hasDynamicHelp": false,
5505
5506
  "multiple": false,
5506
- "options": [
5507
- "standard",
5508
- "run"
5509
- ],
5510
5507
  "type": "option"
5511
5508
  }
5512
5509
  },
5513
5510
  "hasDynamicHelp": false,
5514
5511
  "hiddenAliases": [],
5515
- "id": "tenant:cluster:edit",
5512
+ "id": "tenant:backup:import",
5516
5513
  "pluginAlias": "@xano/cli",
5517
5514
  "pluginName": "@xano/cli",
5518
5515
  "pluginType": "core",
@@ -5523,18 +5520,24 @@
5523
5520
  "dist",
5524
5521
  "commands",
5525
5522
  "tenant",
5526
- "cluster",
5527
- "edit",
5523
+ "backup",
5524
+ "import",
5528
5525
  "index.js"
5529
5526
  ]
5530
5527
  },
5531
- "tenant:cluster:list": {
5528
+ "tenant:backup:list": {
5532
5529
  "aliases": [],
5533
- "args": {},
5534
- "description": "List all tenant clusters",
5530
+ "args": {
5531
+ "tenant_name": {
5532
+ "description": "Tenant name to list backups for",
5533
+ "name": "tenant_name",
5534
+ "required": true
5535
+ }
5536
+ },
5537
+ "description": "List backups for a tenant",
5535
5538
  "examples": [
5536
- "$ xano tenant cluster list\nTenant clusters:\n - us-east-1 (standard) [ID: 1]\n - eu-west-1 (run) [ID: 2]\n",
5537
- "$ xano tenant cluster list --output json"
5539
+ "$ xano tenant backup list t1234-abcd-xyz1\nBackups for tenant t1234-abcd-xyz1:\n - #1 - Pre-deploy backup (2024-01-15)\n - #2 - Daily backup (2024-01-16)\n",
5540
+ "$ xano tenant backup list t1234-abcd-xyz1 -o json"
5538
5541
  ],
5539
5542
  "flags": {
5540
5543
  "profile": {
@@ -5569,11 +5572,29 @@
5569
5572
  "json"
5570
5573
  ],
5571
5574
  "type": "option"
5575
+ },
5576
+ "page": {
5577
+ "description": "Page number for pagination",
5578
+ "name": "page",
5579
+ "required": false,
5580
+ "default": 1,
5581
+ "hasDynamicHelp": false,
5582
+ "multiple": false,
5583
+ "type": "option"
5584
+ },
5585
+ "workspace": {
5586
+ "char": "w",
5587
+ "description": "Workspace ID (uses profile workspace if not provided)",
5588
+ "name": "workspace",
5589
+ "required": false,
5590
+ "hasDynamicHelp": false,
5591
+ "multiple": false,
5592
+ "type": "option"
5572
5593
  }
5573
5594
  },
5574
5595
  "hasDynamicHelp": false,
5575
5596
  "hiddenAliases": [],
5576
- "id": "tenant:cluster:list",
5597
+ "id": "tenant:backup:list",
5577
5598
  "pluginAlias": "@xano/cli",
5578
5599
  "pluginName": "@xano/cli",
5579
5600
  "pluginType": "core",
@@ -5584,24 +5605,24 @@
5584
5605
  "dist",
5585
5606
  "commands",
5586
5607
  "tenant",
5587
- "cluster",
5608
+ "backup",
5588
5609
  "list",
5589
5610
  "index.js"
5590
5611
  ]
5591
5612
  },
5592
- "tenant:backup:create": {
5613
+ "tenant:backup:restore": {
5593
5614
  "aliases": [],
5594
5615
  "args": {
5595
5616
  "tenant_name": {
5596
- "description": "Tenant name to back up",
5617
+ "description": "Tenant name to restore",
5597
5618
  "name": "tenant_name",
5598
5619
  "required": true
5599
5620
  }
5600
5621
  },
5601
- "description": "Create a backup for a tenant",
5622
+ "description": "Restore a tenant from a backup. This replaces the current tenant data.",
5602
5623
  "examples": [
5603
- "$ xano tenant backup create t1234-abcd-xyz1 --description \"Pre-deploy backup\"\nCreated backup #15 for tenant t1234-abcd-xyz1\n",
5604
- "$ xano tenant backup create t1234-abcd-xyz1 -d \"Daily backup\" -o json"
5624
+ "$ xano tenant backup restore t1234-abcd-xyz1 --backup_id 10\nAre you sure you want to restore tenant t1234-abcd-xyz1 from backup 10? This will replace current data. (y/N) y\nRestored tenant t1234-abcd-xyz1 from backup #10\n",
5625
+ "$ xano tenant backup restore t1234-abcd-xyz1 --backup_id 10 --force -o json"
5605
5626
  ],
5606
5627
  "flags": {
5607
5628
  "profile": {
@@ -5623,16 +5644,22 @@
5623
5644
  "allowNo": false,
5624
5645
  "type": "boolean"
5625
5646
  },
5626
- "description": {
5627
- "char": "d",
5628
- "description": "Backup description",
5629
- "name": "description",
5630
- "required": false,
5631
- "default": "",
5647
+ "backup_id": {
5648
+ "description": "Backup ID to restore from",
5649
+ "name": "backup_id",
5650
+ "required": true,
5632
5651
  "hasDynamicHelp": false,
5633
5652
  "multiple": false,
5634
5653
  "type": "option"
5635
5654
  },
5655
+ "force": {
5656
+ "char": "f",
5657
+ "description": "Skip confirmation prompt",
5658
+ "name": "force",
5659
+ "required": false,
5660
+ "allowNo": false,
5661
+ "type": "boolean"
5662
+ },
5636
5663
  "output": {
5637
5664
  "char": "o",
5638
5665
  "description": "Output format",
@@ -5659,7 +5686,7 @@
5659
5686
  },
5660
5687
  "hasDynamicHelp": false,
5661
5688
  "hiddenAliases": [],
5662
- "id": "tenant:backup:create",
5689
+ "id": "tenant:backup:restore",
5663
5690
  "pluginAlias": "@xano/cli",
5664
5691
  "pluginName": "@xano/cli",
5665
5692
  "pluginType": "core",
@@ -5671,23 +5698,17 @@
5671
5698
  "commands",
5672
5699
  "tenant",
5673
5700
  "backup",
5674
- "create",
5701
+ "restore",
5675
5702
  "index.js"
5676
5703
  ]
5677
5704
  },
5678
- "tenant:backup:import": {
5705
+ "tenant:cluster:create": {
5679
5706
  "aliases": [],
5680
- "args": {
5681
- "tenant_name": {
5682
- "description": "Tenant name to import backup into",
5683
- "name": "tenant_name",
5684
- "required": true
5685
- }
5686
- },
5687
- "description": "Import a backup file into a tenant",
5707
+ "args": {},
5708
+ "description": "Create a new tenant cluster",
5688
5709
  "examples": [
5689
- "$ xano tenant backup import t1234-abcd-xyz1 --file ./my-backup.tar.gz\nImported backup as #15 for tenant t1234-abcd-xyz1\n",
5690
- "$ xano tenant backup import t1234-abcd-xyz1 --file ./my-backup.tar.gz --description \"Restored from production\" -o json"
5710
+ "$ xano tenant cluster create --name \"us-east-1\" --credentials_file ./kubeconfig.yaml\nCreated tenant cluster: us-east-1 (standard) - ID: 3\n",
5711
+ "$ xano tenant cluster create --name \"eu-west-1\" --credentials \"...\" --type run --description \"EU run cluster\" -o json"
5691
5712
  ],
5692
5713
  "flags": {
5693
5714
  "profile": {
@@ -5709,20 +5730,49 @@
5709
5730
  "allowNo": false,
5710
5731
  "type": "boolean"
5711
5732
  },
5733
+ "credentials": {
5734
+ "description": "Kubeconfig credentials (raw text)",
5735
+ "exclusive": [
5736
+ "credentials_file"
5737
+ ],
5738
+ "name": "credentials",
5739
+ "required": false,
5740
+ "hasDynamicHelp": false,
5741
+ "multiple": false,
5742
+ "type": "option"
5743
+ },
5744
+ "credentials_file": {
5745
+ "description": "Path to kubeconfig credentials file",
5746
+ "exclusive": [
5747
+ "credentials"
5748
+ ],
5749
+ "name": "credentials_file",
5750
+ "required": false,
5751
+ "hasDynamicHelp": false,
5752
+ "multiple": false,
5753
+ "type": "option"
5754
+ },
5712
5755
  "description": {
5713
5756
  "char": "d",
5714
- "description": "Backup description",
5757
+ "description": "Cluster description",
5715
5758
  "name": "description",
5716
5759
  "required": false,
5717
- "default": "",
5718
5760
  "hasDynamicHelp": false,
5719
5761
  "multiple": false,
5720
5762
  "type": "option"
5721
5763
  },
5722
- "file": {
5723
- "char": "f",
5724
- "description": "Path to the backup file (.tar.gz)",
5725
- "name": "file",
5764
+ "domain": {
5765
+ "description": "Custom domain for the cluster",
5766
+ "name": "domain",
5767
+ "required": false,
5768
+ "hasDynamicHelp": false,
5769
+ "multiple": false,
5770
+ "type": "option"
5771
+ },
5772
+ "name": {
5773
+ "char": "n",
5774
+ "description": "Cluster name",
5775
+ "name": "name",
5726
5776
  "required": true,
5727
5777
  "hasDynamicHelp": false,
5728
5778
  "multiple": false,
@@ -5742,19 +5792,23 @@
5742
5792
  ],
5743
5793
  "type": "option"
5744
5794
  },
5745
- "workspace": {
5746
- "char": "w",
5747
- "description": "Workspace ID (uses profile workspace if not provided)",
5748
- "name": "workspace",
5795
+ "type": {
5796
+ "description": "Cluster type",
5797
+ "name": "type",
5749
5798
  "required": false,
5799
+ "default": "standard",
5750
5800
  "hasDynamicHelp": false,
5751
5801
  "multiple": false,
5802
+ "options": [
5803
+ "standard",
5804
+ "run"
5805
+ ],
5752
5806
  "type": "option"
5753
5807
  }
5754
5808
  },
5755
5809
  "hasDynamicHelp": false,
5756
5810
  "hiddenAliases": [],
5757
- "id": "tenant:backup:import",
5811
+ "id": "tenant:cluster:create",
5758
5812
  "pluginAlias": "@xano/cli",
5759
5813
  "pluginName": "@xano/cli",
5760
5814
  "pluginType": "core",
@@ -5765,25 +5819,25 @@
5765
5819
  "dist",
5766
5820
  "commands",
5767
5821
  "tenant",
5768
- "backup",
5769
- "import",
5822
+ "cluster",
5823
+ "create",
5770
5824
  "index.js"
5771
5825
  ]
5772
5826
  },
5773
- "tenant:backup:delete": {
5827
+ "tenant:cluster:delete": {
5774
5828
  "aliases": [],
5775
5829
  "args": {
5776
- "tenant_name": {
5777
- "description": "Tenant name that owns the backup",
5778
- "name": "tenant_name",
5830
+ "cluster_id": {
5831
+ "description": "Cluster ID to delete",
5832
+ "name": "cluster_id",
5779
5833
  "required": true
5780
5834
  }
5781
5835
  },
5782
- "description": "Delete a tenant backup permanently. This action cannot be undone.",
5836
+ "description": "Delete a tenant cluster. This action cannot be undone.",
5783
5837
  "examples": [
5784
- "$ xano tenant backup delete t1234-abcd-xyz1 --backup_id 10\nAre you sure you want to delete backup #10? This action cannot be undone. (y/N) y\nDeleted backup #10\n",
5785
- "$ xano tenant backup delete t1234-abcd-xyz1 --backup_id 10 --force",
5786
- "$ xano tenant backup delete t1234-abcd-xyz1 --backup_id 10 -o json"
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"
5787
5841
  ],
5788
5842
  "flags": {
5789
5843
  "profile": {
@@ -5805,14 +5859,6 @@
5805
5859
  "allowNo": false,
5806
5860
  "type": "boolean"
5807
5861
  },
5808
- "backup_id": {
5809
- "description": "Backup ID to delete",
5810
- "name": "backup_id",
5811
- "required": true,
5812
- "hasDynamicHelp": false,
5813
- "multiple": false,
5814
- "type": "option"
5815
- },
5816
5862
  "force": {
5817
5863
  "char": "f",
5818
5864
  "description": "Skip confirmation prompt",
@@ -5834,20 +5880,11 @@
5834
5880
  "json"
5835
5881
  ],
5836
5882
  "type": "option"
5837
- },
5838
- "workspace": {
5839
- "char": "w",
5840
- "description": "Workspace ID (uses profile workspace if not provided)",
5841
- "name": "workspace",
5842
- "required": false,
5843
- "hasDynamicHelp": false,
5844
- "multiple": false,
5845
- "type": "option"
5846
5883
  }
5847
5884
  },
5848
5885
  "hasDynamicHelp": false,
5849
5886
  "hiddenAliases": [],
5850
- "id": "tenant:backup:delete",
5887
+ "id": "tenant:cluster:delete",
5851
5888
  "pluginAlias": "@xano/cli",
5852
5889
  "pluginName": "@xano/cli",
5853
5890
  "pluginType": "core",
@@ -5858,25 +5895,24 @@
5858
5895
  "dist",
5859
5896
  "commands",
5860
5897
  "tenant",
5861
- "backup",
5898
+ "cluster",
5862
5899
  "delete",
5863
5900
  "index.js"
5864
5901
  ]
5865
5902
  },
5866
- "tenant:backup:export": {
5903
+ "tenant:cluster:edit": {
5867
5904
  "aliases": [],
5868
5905
  "args": {
5869
- "tenant_name": {
5870
- "description": "Tenant name to export backup from",
5871
- "name": "tenant_name",
5906
+ "cluster_id": {
5907
+ "description": "Cluster ID to edit",
5908
+ "name": "cluster_id",
5872
5909
  "required": true
5873
5910
  }
5874
5911
  },
5875
- "description": "Export (download) a tenant backup to a local file",
5912
+ "description": "Update an existing tenant cluster",
5876
5913
  "examples": [
5877
- "$ xano tenant backup export t1234-abcd-xyz1 --backup_id 10\nDownloaded backup #10 to ./tenant-t1234-abcd-xyz1-backup-10.tar.gz\n",
5878
- "$ xano tenant backup export t1234-abcd-xyz1 --backup_id 10 --output ./backups/my-backup.tar.gz",
5879
- "$ xano tenant backup export t1234-abcd-xyz1 --backup_id 10 -o json"
5914
+ "$ xano tenant cluster edit 1 --name \"us-east-1-updated\" --description \"Updated cluster\" --domain \"us-east.xano.io\" --type standard\nUpdated tenant cluster: us-east-1-updated (standard) - ID: 1\n",
5915
+ "$ xano tenant cluster edit 1 --name \"eu-west\" --description \"\" --domain \"\" --type run -o json"
5880
5916
  ],
5881
5917
  "flags": {
5882
5918
  "profile": {
@@ -5889,27 +5925,45 @@
5889
5925
  "multiple": false,
5890
5926
  "type": "option"
5891
5927
  },
5892
- "verbose": {
5893
- "char": "v",
5894
- "description": "Show detailed request/response information",
5895
- "env": "XANO_VERBOSE",
5896
- "name": "verbose",
5897
- "required": false,
5898
- "allowNo": false,
5899
- "type": "boolean"
5928
+ "verbose": {
5929
+ "char": "v",
5930
+ "description": "Show detailed request/response information",
5931
+ "env": "XANO_VERBOSE",
5932
+ "name": "verbose",
5933
+ "required": false,
5934
+ "allowNo": false,
5935
+ "type": "boolean"
5936
+ },
5937
+ "description": {
5938
+ "char": "d",
5939
+ "description": "Cluster description",
5940
+ "name": "description",
5941
+ "required": true,
5942
+ "hasDynamicHelp": false,
5943
+ "multiple": false,
5944
+ "type": "option"
5945
+ },
5946
+ "domain": {
5947
+ "description": "Custom domain for the cluster",
5948
+ "name": "domain",
5949
+ "required": true,
5950
+ "hasDynamicHelp": false,
5951
+ "multiple": false,
5952
+ "type": "option"
5900
5953
  },
5901
- "backup_id": {
5902
- "description": "Backup ID to export",
5903
- "name": "backup_id",
5954
+ "name": {
5955
+ "char": "n",
5956
+ "description": "Cluster name",
5957
+ "name": "name",
5904
5958
  "required": true,
5905
5959
  "hasDynamicHelp": false,
5906
5960
  "multiple": false,
5907
5961
  "type": "option"
5908
5962
  },
5909
- "format": {
5963
+ "output": {
5910
5964
  "char": "o",
5911
5965
  "description": "Output format",
5912
- "name": "format",
5966
+ "name": "output",
5913
5967
  "required": false,
5914
5968
  "default": "summary",
5915
5969
  "hasDynamicHelp": false,
@@ -5920,27 +5974,22 @@
5920
5974
  ],
5921
5975
  "type": "option"
5922
5976
  },
5923
- "output": {
5924
- "description": "Output file path (defaults to ./tenant-{name}-backup-{backup_id}.tar.gz)",
5925
- "name": "output",
5926
- "required": false,
5927
- "hasDynamicHelp": false,
5928
- "multiple": false,
5929
- "type": "option"
5930
- },
5931
- "workspace": {
5932
- "char": "w",
5933
- "description": "Workspace ID (uses profile workspace if not provided)",
5934
- "name": "workspace",
5935
- "required": false,
5977
+ "type": {
5978
+ "description": "Cluster type",
5979
+ "name": "type",
5980
+ "required": true,
5936
5981
  "hasDynamicHelp": false,
5937
5982
  "multiple": false,
5983
+ "options": [
5984
+ "standard",
5985
+ "run"
5986
+ ],
5938
5987
  "type": "option"
5939
5988
  }
5940
5989
  },
5941
5990
  "hasDynamicHelp": false,
5942
5991
  "hiddenAliases": [],
5943
- "id": "tenant:backup:export",
5992
+ "id": "tenant:cluster:edit",
5944
5993
  "pluginAlias": "@xano/cli",
5945
5994
  "pluginName": "@xano/cli",
5946
5995
  "pluginType": "core",
@@ -5951,24 +6000,24 @@
5951
6000
  "dist",
5952
6001
  "commands",
5953
6002
  "tenant",
5954
- "backup",
5955
- "export",
6003
+ "cluster",
6004
+ "edit",
5956
6005
  "index.js"
5957
6006
  ]
5958
6007
  },
5959
- "tenant:backup:list": {
6008
+ "tenant:cluster:get": {
5960
6009
  "aliases": [],
5961
6010
  "args": {
5962
- "tenant_name": {
5963
- "description": "Tenant name to list backups for",
5964
- "name": "tenant_name",
6011
+ "cluster_id": {
6012
+ "description": "Cluster ID to retrieve",
6013
+ "name": "cluster_id",
5965
6014
  "required": true
5966
6015
  }
5967
6016
  },
5968
- "description": "List backups for a tenant",
6017
+ "description": "Get details of a specific tenant cluster",
5969
6018
  "examples": [
5970
- "$ xano tenant backup list t1234-abcd-xyz1\nBackups for tenant t1234-abcd-xyz1:\n - #1 - Pre-deploy backup (2024-01-15)\n - #2 - Daily backup (2024-01-16)\n",
5971
- "$ xano tenant backup list t1234-abcd-xyz1 -o json"
6019
+ "$ xano tenant cluster get 1\nCluster: us-east-1\n ID: 1\n Type: standard\n Domain: us-east-1.xano.io\n",
6020
+ "$ xano tenant cluster get 1 -o json"
5972
6021
  ],
5973
6022
  "flags": {
5974
6023
  "profile": {
@@ -6003,29 +6052,11 @@
6003
6052
  "json"
6004
6053
  ],
6005
6054
  "type": "option"
6006
- },
6007
- "page": {
6008
- "description": "Page number for pagination",
6009
- "name": "page",
6010
- "required": false,
6011
- "default": 1,
6012
- "hasDynamicHelp": false,
6013
- "multiple": false,
6014
- "type": "option"
6015
- },
6016
- "workspace": {
6017
- "char": "w",
6018
- "description": "Workspace ID (uses profile workspace if not provided)",
6019
- "name": "workspace",
6020
- "required": false,
6021
- "hasDynamicHelp": false,
6022
- "multiple": false,
6023
- "type": "option"
6024
6055
  }
6025
6056
  },
6026
6057
  "hasDynamicHelp": false,
6027
6058
  "hiddenAliases": [],
6028
- "id": "tenant:backup:list",
6059
+ "id": "tenant:cluster:get",
6029
6060
  "pluginAlias": "@xano/cli",
6030
6061
  "pluginName": "@xano/cli",
6031
6062
  "pluginType": "core",
@@ -6036,24 +6067,18 @@
6036
6067
  "dist",
6037
6068
  "commands",
6038
6069
  "tenant",
6039
- "backup",
6040
- "list",
6070
+ "cluster",
6071
+ "get",
6041
6072
  "index.js"
6042
6073
  ]
6043
6074
  },
6044
- "tenant:backup:restore": {
6075
+ "tenant:cluster:list": {
6045
6076
  "aliases": [],
6046
- "args": {
6047
- "tenant_name": {
6048
- "description": "Tenant name to restore",
6049
- "name": "tenant_name",
6050
- "required": true
6051
- }
6052
- },
6053
- "description": "Restore a tenant from a backup. This replaces the current tenant data.",
6077
+ "args": {},
6078
+ "description": "List all tenant clusters",
6054
6079
  "examples": [
6055
- "$ xano tenant backup restore t1234-abcd-xyz1 --backup_id 10\nAre you sure you want to restore tenant t1234-abcd-xyz1 from backup 10? This will replace current data. (y/N) y\nRestored tenant t1234-abcd-xyz1 from backup #10\n",
6056
- "$ xano tenant backup restore t1234-abcd-xyz1 --backup_id 10 --force -o json"
6080
+ "$ xano tenant cluster list\nTenant clusters:\n - us-east-1 (standard) [ID: 1]\n - eu-west-1 (run) [ID: 2]\n",
6081
+ "$ xano tenant cluster list --output json"
6057
6082
  ],
6058
6083
  "flags": {
6059
6084
  "profile": {
@@ -6075,22 +6100,6 @@
6075
6100
  "allowNo": false,
6076
6101
  "type": "boolean"
6077
6102
  },
6078
- "backup_id": {
6079
- "description": "Backup ID to restore from",
6080
- "name": "backup_id",
6081
- "required": true,
6082
- "hasDynamicHelp": false,
6083
- "multiple": false,
6084
- "type": "option"
6085
- },
6086
- "force": {
6087
- "char": "f",
6088
- "description": "Skip confirmation prompt",
6089
- "name": "force",
6090
- "required": false,
6091
- "allowNo": false,
6092
- "type": "boolean"
6093
- },
6094
6103
  "output": {
6095
6104
  "char": "o",
6096
6105
  "description": "Output format",
@@ -6104,20 +6113,11 @@
6104
6113
  "json"
6105
6114
  ],
6106
6115
  "type": "option"
6107
- },
6108
- "workspace": {
6109
- "char": "w",
6110
- "description": "Workspace ID (uses profile workspace if not provided)",
6111
- "name": "workspace",
6112
- "required": false,
6113
- "hasDynamicHelp": false,
6114
- "multiple": false,
6115
- "type": "option"
6116
6116
  }
6117
6117
  },
6118
6118
  "hasDynamicHelp": false,
6119
6119
  "hiddenAliases": [],
6120
- "id": "tenant:backup:restore",
6120
+ "id": "tenant:cluster:list",
6121
6121
  "pluginAlias": "@xano/cli",
6122
6122
  "pluginName": "@xano/cli",
6123
6123
  "pluginType": "core",
@@ -6128,12 +6128,12 @@
6128
6128
  "dist",
6129
6129
  "commands",
6130
6130
  "tenant",
6131
- "backup",
6132
- "restore",
6131
+ "cluster",
6132
+ "list",
6133
6133
  "index.js"
6134
6134
  ]
6135
6135
  },
6136
- "tenant:env:get": {
6136
+ "tenant:env:delete": {
6137
6137
  "aliases": [],
6138
6138
  "args": {
6139
6139
  "tenant_name": {
@@ -6142,10 +6142,11 @@
6142
6142
  "required": true
6143
6143
  }
6144
6144
  },
6145
- "description": "Get a single environment variable for a tenant",
6145
+ "description": "Delete an environment variable from a tenant",
6146
6146
  "examples": [
6147
- "$ xano tenant env get my-tenant --name DATABASE_URL\npostgres://localhost:5432/mydb\n",
6148
- "$ xano tenant env get my-tenant --name DATABASE_URL -w 5 -o json"
6147
+ "$ xano tenant env delete my-tenant --name DATABASE_URL\nAre you sure you want to delete environment variable 'DATABASE_URL' from tenant my-tenant? (y/N) y\nEnvironment variable 'DATABASE_URL' deleted from tenant my-tenant\n",
6148
+ "$ xano tenant env delete my-tenant --name DATABASE_URL --force\nEnvironment variable 'DATABASE_URL' deleted from tenant my-tenant\n",
6149
+ "$ xano tenant env delete my-tenant --name DATABASE_URL -f -w 5 -o json"
6149
6150
  ],
6150
6151
  "flags": {
6151
6152
  "profile": {
@@ -6167,6 +6168,14 @@
6167
6168
  "allowNo": false,
6168
6169
  "type": "boolean"
6169
6170
  },
6171
+ "force": {
6172
+ "char": "f",
6173
+ "description": "Skip confirmation prompt",
6174
+ "name": "force",
6175
+ "required": false,
6176
+ "allowNo": false,
6177
+ "type": "boolean"
6178
+ },
6170
6179
  "name": {
6171
6180
  "char": "n",
6172
6181
  "description": "Environment variable name",
@@ -6202,7 +6211,7 @@
6202
6211
  },
6203
6212
  "hasDynamicHelp": false,
6204
6213
  "hiddenAliases": [],
6205
- "id": "tenant:env:get",
6214
+ "id": "tenant:env:delete",
6206
6215
  "pluginAlias": "@xano/cli",
6207
6216
  "pluginName": "@xano/cli",
6208
6217
  "pluginType": "core",
@@ -6214,11 +6223,11 @@
6214
6223
  "commands",
6215
6224
  "tenant",
6216
6225
  "env",
6217
- "get",
6226
+ "delete",
6218
6227
  "index.js"
6219
6228
  ]
6220
6229
  },
6221
- "tenant:env:list": {
6230
+ "tenant:env:get": {
6222
6231
  "aliases": [],
6223
6232
  "args": {
6224
6233
  "tenant_name": {
@@ -6227,10 +6236,10 @@
6227
6236
  "required": true
6228
6237
  }
6229
6238
  },
6230
- "description": "List environment variable keys for a tenant",
6239
+ "description": "Get a single environment variable for a tenant",
6231
6240
  "examples": [
6232
- "$ xano tenant env list my-tenant\nEnvironment variables for tenant my-tenant:\n - DATABASE_URL\n - API_KEY\n - SECRET_TOKEN\n",
6233
- "$ xano tenant env list my-tenant -w 5 -o json"
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"
6234
6243
  ],
6235
6244
  "flags": {
6236
6245
  "profile": {
@@ -6252,6 +6261,15 @@
6252
6261
  "allowNo": false,
6253
6262
  "type": "boolean"
6254
6263
  },
6264
+ "name": {
6265
+ "char": "n",
6266
+ "description": "Environment variable name",
6267
+ "name": "name",
6268
+ "required": true,
6269
+ "hasDynamicHelp": false,
6270
+ "multiple": false,
6271
+ "type": "option"
6272
+ },
6255
6273
  "output": {
6256
6274
  "char": "o",
6257
6275
  "description": "Output format",
@@ -6278,7 +6296,7 @@
6278
6296
  },
6279
6297
  "hasDynamicHelp": false,
6280
6298
  "hiddenAliases": [],
6281
- "id": "tenant:env:list",
6299
+ "id": "tenant:env:get",
6282
6300
  "pluginAlias": "@xano/cli",
6283
6301
  "pluginName": "@xano/cli",
6284
6302
  "pluginType": "core",
@@ -6290,11 +6308,11 @@
6290
6308
  "commands",
6291
6309
  "tenant",
6292
6310
  "env",
6293
- "list",
6311
+ "get",
6294
6312
  "index.js"
6295
6313
  ]
6296
6314
  },
6297
- "tenant:env:delete": {
6315
+ "tenant:env:get_all": {
6298
6316
  "aliases": [],
6299
6317
  "args": {
6300
6318
  "tenant_name": {
@@ -6303,11 +6321,12 @@
6303
6321
  "required": true
6304
6322
  }
6305
6323
  },
6306
- "description": "Delete an environment variable from a tenant",
6324
+ "description": "Get all environment variables for a tenant and save to a YAML file",
6307
6325
  "examples": [
6308
- "$ xano tenant env delete my-tenant --name DATABASE_URL\nAre you sure you want to delete environment variable 'DATABASE_URL' from tenant my-tenant? (y/N) y\nEnvironment variable 'DATABASE_URL' deleted from tenant my-tenant\n",
6309
- "$ xano tenant env delete my-tenant --name DATABASE_URL --force\nEnvironment variable 'DATABASE_URL' deleted from tenant my-tenant\n",
6310
- "$ xano tenant env delete my-tenant --name DATABASE_URL -f -w 5 -o json"
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"
6311
6330
  ],
6312
6331
  "flags": {
6313
6332
  "profile": {
@@ -6329,19 +6348,11 @@
6329
6348
  "allowNo": false,
6330
6349
  "type": "boolean"
6331
6350
  },
6332
- "force": {
6351
+ "file": {
6333
6352
  "char": "f",
6334
- "description": "Skip confirmation prompt",
6335
- "name": "force",
6353
+ "description": "Output file path (default: env_<tenant_name>.yaml)",
6354
+ "name": "file",
6336
6355
  "required": false,
6337
- "allowNo": false,
6338
- "type": "boolean"
6339
- },
6340
- "name": {
6341
- "char": "n",
6342
- "description": "Environment variable name",
6343
- "name": "name",
6344
- "required": true,
6345
6356
  "hasDynamicHelp": false,
6346
6357
  "multiple": false,
6347
6358
  "type": "option"
@@ -6360,6 +6371,13 @@
6360
6371
  ],
6361
6372
  "type": "option"
6362
6373
  },
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
+ },
6363
6381
  "workspace": {
6364
6382
  "char": "w",
6365
6383
  "description": "Workspace ID (uses profile workspace if not provided)",
@@ -6372,7 +6390,7 @@
6372
6390
  },
6373
6391
  "hasDynamicHelp": false,
6374
6392
  "hiddenAliases": [],
6375
- "id": "tenant:env:delete",
6393
+ "id": "tenant:env:get_all",
6376
6394
  "pluginAlias": "@xano/cli",
6377
6395
  "pluginName": "@xano/cli",
6378
6396
  "pluginType": "core",
@@ -6384,7 +6402,7 @@
6384
6402
  "commands",
6385
6403
  "tenant",
6386
6404
  "env",
6387
- "delete",
6405
+ "get_all",
6388
6406
  "index.js"
6389
6407
  ]
6390
6408
  },
@@ -6481,7 +6499,7 @@
6481
6499
  "index.js"
6482
6500
  ]
6483
6501
  },
6484
- "tenant:env:set_all": {
6502
+ "tenant:env:list": {
6485
6503
  "aliases": [],
6486
6504
  "args": {
6487
6505
  "tenant_name": {
@@ -6490,11 +6508,10 @@
6490
6508
  "required": true
6491
6509
  }
6492
6510
  },
6493
- "description": "Set all environment variables for a tenant from a YAML file (replaces all existing)",
6511
+ "description": "List environment variable keys for a tenant",
6494
6512
  "examples": [
6495
- "$ xano tenant env set_all my-tenant\nReads from env_my-tenant.yaml\n",
6496
- "$ xano tenant env set_all my-tenant --file ./my-env.yaml",
6497
- "$ xano tenant env set_all my-tenant -o json"
6513
+ "$ xano tenant env list my-tenant\nEnvironment variables for tenant my-tenant:\n - DATABASE_URL\n - API_KEY\n - SECRET_TOKEN\n",
6514
+ "$ xano tenant env list my-tenant -w 5 -o json"
6498
6515
  ],
6499
6516
  "flags": {
6500
6517
  "profile": {
@@ -6516,22 +6533,6 @@
6516
6533
  "allowNo": false,
6517
6534
  "type": "boolean"
6518
6535
  },
6519
- "clean": {
6520
- "description": "Remove the source file after successful upload",
6521
- "name": "clean",
6522
- "required": false,
6523
- "allowNo": false,
6524
- "type": "boolean"
6525
- },
6526
- "file": {
6527
- "char": "f",
6528
- "description": "Path to env file (default: env_<tenant_name>.yaml)",
6529
- "name": "file",
6530
- "required": false,
6531
- "hasDynamicHelp": false,
6532
- "multiple": false,
6533
- "type": "option"
6534
- },
6535
6536
  "output": {
6536
6537
  "char": "o",
6537
6538
  "description": "Output format",
@@ -6558,7 +6559,7 @@
6558
6559
  },
6559
6560
  "hasDynamicHelp": false,
6560
6561
  "hiddenAliases": [],
6561
- "id": "tenant:env:set_all",
6562
+ "id": "tenant:env:list",
6562
6563
  "pluginAlias": "@xano/cli",
6563
6564
  "pluginName": "@xano/cli",
6564
6565
  "pluginType": "core",
@@ -6570,11 +6571,11 @@
6570
6571
  "commands",
6571
6572
  "tenant",
6572
6573
  "env",
6573
- "set_all",
6574
+ "list",
6574
6575
  "index.js"
6575
6576
  ]
6576
6577
  },
6577
- "tenant:env:get_all": {
6578
+ "tenant:env:set_all": {
6578
6579
  "aliases": [],
6579
6580
  "args": {
6580
6581
  "tenant_name": {
@@ -6583,12 +6584,11 @@
6583
6584
  "required": true
6584
6585
  }
6585
6586
  },
6586
- "description": "Get all environment variables for a tenant and save to a YAML file",
6587
+ "description": "Set all environment variables for a tenant from a YAML file (replaces all existing)",
6587
6588
  "examples": [
6588
- "$ xano tenant env get_all my-tenant\nEnvironment variables saved to env_my-tenant.yaml\n",
6589
- "$ xano tenant env get_all my-tenant --file ./my-env.yaml",
6590
- "$ xano tenant env get_all my-tenant --view",
6591
- "$ xano tenant env get_all my-tenant -o json"
6589
+ "$ xano tenant env set_all my-tenant\nReads from env_my-tenant.yaml\n",
6590
+ "$ xano tenant env set_all my-tenant --file ./my-env.yaml",
6591
+ "$ xano tenant env set_all my-tenant -o json"
6592
6592
  ],
6593
6593
  "flags": {
6594
6594
  "profile": {
@@ -6610,9 +6610,16 @@
6610
6610
  "allowNo": false,
6611
6611
  "type": "boolean"
6612
6612
  },
6613
+ "clean": {
6614
+ "description": "Remove the source file after successful upload",
6615
+ "name": "clean",
6616
+ "required": false,
6617
+ "allowNo": false,
6618
+ "type": "boolean"
6619
+ },
6613
6620
  "file": {
6614
6621
  "char": "f",
6615
- "description": "Output file path (default: env_<tenant_name>.yaml)",
6622
+ "description": "Path to env file (default: env_<tenant_name>.yaml)",
6616
6623
  "name": "file",
6617
6624
  "required": false,
6618
6625
  "hasDynamicHelp": false,
@@ -6633,13 +6640,6 @@
6633
6640
  ],
6634
6641
  "type": "option"
6635
6642
  },
6636
- "view": {
6637
- "description": "Print environment variables to stdout instead of saving to file",
6638
- "name": "view",
6639
- "required": false,
6640
- "allowNo": false,
6641
- "type": "boolean"
6642
- },
6643
6643
  "workspace": {
6644
6644
  "char": "w",
6645
6645
  "description": "Workspace ID (uses profile workspace if not provided)",
@@ -6652,7 +6652,7 @@
6652
6652
  },
6653
6653
  "hasDynamicHelp": false,
6654
6654
  "hiddenAliases": [],
6655
- "id": "tenant:env:get_all",
6655
+ "id": "tenant:env:set_all",
6656
6656
  "pluginAlias": "@xano/cli",
6657
6657
  "pluginName": "@xano/cli",
6658
6658
  "pluginType": "core",
@@ -6664,28 +6664,25 @@
6664
6664
  "commands",
6665
6665
  "tenant",
6666
6666
  "env",
6667
- "get_all",
6667
+ "set_all",
6668
6668
  "index.js"
6669
6669
  ]
6670
6670
  },
6671
- "workspace:git:pull": {
6671
+ "tenant:license:get": {
6672
6672
  "aliases": [],
6673
6673
  "args": {
6674
- "directory": {
6675
- "description": "Output directory for imported files",
6676
- "name": "directory",
6674
+ "tenant_name": {
6675
+ "description": "Tenant name",
6676
+ "name": "tenant_name",
6677
6677
  "required": true
6678
6678
  }
6679
6679
  },
6680
- "description": "Pull XanoScript files from a git repository into a local directory",
6680
+ "description": "Get the license for a tenant",
6681
6681
  "examples": [
6682
- "$ xano workspace git pull ./output -r https://github.com/owner/repo",
6683
- "$ xano workspace git pull ./output -r https://github.com/owner/repo/tree/main/path/to/dir",
6684
- "$ xano workspace git pull ./output -r https://github.com/owner/repo/blob/main/path/to/file.xs",
6685
- "$ xano workspace git pull ./output -r git@github.com:owner/repo.git",
6686
- "$ xano workspace git pull ./output -r https://github.com/owner/private-repo -t ghp_xxx",
6687
- "$ xano workspace git pull ./output -r https://gitlab.com/owner/repo/-/tree/master/path",
6688
- "$ xano workspace git pull ./output -r https://gitlab.com/owner/repo -b main"
6682
+ "$ xano tenant license get my-tenant\nLicense saved to license_my-tenant.yaml\n",
6683
+ "$ xano tenant license get my-tenant --file ./my-license.yaml\nLicense saved to my-license.yaml\n",
6684
+ "$ xano tenant license get my-tenant --view",
6685
+ "$ xano tenant license get my-tenant -o json"
6689
6686
  ],
6690
6687
  "flags": {
6691
6688
  "profile": {
@@ -6707,37 +6704,40 @@
6707
6704
  "allowNo": false,
6708
6705
  "type": "boolean"
6709
6706
  },
6710
- "branch": {
6711
- "char": "b",
6712
- "description": "Branch, tag, or ref to fetch (defaults to repository default branch)",
6713
- "name": "branch",
6707
+ "file": {
6708
+ "char": "f",
6709
+ "description": "Output file path (default: license_<tenant_name>.yaml)",
6710
+ "name": "file",
6714
6711
  "required": false,
6715
6712
  "hasDynamicHelp": false,
6716
6713
  "multiple": false,
6717
6714
  "type": "option"
6718
6715
  },
6719
- "path": {
6720
- "description": "Subdirectory within the repo to import from",
6721
- "name": "path",
6716
+ "output": {
6717
+ "char": "o",
6718
+ "description": "Output format",
6719
+ "name": "output",
6722
6720
  "required": false,
6721
+ "default": "summary",
6723
6722
  "hasDynamicHelp": false,
6724
6723
  "multiple": false,
6724
+ "options": [
6725
+ "summary",
6726
+ "json"
6727
+ ],
6725
6728
  "type": "option"
6726
6729
  },
6727
- "repo": {
6728
- "char": "r",
6729
- "description": "Git repository URL (GitHub HTTPS, SSH, or any git URL)",
6730
- "name": "repo",
6731
- "required": true,
6732
- "hasDynamicHelp": false,
6733
- "multiple": false,
6734
- "type": "option"
6730
+ "view": {
6731
+ "description": "Print license to stdout instead of saving to file",
6732
+ "name": "view",
6733
+ "required": false,
6734
+ "allowNo": false,
6735
+ "type": "boolean"
6735
6736
  },
6736
- "token": {
6737
- "char": "t",
6738
- "description": "Personal access token for private repos (falls back to GITHUB_TOKEN env var)",
6739
- "env": "GITHUB_TOKEN",
6740
- "name": "token",
6737
+ "workspace": {
6738
+ "char": "w",
6739
+ "description": "Workspace ID (uses profile workspace if not provided)",
6740
+ "name": "workspace",
6741
6741
  "required": false,
6742
6742
  "hasDynamicHelp": false,
6743
6743
  "multiple": false,
@@ -6746,7 +6746,7 @@
6746
6746
  },
6747
6747
  "hasDynamicHelp": false,
6748
6748
  "hiddenAliases": [],
6749
- "id": "workspace:git:pull",
6749
+ "id": "tenant:license:get",
6750
6750
  "pluginAlias": "@xano/cli",
6751
6751
  "pluginName": "@xano/cli",
6752
6752
  "pluginType": "core",
@@ -6756,9 +6756,9 @@
6756
6756
  "relativePath": [
6757
6757
  "dist",
6758
6758
  "commands",
6759
- "workspace",
6760
- "git",
6761
- "pull",
6759
+ "tenant",
6760
+ "license",
6761
+ "get",
6762
6762
  "index.js"
6763
6763
  ]
6764
6764
  },
@@ -6874,21 +6874,24 @@
6874
6874
  "index.js"
6875
6875
  ]
6876
6876
  },
6877
- "tenant:license:get": {
6877
+ "workspace:git:pull": {
6878
6878
  "aliases": [],
6879
6879
  "args": {
6880
- "tenant_name": {
6881
- "description": "Tenant name",
6882
- "name": "tenant_name",
6880
+ "directory": {
6881
+ "description": "Output directory for imported files",
6882
+ "name": "directory",
6883
6883
  "required": true
6884
6884
  }
6885
6885
  },
6886
- "description": "Get the license for a tenant",
6886
+ "description": "Pull XanoScript files from a git repository into a local directory",
6887
6887
  "examples": [
6888
- "$ xano tenant license get my-tenant\nLicense saved to license_my-tenant.yaml\n",
6889
- "$ xano tenant license get my-tenant --file ./my-license.yaml\nLicense saved to my-license.yaml\n",
6890
- "$ xano tenant license get my-tenant --view",
6891
- "$ xano tenant license get my-tenant -o json"
6888
+ "$ xano workspace git pull ./output -r https://github.com/owner/repo",
6889
+ "$ xano workspace git pull ./output -r https://github.com/owner/repo/tree/main/path/to/dir",
6890
+ "$ xano workspace git pull ./output -r https://github.com/owner/repo/blob/main/path/to/file.xs",
6891
+ "$ xano workspace git pull ./output -r git@github.com:owner/repo.git",
6892
+ "$ xano workspace git pull ./output -r https://github.com/owner/private-repo -t ghp_xxx",
6893
+ "$ xano workspace git pull ./output -r https://gitlab.com/owner/repo/-/tree/master/path",
6894
+ "$ xano workspace git pull ./output -r https://gitlab.com/owner/repo -b main"
6892
6895
  ],
6893
6896
  "flags": {
6894
6897
  "profile": {
@@ -6910,40 +6913,37 @@
6910
6913
  "allowNo": false,
6911
6914
  "type": "boolean"
6912
6915
  },
6913
- "file": {
6914
- "char": "f",
6915
- "description": "Output file path (default: license_<tenant_name>.yaml)",
6916
- "name": "file",
6916
+ "branch": {
6917
+ "char": "b",
6918
+ "description": "Branch, tag, or ref to fetch (defaults to repository default branch)",
6919
+ "name": "branch",
6917
6920
  "required": false,
6918
6921
  "hasDynamicHelp": false,
6919
6922
  "multiple": false,
6920
6923
  "type": "option"
6921
6924
  },
6922
- "output": {
6923
- "char": "o",
6924
- "description": "Output format",
6925
- "name": "output",
6925
+ "path": {
6926
+ "description": "Subdirectory within the repo to import from",
6927
+ "name": "path",
6926
6928
  "required": false,
6927
- "default": "summary",
6928
6929
  "hasDynamicHelp": false,
6929
6930
  "multiple": false,
6930
- "options": [
6931
- "summary",
6932
- "json"
6933
- ],
6934
6931
  "type": "option"
6935
6932
  },
6936
- "view": {
6937
- "description": "Print license to stdout instead of saving to file",
6938
- "name": "view",
6939
- "required": false,
6940
- "allowNo": false,
6941
- "type": "boolean"
6933
+ "repo": {
6934
+ "char": "r",
6935
+ "description": "Git repository URL (GitHub HTTPS, SSH, or any git URL)",
6936
+ "name": "repo",
6937
+ "required": true,
6938
+ "hasDynamicHelp": false,
6939
+ "multiple": false,
6940
+ "type": "option"
6942
6941
  },
6943
- "workspace": {
6944
- "char": "w",
6945
- "description": "Workspace ID (uses profile workspace if not provided)",
6946
- "name": "workspace",
6942
+ "token": {
6943
+ "char": "t",
6944
+ "description": "Personal access token for private repos (falls back to GITHUB_TOKEN env var)",
6945
+ "env": "GITHUB_TOKEN",
6946
+ "name": "token",
6947
6947
  "required": false,
6948
6948
  "hasDynamicHelp": false,
6949
6949
  "multiple": false,
@@ -6952,7 +6952,7 @@
6952
6952
  },
6953
6953
  "hasDynamicHelp": false,
6954
6954
  "hiddenAliases": [],
6955
- "id": "tenant:license:get",
6955
+ "id": "workspace:git:pull",
6956
6956
  "pluginAlias": "@xano/cli",
6957
6957
  "pluginName": "@xano/cli",
6958
6958
  "pluginType": "core",
@@ -6962,13 +6962,13 @@
6962
6962
  "relativePath": [
6963
6963
  "dist",
6964
6964
  "commands",
6965
- "tenant",
6966
- "license",
6967
- "get",
6965
+ "workspace",
6966
+ "git",
6967
+ "pull",
6968
6968
  "index.js"
6969
6969
  ]
6970
6970
  },
6971
- "tenant:cluster:license:set": {
6971
+ "tenant:cluster:license:get": {
6972
6972
  "aliases": [],
6973
6973
  "args": {
6974
6974
  "cluster_id": {
@@ -6977,12 +6977,12 @@
6977
6977
  "required": true
6978
6978
  }
6979
6979
  },
6980
- "description": "Set/update the license (kubeconfig) for a tenant cluster",
6980
+ "description": "Get the license (kubeconfig) for a tenant cluster",
6981
6981
  "examples": [
6982
- "$ xano tenant cluster license set 1\nReads from kubeconfig-1.yaml\n",
6983
- "$ xano tenant cluster license set 1 --file ./kubeconfig.yaml",
6984
- "$ xano tenant cluster license set 1 --value 'apiVersion: v1...'",
6985
- "$ xano tenant cluster license set 1 -o json"
6982
+ "$ xano tenant cluster license get 1\nLicense saved to kubeconfig-1.yaml\n",
6983
+ "$ xano tenant cluster license get 1 --file ./my-kubeconfig.yaml\nLicense saved to my-kubeconfig.yaml\n",
6984
+ "$ xano tenant cluster license get 1 --view",
6985
+ "$ xano tenant cluster license get 1 -o json"
6986
6986
  ],
6987
6987
  "flags": {
6988
6988
  "profile": {
@@ -7004,22 +7004,9 @@
7004
7004
  "allowNo": false,
7005
7005
  "type": "boolean"
7006
7006
  },
7007
- "clean": {
7008
- "description": "Remove the source file after successful upload",
7009
- "exclusive": [
7010
- "value"
7011
- ],
7012
- "name": "clean",
7013
- "required": false,
7014
- "allowNo": false,
7015
- "type": "boolean"
7016
- },
7017
7007
  "file": {
7018
7008
  "char": "f",
7019
- "description": "Path to kubeconfig file (default: kubeconfig_<cluster_id>.yaml)",
7020
- "exclusive": [
7021
- "value"
7022
- ],
7009
+ "description": "Output file path (default: kubeconfig_<cluster_id>.yaml)",
7023
7010
  "name": "file",
7024
7011
  "required": false,
7025
7012
  "hasDynamicHelp": false,
@@ -7040,22 +7027,17 @@
7040
7027
  ],
7041
7028
  "type": "option"
7042
7029
  },
7043
- "value": {
7044
- "description": "Inline kubeconfig YAML value",
7045
- "exclusive": [
7046
- "file",
7047
- "clean"
7048
- ],
7049
- "name": "value",
7030
+ "view": {
7031
+ "description": "Print license to stdout instead of saving to file",
7032
+ "name": "view",
7050
7033
  "required": false,
7051
- "hasDynamicHelp": false,
7052
- "multiple": false,
7053
- "type": "option"
7034
+ "allowNo": false,
7035
+ "type": "boolean"
7054
7036
  }
7055
7037
  },
7056
7038
  "hasDynamicHelp": false,
7057
7039
  "hiddenAliases": [],
7058
- "id": "tenant:cluster:license:set",
7040
+ "id": "tenant:cluster:license:get",
7059
7041
  "pluginAlias": "@xano/cli",
7060
7042
  "pluginName": "@xano/cli",
7061
7043
  "pluginType": "core",
@@ -7068,11 +7050,11 @@
7068
7050
  "tenant",
7069
7051
  "cluster",
7070
7052
  "license",
7071
- "set",
7053
+ "get",
7072
7054
  "index.js"
7073
7055
  ]
7074
7056
  },
7075
- "tenant:cluster:license:get": {
7057
+ "tenant:cluster:license:set": {
7076
7058
  "aliases": [],
7077
7059
  "args": {
7078
7060
  "cluster_id": {
@@ -7081,12 +7063,12 @@
7081
7063
  "required": true
7082
7064
  }
7083
7065
  },
7084
- "description": "Get the license (kubeconfig) for a tenant cluster",
7066
+ "description": "Set/update the license (kubeconfig) for a tenant cluster",
7085
7067
  "examples": [
7086
- "$ xano tenant cluster license get 1\nLicense saved to kubeconfig-1.yaml\n",
7087
- "$ xano tenant cluster license get 1 --file ./my-kubeconfig.yaml\nLicense saved to my-kubeconfig.yaml\n",
7088
- "$ xano tenant cluster license get 1 --view",
7089
- "$ xano tenant cluster license get 1 -o json"
7068
+ "$ xano tenant cluster license set 1\nReads from kubeconfig-1.yaml\n",
7069
+ "$ xano tenant cluster license set 1 --file ./kubeconfig.yaml",
7070
+ "$ xano tenant cluster license set 1 --value 'apiVersion: v1...'",
7071
+ "$ xano tenant cluster license set 1 -o json"
7090
7072
  ],
7091
7073
  "flags": {
7092
7074
  "profile": {
@@ -7108,9 +7090,22 @@
7108
7090
  "allowNo": false,
7109
7091
  "type": "boolean"
7110
7092
  },
7093
+ "clean": {
7094
+ "description": "Remove the source file after successful upload",
7095
+ "exclusive": [
7096
+ "value"
7097
+ ],
7098
+ "name": "clean",
7099
+ "required": false,
7100
+ "allowNo": false,
7101
+ "type": "boolean"
7102
+ },
7111
7103
  "file": {
7112
7104
  "char": "f",
7113
- "description": "Output file path (default: kubeconfig_<cluster_id>.yaml)",
7105
+ "description": "Path to kubeconfig file (default: kubeconfig_<cluster_id>.yaml)",
7106
+ "exclusive": [
7107
+ "value"
7108
+ ],
7114
7109
  "name": "file",
7115
7110
  "required": false,
7116
7111
  "hasDynamicHelp": false,
@@ -7131,17 +7126,22 @@
7131
7126
  ],
7132
7127
  "type": "option"
7133
7128
  },
7134
- "view": {
7135
- "description": "Print license to stdout instead of saving to file",
7136
- "name": "view",
7129
+ "value": {
7130
+ "description": "Inline kubeconfig YAML value",
7131
+ "exclusive": [
7132
+ "file",
7133
+ "clean"
7134
+ ],
7135
+ "name": "value",
7137
7136
  "required": false,
7138
- "allowNo": false,
7139
- "type": "boolean"
7137
+ "hasDynamicHelp": false,
7138
+ "multiple": false,
7139
+ "type": "option"
7140
7140
  }
7141
7141
  },
7142
7142
  "hasDynamicHelp": false,
7143
7143
  "hiddenAliases": [],
7144
- "id": "tenant:cluster:license:get",
7144
+ "id": "tenant:cluster:license:set",
7145
7145
  "pluginAlias": "@xano/cli",
7146
7146
  "pluginName": "@xano/cli",
7147
7147
  "pluginType": "core",
@@ -7154,10 +7154,10 @@
7154
7154
  "tenant",
7155
7155
  "cluster",
7156
7156
  "license",
7157
- "get",
7157
+ "set",
7158
7158
  "index.js"
7159
7159
  ]
7160
7160
  }
7161
7161
  },
7162
- "version": "0.0.87"
7162
+ "version": "0.0.88"
7163
7163
  }