@xano/cli 0.0.89 → 0.0.90

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.
@@ -394,20 +394,20 @@
394
394
  "index.js"
395
395
  ]
396
396
  },
397
- "branch:get": {
397
+ "branch:list": {
398
398
  "aliases": [],
399
399
  "args": {
400
- "branch_label": {
401
- "description": "Branch label (e.g., \"v1\", \"dev\")",
402
- "name": "branch_label",
403
- "required": true
400
+ "workspace_id": {
401
+ "description": "Workspace ID (uses profile workspace if not provided)",
402
+ "name": "workspace_id",
403
+ "required": false
404
404
  }
405
405
  },
406
- "description": "Get details for a specific branch",
406
+ "description": "List all branches in a workspace",
407
407
  "examples": [
408
- "$ xano branch get v1\nBranch: v1 (live)\n Created: 2024-01-15\n",
409
- "$ xano branch get dev -w 123\nBranch: dev\n Created: 2024-02-01\n",
410
- "$ 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"
408
+ "$ xano branch list\nAvailable branches:\n - v1 (live)\n - dev\n - staging\n",
409
+ "$ xano branch list 123\nAvailable branches:\n - v1 (live)\n - feature-auth\n",
410
+ "$ xano branch list --output json\n[\n {\n \"created_at\": \"2024-01-15T10:30:00Z\",\n \"label\": \"v1\",\n \"backup\": false,\n \"live\": true\n }\n]\n"
411
411
  ],
412
412
  "flags": {
413
413
  "profile": {
@@ -442,20 +442,11 @@
442
442
  "json"
443
443
  ],
444
444
  "type": "option"
445
- },
446
- "workspace": {
447
- "char": "w",
448
- "description": "Workspace ID (uses profile workspace if not provided)",
449
- "name": "workspace",
450
- "required": false,
451
- "hasDynamicHelp": false,
452
- "multiple": false,
453
- "type": "option"
454
445
  }
455
446
  },
456
447
  "hasDynamicHelp": false,
457
448
  "hiddenAliases": [],
458
- "id": "branch:get",
449
+ "id": "branch:list",
459
450
  "pluginAlias": "@xano/cli",
460
451
  "pluginName": "@xano/cli",
461
452
  "pluginType": "core",
@@ -466,7 +457,7 @@
466
457
  "dist",
467
458
  "commands",
468
459
  "branch",
469
- "get",
460
+ "list",
470
461
  "index.js"
471
462
  ]
472
463
  },
@@ -779,100 +770,6 @@
779
770
  "index.js"
780
771
  ]
781
772
  },
782
- "function:get": {
783
- "aliases": [],
784
- "args": {
785
- "function_id": {
786
- "description": "Function ID",
787
- "name": "function_id",
788
- "required": false
789
- }
790
- },
791
- "description": "Get a specific function from a workspace",
792
- "examples": [
793
- "$ xano function:get 145 -w 40\nFunction: yo (ID: 145)\nCreated: 2025-10-10 10:30:00\nDescription: Sample function\n",
794
- "$ xano function:get 145 --profile production\nFunction: yo (ID: 145)\nCreated: 2025-10-10 10:30:00\n",
795
- "$ xano function:get\nSelect a function:\n ❯ yo (ID: 145) - Sample function\n another-func (ID: 146)\n",
796
- "$ xano function:get 145 -w 40 --output json\n{\n \"id\": 145,\n \"name\": \"yo\",\n \"description\": \"Sample function\"\n}\n",
797
- "$ xano function:get 145 -p staging -o json --include_draft\n{\n \"id\": 145,\n \"name\": \"yo\"\n}\n",
798
- "$ xano function:get 145 -p staging -o xs\nfunction yo {\n input {\n }\n stack {\n }\n response = null\n}\n"
799
- ],
800
- "flags": {
801
- "profile": {
802
- "char": "p",
803
- "description": "Profile to use (uses default profile if not specified)",
804
- "env": "XANO_PROFILE",
805
- "name": "profile",
806
- "required": false,
807
- "hasDynamicHelp": false,
808
- "multiple": false,
809
- "type": "option"
810
- },
811
- "verbose": {
812
- "char": "v",
813
- "description": "Show detailed request/response information",
814
- "env": "XANO_VERBOSE",
815
- "name": "verbose",
816
- "required": false,
817
- "allowNo": false,
818
- "type": "boolean"
819
- },
820
- "include_draft": {
821
- "description": "Include draft version",
822
- "name": "include_draft",
823
- "required": false,
824
- "allowNo": false,
825
- "type": "boolean"
826
- },
827
- "include_xanoscript": {
828
- "description": "Include XanoScript in response",
829
- "name": "include_xanoscript",
830
- "required": false,
831
- "allowNo": false,
832
- "type": "boolean"
833
- },
834
- "output": {
835
- "char": "o",
836
- "description": "Output format",
837
- "name": "output",
838
- "required": false,
839
- "default": "summary",
840
- "hasDynamicHelp": false,
841
- "multiple": false,
842
- "options": [
843
- "summary",
844
- "json",
845
- "xs"
846
- ],
847
- "type": "option"
848
- },
849
- "workspace": {
850
- "char": "w",
851
- "description": "Workspace ID (optional if set in profile)",
852
- "name": "workspace",
853
- "required": false,
854
- "hasDynamicHelp": false,
855
- "multiple": false,
856
- "type": "option"
857
- }
858
- },
859
- "hasDynamicHelp": false,
860
- "hiddenAliases": [],
861
- "id": "function:get",
862
- "pluginAlias": "@xano/cli",
863
- "pluginName": "@xano/cli",
864
- "pluginType": "core",
865
- "strict": true,
866
- "enableJsonFlag": false,
867
- "isESM": true,
868
- "relativePath": [
869
- "dist",
870
- "commands",
871
- "function",
872
- "get",
873
- "index.js"
874
- ]
875
- },
876
773
  "function:list": {
877
774
  "aliases": [],
878
775
  "args": {},
@@ -998,19 +895,23 @@
998
895
  "index.js"
999
896
  ]
1000
897
  },
1001
- "platform:get": {
898
+ "function:get": {
1002
899
  "aliases": [],
1003
900
  "args": {
1004
- "platform_id": {
1005
- "description": "Platform ID to retrieve",
1006
- "name": "platform_id",
1007
- "required": true
901
+ "function_id": {
902
+ "description": "Function ID",
903
+ "name": "function_id",
904
+ "required": false
1008
905
  }
1009
906
  },
1010
- "description": "Get details of a specific platform",
907
+ "description": "Get a specific function from a workspace",
1011
908
  "examples": [
1012
- "$ 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",
1013
- "$ xano platform get 23629 -o json"
909
+ "$ xano function:get 145 -w 40\nFunction: yo (ID: 145)\nCreated: 2025-10-10 10:30:00\nDescription: Sample function\n",
910
+ "$ xano function:get 145 --profile production\nFunction: yo (ID: 145)\nCreated: 2025-10-10 10:30:00\n",
911
+ "$ xano function:get\nSelect a function:\n ❯ yo (ID: 145) - Sample function\n another-func (ID: 146)\n",
912
+ "$ xano function:get 145 -w 40 --output json\n{\n \"id\": 145,\n \"name\": \"yo\",\n \"description\": \"Sample function\"\n}\n",
913
+ "$ xano function:get 145 -p staging -o json --include_draft\n{\n \"id\": 145,\n \"name\": \"yo\"\n}\n",
914
+ "$ xano function:get 145 -p staging -o xs\nfunction yo {\n input {\n }\n stack {\n }\n response = null\n}\n"
1014
915
  ],
1015
916
  "flags": {
1016
917
  "profile": {
@@ -1032,62 +933,16 @@
1032
933
  "allowNo": false,
1033
934
  "type": "boolean"
1034
935
  },
1035
- "output": {
1036
- "char": "o",
1037
- "description": "Output format",
1038
- "name": "output",
1039
- "required": false,
1040
- "default": "summary",
1041
- "hasDynamicHelp": false,
1042
- "multiple": false,
1043
- "options": [
1044
- "summary",
1045
- "json"
1046
- ],
1047
- "type": "option"
1048
- }
1049
- },
1050
- "hasDynamicHelp": false,
1051
- "hiddenAliases": [],
1052
- "id": "platform:get",
1053
- "pluginAlias": "@xano/cli",
1054
- "pluginName": "@xano/cli",
1055
- "pluginType": "core",
1056
- "strict": true,
1057
- "enableJsonFlag": false,
1058
- "isESM": true,
1059
- "relativePath": [
1060
- "dist",
1061
- "commands",
1062
- "platform",
1063
- "get",
1064
- "index.js"
1065
- ]
1066
- },
1067
- "platform:list": {
1068
- "aliases": [],
1069
- "args": {},
1070
- "description": "List all platforms",
1071
- "examples": [
1072
- "$ xano platform list\nPlatforms:\n ID: 23629 | Helm: 0.1.356 | Created: 2025-11-28\n",
1073
- "$ xano platform list --output json"
1074
- ],
1075
- "flags": {
1076
- "profile": {
1077
- "char": "p",
1078
- "description": "Profile to use (uses default profile if not specified)",
1079
- "env": "XANO_PROFILE",
1080
- "name": "profile",
936
+ "include_draft": {
937
+ "description": "Include draft version",
938
+ "name": "include_draft",
1081
939
  "required": false,
1082
- "hasDynamicHelp": false,
1083
- "multiple": false,
1084
- "type": "option"
940
+ "allowNo": false,
941
+ "type": "boolean"
1085
942
  },
1086
- "verbose": {
1087
- "char": "v",
1088
- "description": "Show detailed request/response information",
1089
- "env": "XANO_VERBOSE",
1090
- "name": "verbose",
943
+ "include_xanoscript": {
944
+ "description": "Include XanoScript in response",
945
+ "name": "include_xanoscript",
1091
946
  "required": false,
1092
947
  "allowNo": false,
1093
948
  "type": "boolean"
@@ -1102,14 +957,24 @@
1102
957
  "multiple": false,
1103
958
  "options": [
1104
959
  "summary",
1105
- "json"
960
+ "json",
961
+ "xs"
1106
962
  ],
1107
963
  "type": "option"
964
+ },
965
+ "workspace": {
966
+ "char": "w",
967
+ "description": "Workspace ID (optional if set in profile)",
968
+ "name": "workspace",
969
+ "required": false,
970
+ "hasDynamicHelp": false,
971
+ "multiple": false,
972
+ "type": "option"
1108
973
  }
1109
974
  },
1110
975
  "hasDynamicHelp": false,
1111
976
  "hiddenAliases": [],
1112
- "id": "platform:list",
977
+ "id": "function:get",
1113
978
  "pluginAlias": "@xano/cli",
1114
979
  "pluginName": "@xano/cli",
1115
980
  "pluginType": "core",
@@ -1119,8 +984,8 @@
1119
984
  "relativePath": [
1120
985
  "dist",
1121
986
  "commands",
1122
- "platform",
1123
- "list",
987
+ "function",
988
+ "get",
1124
989
  "index.js"
1125
990
  ]
1126
991
  },
@@ -1220,24 +1085,19 @@
1220
1085
  "index.js"
1221
1086
  ]
1222
1087
  },
1223
- "profile:edit": {
1088
+ "platform:get": {
1224
1089
  "aliases": [],
1225
1090
  "args": {
1226
- "name": {
1227
- "description": "Profile name to edit (uses default profile if not specified)",
1228
- "name": "name",
1229
- "required": false
1091
+ "platform_id": {
1092
+ "description": "Platform ID to retrieve",
1093
+ "name": "platform_id",
1094
+ "required": true
1230
1095
  }
1231
1096
  },
1232
- "description": "Edit an existing profile configuration",
1097
+ "description": "Get details of a specific platform",
1233
1098
  "examples": [
1234
- "$ xano profile:edit --access_token new_token123\nProfile 'default' updated successfully at ~/.xano/credentials.yaml\n",
1235
- "$ xano profile:edit production --access_token new_token123\nProfile 'production' updated successfully at ~/.xano/credentials.yaml\n",
1236
- "$ xano profile:edit staging -i https://new-staging-instance.xano.com -t new_token456\nProfile 'staging' updated successfully at ~/.xano/credentials.yaml\n",
1237
- "$ xano profile:edit -b new-branch\nProfile 'default' updated successfully at ~/.xano/credentials.yaml\n",
1238
- "$ xano profile:edit --remove-branch\nProfile 'default' updated successfully at ~/.xano/credentials.yaml\n",
1239
- "$ xano profile:edit --insecure\nProfile 'default' updated successfully at ~/.xano/credentials.yaml\n",
1240
- "$ xano profile:edit --remove-insecure\nProfile 'default' updated successfully at ~/.xano/credentials.yaml\n"
1099
+ "$ 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",
1100
+ "$ xano platform get 23629 -o json"
1241
1101
  ],
1242
1102
  "flags": {
1243
1103
  "profile": {
@@ -1259,14 +1119,187 @@
1259
1119
  "allowNo": false,
1260
1120
  "type": "boolean"
1261
1121
  },
1262
- "access_token": {
1263
- "char": "t",
1264
- "description": "Update access token for the Xano Metadata API",
1265
- "name": "access_token",
1122
+ "output": {
1123
+ "char": "o",
1124
+ "description": "Output format",
1125
+ "name": "output",
1266
1126
  "required": false,
1127
+ "default": "summary",
1267
1128
  "hasDynamicHelp": false,
1268
1129
  "multiple": false,
1269
- "type": "option"
1130
+ "options": [
1131
+ "summary",
1132
+ "json"
1133
+ ],
1134
+ "type": "option"
1135
+ }
1136
+ },
1137
+ "hasDynamicHelp": false,
1138
+ "hiddenAliases": [],
1139
+ "id": "platform:get",
1140
+ "pluginAlias": "@xano/cli",
1141
+ "pluginName": "@xano/cli",
1142
+ "pluginType": "core",
1143
+ "strict": true,
1144
+ "enableJsonFlag": false,
1145
+ "isESM": true,
1146
+ "relativePath": [
1147
+ "dist",
1148
+ "commands",
1149
+ "platform",
1150
+ "get",
1151
+ "index.js"
1152
+ ]
1153
+ },
1154
+ "platform:list": {
1155
+ "aliases": [],
1156
+ "args": {},
1157
+ "description": "List all platforms",
1158
+ "examples": [
1159
+ "$ xano platform list\nPlatforms:\n ID: 23629 | Helm: 0.1.356 | Created: 2025-11-28\n",
1160
+ "$ xano platform list --output json"
1161
+ ],
1162
+ "flags": {
1163
+ "profile": {
1164
+ "char": "p",
1165
+ "description": "Profile to use (uses default profile if not specified)",
1166
+ "env": "XANO_PROFILE",
1167
+ "name": "profile",
1168
+ "required": false,
1169
+ "hasDynamicHelp": false,
1170
+ "multiple": false,
1171
+ "type": "option"
1172
+ },
1173
+ "verbose": {
1174
+ "char": "v",
1175
+ "description": "Show detailed request/response information",
1176
+ "env": "XANO_VERBOSE",
1177
+ "name": "verbose",
1178
+ "required": false,
1179
+ "allowNo": false,
1180
+ "type": "boolean"
1181
+ },
1182
+ "output": {
1183
+ "char": "o",
1184
+ "description": "Output format",
1185
+ "name": "output",
1186
+ "required": false,
1187
+ "default": "summary",
1188
+ "hasDynamicHelp": false,
1189
+ "multiple": false,
1190
+ "options": [
1191
+ "summary",
1192
+ "json"
1193
+ ],
1194
+ "type": "option"
1195
+ }
1196
+ },
1197
+ "hasDynamicHelp": false,
1198
+ "hiddenAliases": [],
1199
+ "id": "platform:list",
1200
+ "pluginAlias": "@xano/cli",
1201
+ "pluginName": "@xano/cli",
1202
+ "pluginType": "core",
1203
+ "strict": true,
1204
+ "enableJsonFlag": false,
1205
+ "isESM": true,
1206
+ "relativePath": [
1207
+ "dist",
1208
+ "commands",
1209
+ "platform",
1210
+ "list",
1211
+ "index.js"
1212
+ ]
1213
+ },
1214
+ "profile:delete": {
1215
+ "aliases": [],
1216
+ "args": {
1217
+ "name": {
1218
+ "description": "Profile name to delete",
1219
+ "name": "name",
1220
+ "required": true
1221
+ }
1222
+ },
1223
+ "description": "Delete a profile configuration",
1224
+ "examples": [
1225
+ "$ xano profile:delete old-profile\nAre you sure you want to delete profile 'old-profile'? (y/n): y\nProfile 'old-profile' deleted successfully from ~/.xano/credentials.yaml\n",
1226
+ "$ xano profile:delete old-profile --force\nProfile 'old-profile' deleted successfully from ~/.xano/credentials.yaml\n",
1227
+ "$ xano profile:delete old-profile -f\nProfile 'old-profile' deleted successfully from ~/.xano/credentials.yaml\n"
1228
+ ],
1229
+ "flags": {
1230
+ "force": {
1231
+ "char": "f",
1232
+ "description": "Skip confirmation prompt",
1233
+ "name": "force",
1234
+ "required": false,
1235
+ "allowNo": false,
1236
+ "type": "boolean"
1237
+ }
1238
+ },
1239
+ "hasDynamicHelp": false,
1240
+ "hiddenAliases": [],
1241
+ "id": "profile:delete",
1242
+ "pluginAlias": "@xano/cli",
1243
+ "pluginName": "@xano/cli",
1244
+ "pluginType": "core",
1245
+ "strict": true,
1246
+ "enableJsonFlag": false,
1247
+ "isESM": true,
1248
+ "relativePath": [
1249
+ "dist",
1250
+ "commands",
1251
+ "profile",
1252
+ "delete",
1253
+ "index.js"
1254
+ ]
1255
+ },
1256
+ "profile:edit": {
1257
+ "aliases": [],
1258
+ "args": {
1259
+ "name": {
1260
+ "description": "Profile name to edit (uses default profile if not specified)",
1261
+ "name": "name",
1262
+ "required": false
1263
+ }
1264
+ },
1265
+ "description": "Edit an existing profile configuration",
1266
+ "examples": [
1267
+ "$ xano profile:edit --access_token new_token123\nProfile 'default' updated successfully at ~/.xano/credentials.yaml\n",
1268
+ "$ xano profile:edit production --access_token new_token123\nProfile 'production' updated successfully at ~/.xano/credentials.yaml\n",
1269
+ "$ xano profile:edit staging -i https://new-staging-instance.xano.com -t new_token456\nProfile 'staging' updated successfully at ~/.xano/credentials.yaml\n",
1270
+ "$ xano profile:edit -b new-branch\nProfile 'default' updated successfully at ~/.xano/credentials.yaml\n",
1271
+ "$ xano profile:edit --remove-branch\nProfile 'default' updated successfully at ~/.xano/credentials.yaml\n",
1272
+ "$ xano profile:edit --insecure\nProfile 'default' updated successfully at ~/.xano/credentials.yaml\n",
1273
+ "$ xano profile:edit --remove-insecure\nProfile 'default' updated successfully at ~/.xano/credentials.yaml\n"
1274
+ ],
1275
+ "flags": {
1276
+ "profile": {
1277
+ "char": "p",
1278
+ "description": "Profile to use (uses default profile if not specified)",
1279
+ "env": "XANO_PROFILE",
1280
+ "name": "profile",
1281
+ "required": false,
1282
+ "hasDynamicHelp": false,
1283
+ "multiple": false,
1284
+ "type": "option"
1285
+ },
1286
+ "verbose": {
1287
+ "char": "v",
1288
+ "description": "Show detailed request/response information",
1289
+ "env": "XANO_VERBOSE",
1290
+ "name": "verbose",
1291
+ "required": false,
1292
+ "allowNo": false,
1293
+ "type": "boolean"
1294
+ },
1295
+ "access_token": {
1296
+ "char": "t",
1297
+ "description": "Update access token for the Xano Metadata API",
1298
+ "name": "access_token",
1299
+ "required": false,
1300
+ "hasDynamicHelp": false,
1301
+ "multiple": false,
1302
+ "type": "option"
1270
1303
  },
1271
1304
  "account_origin": {
1272
1305
  "char": "a",
@@ -1350,48 +1383,6 @@
1350
1383
  "index.js"
1351
1384
  ]
1352
1385
  },
1353
- "profile:delete": {
1354
- "aliases": [],
1355
- "args": {
1356
- "name": {
1357
- "description": "Profile name to delete",
1358
- "name": "name",
1359
- "required": true
1360
- }
1361
- },
1362
- "description": "Delete a profile configuration",
1363
- "examples": [
1364
- "$ xano profile:delete old-profile\nAre you sure you want to delete profile 'old-profile'? (y/n): y\nProfile 'old-profile' deleted successfully from ~/.xano/credentials.yaml\n",
1365
- "$ xano profile:delete old-profile --force\nProfile 'old-profile' deleted successfully from ~/.xano/credentials.yaml\n",
1366
- "$ xano profile:delete old-profile -f\nProfile 'old-profile' deleted successfully from ~/.xano/credentials.yaml\n"
1367
- ],
1368
- "flags": {
1369
- "force": {
1370
- "char": "f",
1371
- "description": "Skip confirmation prompt",
1372
- "name": "force",
1373
- "required": false,
1374
- "allowNo": false,
1375
- "type": "boolean"
1376
- }
1377
- },
1378
- "hasDynamicHelp": false,
1379
- "hiddenAliases": [],
1380
- "id": "profile:delete",
1381
- "pluginAlias": "@xano/cli",
1382
- "pluginName": "@xano/cli",
1383
- "pluginType": "core",
1384
- "strict": true,
1385
- "enableJsonFlag": false,
1386
- "isESM": true,
1387
- "relativePath": [
1388
- "dist",
1389
- "commands",
1390
- "profile",
1391
- "delete",
1392
- "index.js"
1393
- ]
1394
- },
1395
1386
  "profile:get": {
1396
1387
  "aliases": [],
1397
1388
  "args": {},
@@ -1453,37 +1444,6 @@
1453
1444
  "index.js"
1454
1445
  ]
1455
1446
  },
1456
- "profile:set": {
1457
- "aliases": [],
1458
- "args": {
1459
- "name": {
1460
- "description": "Profile name to set as default",
1461
- "name": "name",
1462
- "required": true
1463
- }
1464
- },
1465
- "description": "Set the default profile",
1466
- "examples": [
1467
- "$ xano profile set production\nDefault profile set to 'production'\n"
1468
- ],
1469
- "flags": {},
1470
- "hasDynamicHelp": false,
1471
- "hiddenAliases": [],
1472
- "id": "profile:set",
1473
- "pluginAlias": "@xano/cli",
1474
- "pluginName": "@xano/cli",
1475
- "pluginType": "core",
1476
- "strict": true,
1477
- "enableJsonFlag": false,
1478
- "isESM": true,
1479
- "relativePath": [
1480
- "dist",
1481
- "commands",
1482
- "profile",
1483
- "set",
1484
- "index.js"
1485
- ]
1486
- },
1487
1447
  "profile:me": {
1488
1448
  "aliases": [],
1489
1449
  "args": {},
@@ -1545,59 +1505,23 @@
1545
1505
  "index.js"
1546
1506
  ]
1547
1507
  },
1548
- "branch:list": {
1508
+ "profile:set": {
1549
1509
  "aliases": [],
1550
1510
  "args": {
1551
- "workspace_id": {
1552
- "description": "Workspace ID (uses profile workspace if not provided)",
1553
- "name": "workspace_id",
1554
- "required": false
1511
+ "name": {
1512
+ "description": "Profile name to set as default",
1513
+ "name": "name",
1514
+ "required": true
1555
1515
  }
1556
1516
  },
1557
- "description": "List all branches in a workspace",
1517
+ "description": "Set the default profile",
1558
1518
  "examples": [
1559
- "$ xano branch list\nAvailable branches:\n - v1 (live)\n - dev\n - staging\n",
1560
- "$ xano branch list 123\nAvailable branches:\n - v1 (live)\n - feature-auth\n",
1561
- "$ 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"
1519
+ "$ xano profile set production\nDefault profile set to 'production'\n"
1562
1520
  ],
1563
- "flags": {
1564
- "profile": {
1565
- "char": "p",
1566
- "description": "Profile to use (uses default profile if not specified)",
1567
- "env": "XANO_PROFILE",
1568
- "name": "profile",
1569
- "required": false,
1570
- "hasDynamicHelp": false,
1571
- "multiple": false,
1572
- "type": "option"
1573
- },
1574
- "verbose": {
1575
- "char": "v",
1576
- "description": "Show detailed request/response information",
1577
- "env": "XANO_VERBOSE",
1578
- "name": "verbose",
1579
- "required": false,
1580
- "allowNo": false,
1581
- "type": "boolean"
1582
- },
1583
- "output": {
1584
- "char": "o",
1585
- "description": "Output format",
1586
- "name": "output",
1587
- "required": false,
1588
- "default": "summary",
1589
- "hasDynamicHelp": false,
1590
- "multiple": false,
1591
- "options": [
1592
- "summary",
1593
- "json"
1594
- ],
1595
- "type": "option"
1596
- }
1597
- },
1521
+ "flags": {},
1598
1522
  "hasDynamicHelp": false,
1599
1523
  "hiddenAliases": [],
1600
- "id": "branch:list",
1524
+ "id": "profile:set",
1601
1525
  "pluginAlias": "@xano/cli",
1602
1526
  "pluginName": "@xano/cli",
1603
1527
  "pluginType": "core",
@@ -1607,8 +1531,34 @@
1607
1531
  "relativePath": [
1608
1532
  "dist",
1609
1533
  "commands",
1610
- "branch",
1611
- "list",
1534
+ "profile",
1535
+ "set",
1536
+ "index.js"
1537
+ ]
1538
+ },
1539
+ "profile:token": {
1540
+ "aliases": [],
1541
+ "args": {},
1542
+ "description": "Print the access token for the default profile",
1543
+ "examples": [
1544
+ "$ xano profile:token\neyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...\n",
1545
+ "$ xano profile:token | pbcopy\n# Copies the token to clipboard on macOS\n"
1546
+ ],
1547
+ "flags": {},
1548
+ "hasDynamicHelp": false,
1549
+ "hiddenAliases": [],
1550
+ "id": "profile:token",
1551
+ "pluginAlias": "@xano/cli",
1552
+ "pluginName": "@xano/cli",
1553
+ "pluginType": "core",
1554
+ "strict": true,
1555
+ "enableJsonFlag": false,
1556
+ "isESM": true,
1557
+ "relativePath": [
1558
+ "dist",
1559
+ "commands",
1560
+ "profile",
1561
+ "token",
1612
1562
  "index.js"
1613
1563
  ]
1614
1564
  },
@@ -1691,45 +1641,13 @@
1691
1641
  "index.js"
1692
1642
  ]
1693
1643
  },
1694
- "profile:token": {
1644
+ "release:create": {
1695
1645
  "aliases": [],
1696
1646
  "args": {},
1697
- "description": "Print the access token for the default profile",
1698
- "examples": [
1699
- "$ xano profile:token\neyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...\n",
1700
- "$ xano profile:token | pbcopy\n# Copies the token to clipboard on macOS\n"
1701
- ],
1702
- "flags": {},
1703
- "hasDynamicHelp": false,
1704
- "hiddenAliases": [],
1705
- "id": "profile:token",
1706
- "pluginAlias": "@xano/cli",
1707
- "pluginName": "@xano/cli",
1708
- "pluginType": "core",
1709
- "strict": true,
1710
- "enableJsonFlag": false,
1711
- "isESM": true,
1712
- "relativePath": [
1713
- "dist",
1714
- "commands",
1715
- "profile",
1716
- "token",
1717
- "index.js"
1718
- ]
1719
- },
1720
- "release:edit": {
1721
- "aliases": [],
1722
- "args": {
1723
- "release_name": {
1724
- "description": "Release name to edit",
1725
- "name": "release_name",
1726
- "required": true
1727
- }
1728
- },
1729
- "description": "Edit an existing release",
1647
+ "description": "Create a new release in a workspace",
1730
1648
  "examples": [
1731
- "$ xano release edit v1.0 --name \"v1.0-final\" --description \"Updated description\"\nUpdated release: v1.0-final - ID: 10\n",
1732
- "$ xano release edit v1.0 --description \"New description\" -o json"
1649
+ "$ xano release create --name \"v1.0\" --branch main\nCreated release: v1.0 - ID: 10\n",
1650
+ "$ xano release create --name \"v1.1-hotfix\" --branch main --hotfix --description \"Critical fix\" -o json"
1733
1651
  ],
1734
1652
  "flags": {
1735
1653
  "profile": {
@@ -1751,20 +1669,36 @@
1751
1669
  "allowNo": false,
1752
1670
  "type": "boolean"
1753
1671
  },
1672
+ "branch": {
1673
+ "char": "b",
1674
+ "description": "Branch to create the release from",
1675
+ "name": "branch",
1676
+ "required": true,
1677
+ "hasDynamicHelp": false,
1678
+ "multiple": false,
1679
+ "type": "option"
1680
+ },
1754
1681
  "description": {
1755
1682
  "char": "d",
1756
- "description": "New description",
1683
+ "description": "Release description",
1757
1684
  "name": "description",
1758
1685
  "required": false,
1759
1686
  "hasDynamicHelp": false,
1760
1687
  "multiple": false,
1761
1688
  "type": "option"
1762
1689
  },
1690
+ "hotfix": {
1691
+ "description": "Mark as a hotfix release",
1692
+ "name": "hotfix",
1693
+ "required": false,
1694
+ "allowNo": false,
1695
+ "type": "boolean"
1696
+ },
1763
1697
  "name": {
1764
1698
  "char": "n",
1765
- "description": "New name for the release",
1699
+ "description": "Name for the release",
1766
1700
  "name": "name",
1767
- "required": false,
1701
+ "required": true,
1768
1702
  "hasDynamicHelp": false,
1769
1703
  "multiple": false,
1770
1704
  "type": "option"
@@ -1783,6 +1717,14 @@
1783
1717
  ],
1784
1718
  "type": "option"
1785
1719
  },
1720
+ "table-ids": {
1721
+ "description": "Comma-separated table IDs to include",
1722
+ "name": "table-ids",
1723
+ "required": false,
1724
+ "hasDynamicHelp": false,
1725
+ "multiple": false,
1726
+ "type": "option"
1727
+ },
1786
1728
  "workspace": {
1787
1729
  "char": "w",
1788
1730
  "description": "Workspace ID (uses profile workspace if not provided)",
@@ -1795,7 +1737,7 @@
1795
1737
  },
1796
1738
  "hasDynamicHelp": false,
1797
1739
  "hiddenAliases": [],
1798
- "id": "release:edit",
1740
+ "id": "release:create",
1799
1741
  "pluginAlias": "@xano/cli",
1800
1742
  "pluginName": "@xano/cli",
1801
1743
  "pluginType": "core",
@@ -1806,24 +1748,24 @@
1806
1748
  "dist",
1807
1749
  "commands",
1808
1750
  "release",
1809
- "edit",
1751
+ "create",
1810
1752
  "index.js"
1811
1753
  ]
1812
1754
  },
1813
- "release:delete": {
1755
+ "branch:get": {
1814
1756
  "aliases": [],
1815
1757
  "args": {
1816
- "release_name": {
1817
- "description": "Release name to delete",
1818
- "name": "release_name",
1758
+ "branch_label": {
1759
+ "description": "Branch label (e.g., \"v1\", \"dev\")",
1760
+ "name": "branch_label",
1819
1761
  "required": true
1820
1762
  }
1821
1763
  },
1822
- "description": "Delete a release permanently. This action cannot be undone.",
1764
+ "description": "Get details for a specific branch",
1823
1765
  "examples": [
1824
- "$ 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",
1825
- "$ xano release delete v1.0 --force\nDeleted release 'v1.0'\n",
1826
- "$ xano release delete v1.0 -f -o json"
1766
+ "$ xano branch get v1\nBranch: v1 (live)\n Created: 2024-01-15\n",
1767
+ "$ xano branch get dev -w 123\nBranch: dev\n Created: 2024-02-01\n",
1768
+ "$ 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"
1827
1769
  ],
1828
1770
  "flags": {
1829
1771
  "profile": {
@@ -1845,14 +1787,6 @@
1845
1787
  "allowNo": false,
1846
1788
  "type": "boolean"
1847
1789
  },
1848
- "force": {
1849
- "char": "f",
1850
- "description": "Skip confirmation prompt",
1851
- "name": "force",
1852
- "required": false,
1853
- "allowNo": false,
1854
- "type": "boolean"
1855
- },
1856
1790
  "output": {
1857
1791
  "char": "o",
1858
1792
  "description": "Output format",
@@ -1879,7 +1813,7 @@
1879
1813
  },
1880
1814
  "hasDynamicHelp": false,
1881
1815
  "hiddenAliases": [],
1882
- "id": "release:delete",
1816
+ "id": "branch:get",
1883
1817
  "pluginAlias": "@xano/cli",
1884
1818
  "pluginName": "@xano/cli",
1885
1819
  "pluginType": "core",
@@ -1889,25 +1823,25 @@
1889
1823
  "relativePath": [
1890
1824
  "dist",
1891
1825
  "commands",
1892
- "release",
1893
- "delete",
1826
+ "branch",
1827
+ "get",
1894
1828
  "index.js"
1895
1829
  ]
1896
1830
  },
1897
- "release:export": {
1831
+ "release:delete": {
1898
1832
  "aliases": [],
1899
1833
  "args": {
1900
1834
  "release_name": {
1901
- "description": "Release name to export",
1835
+ "description": "Release name to delete",
1902
1836
  "name": "release_name",
1903
1837
  "required": true
1904
1838
  }
1905
1839
  },
1906
- "description": "Export (download) a release to a local file",
1840
+ "description": "Delete a release permanently. This action cannot be undone.",
1907
1841
  "examples": [
1908
- "$ xano release export v1.0\nDownloaded release 'v1.0' to ./release-v1.0.tar.gz\n",
1909
- "$ xano release export v1.0 --output ./backups/my-release.tar.gz",
1910
- "$ xano release export v1.0 -o json"
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"
1911
1845
  ],
1912
1846
  "flags": {
1913
1847
  "profile": {
@@ -1929,10 +1863,18 @@
1929
1863
  "allowNo": false,
1930
1864
  "type": "boolean"
1931
1865
  },
1932
- "format": {
1866
+ "force": {
1867
+ "char": "f",
1868
+ "description": "Skip confirmation prompt",
1869
+ "name": "force",
1870
+ "required": false,
1871
+ "allowNo": false,
1872
+ "type": "boolean"
1873
+ },
1874
+ "output": {
1933
1875
  "char": "o",
1934
1876
  "description": "Output format",
1935
- "name": "format",
1877
+ "name": "output",
1936
1878
  "required": false,
1937
1879
  "default": "summary",
1938
1880
  "hasDynamicHelp": false,
@@ -1943,14 +1885,6 @@
1943
1885
  ],
1944
1886
  "type": "option"
1945
1887
  },
1946
- "output": {
1947
- "description": "Output file path (defaults to ./release-{name}.tar.gz)",
1948
- "name": "output",
1949
- "required": false,
1950
- "hasDynamicHelp": false,
1951
- "multiple": false,
1952
- "type": "option"
1953
- },
1954
1888
  "workspace": {
1955
1889
  "char": "w",
1956
1890
  "description": "Workspace ID (uses profile workspace if not provided)",
@@ -1963,7 +1897,7 @@
1963
1897
  },
1964
1898
  "hasDynamicHelp": false,
1965
1899
  "hiddenAliases": [],
1966
- "id": "release:export",
1900
+ "id": "release:delete",
1967
1901
  "pluginAlias": "@xano/cli",
1968
1902
  "pluginName": "@xano/cli",
1969
1903
  "pluginType": "core",
@@ -1974,23 +1908,23 @@
1974
1908
  "dist",
1975
1909
  "commands",
1976
1910
  "release",
1977
- "export",
1911
+ "delete",
1978
1912
  "index.js"
1979
1913
  ]
1980
1914
  },
1981
- "release:get": {
1915
+ "release:edit": {
1982
1916
  "aliases": [],
1983
1917
  "args": {
1984
1918
  "release_name": {
1985
- "description": "Release name to retrieve",
1919
+ "description": "Release name to edit",
1986
1920
  "name": "release_name",
1987
1921
  "required": true
1988
1922
  }
1989
1923
  },
1990
- "description": "Get details of a specific release",
1924
+ "description": "Edit an existing release",
1991
1925
  "examples": [
1992
- "$ xano release get v1.0\nRelease: v1.0 - ID: 10\n Branch: main\n Description: Initial release\n Hotfix: false\n",
1993
- "$ xano release get v1.0 -w 5 -o json"
1926
+ "$ xano release edit v1.0 --name \"v1.0-final\" --description \"Updated description\"\nUpdated release: v1.0-final - ID: 10\n",
1927
+ "$ xano release edit v1.0 --description \"New description\" -o json"
1994
1928
  ],
1995
1929
  "flags": {
1996
1930
  "profile": {
@@ -2012,6 +1946,24 @@
2012
1946
  "allowNo": false,
2013
1947
  "type": "boolean"
2014
1948
  },
1949
+ "description": {
1950
+ "char": "d",
1951
+ "description": "New description",
1952
+ "name": "description",
1953
+ "required": false,
1954
+ "hasDynamicHelp": false,
1955
+ "multiple": false,
1956
+ "type": "option"
1957
+ },
1958
+ "name": {
1959
+ "char": "n",
1960
+ "description": "New name for the release",
1961
+ "name": "name",
1962
+ "required": false,
1963
+ "hasDynamicHelp": false,
1964
+ "multiple": false,
1965
+ "type": "option"
1966
+ },
2015
1967
  "output": {
2016
1968
  "char": "o",
2017
1969
  "description": "Output format",
@@ -2038,7 +1990,7 @@
2038
1990
  },
2039
1991
  "hasDynamicHelp": false,
2040
1992
  "hiddenAliases": [],
2041
- "id": "release:get",
1993
+ "id": "release:edit",
2042
1994
  "pluginAlias": "@xano/cli",
2043
1995
  "pluginName": "@xano/cli",
2044
1996
  "pluginType": "core",
@@ -2049,17 +2001,24 @@
2049
2001
  "dist",
2050
2002
  "commands",
2051
2003
  "release",
2052
- "get",
2004
+ "edit",
2053
2005
  "index.js"
2054
2006
  ]
2055
2007
  },
2056
- "release:import": {
2008
+ "release:export": {
2057
2009
  "aliases": [],
2058
- "args": {},
2059
- "description": "Import a release file into a workspace",
2010
+ "args": {
2011
+ "release_name": {
2012
+ "description": "Release name to export",
2013
+ "name": "release_name",
2014
+ "required": true
2015
+ }
2016
+ },
2017
+ "description": "Export (download) a release to a local file",
2060
2018
  "examples": [
2061
- "$ xano release import --file ./my-release.tar.gz\nImported release as #15\n",
2062
- "$ xano release import --file ./my-release.tar.gz -o json"
2019
+ "$ xano release export v1.0\nDownloaded release 'v1.0' to ./release-v1.0.tar.gz\n",
2020
+ "$ xano release export v1.0 --output ./backups/my-release.tar.gz",
2021
+ "$ xano release export v1.0 -o json"
2063
2022
  ],
2064
2023
  "flags": {
2065
2024
  "profile": {
@@ -2081,19 +2040,10 @@
2081
2040
  "allowNo": false,
2082
2041
  "type": "boolean"
2083
2042
  },
2084
- "file": {
2085
- "char": "f",
2086
- "description": "Path to the release file (.tar.gz)",
2087
- "name": "file",
2088
- "required": true,
2089
- "hasDynamicHelp": false,
2090
- "multiple": false,
2091
- "type": "option"
2092
- },
2093
- "output": {
2043
+ "format": {
2094
2044
  "char": "o",
2095
2045
  "description": "Output format",
2096
- "name": "output",
2046
+ "name": "format",
2097
2047
  "required": false,
2098
2048
  "default": "summary",
2099
2049
  "hasDynamicHelp": false,
@@ -2104,6 +2054,14 @@
2104
2054
  ],
2105
2055
  "type": "option"
2106
2056
  },
2057
+ "output": {
2058
+ "description": "Output file path (defaults to ./release-{name}.tar.gz)",
2059
+ "name": "output",
2060
+ "required": false,
2061
+ "hasDynamicHelp": false,
2062
+ "multiple": false,
2063
+ "type": "option"
2064
+ },
2107
2065
  "workspace": {
2108
2066
  "char": "w",
2109
2067
  "description": "Workspace ID (uses profile workspace if not provided)",
@@ -2116,7 +2074,7 @@
2116
2074
  },
2117
2075
  "hasDynamicHelp": false,
2118
2076
  "hiddenAliases": [],
2119
- "id": "release:import",
2077
+ "id": "release:export",
2120
2078
  "pluginAlias": "@xano/cli",
2121
2079
  "pluginName": "@xano/cli",
2122
2080
  "pluginType": "core",
@@ -2127,17 +2085,17 @@
2127
2085
  "dist",
2128
2086
  "commands",
2129
2087
  "release",
2130
- "import",
2088
+ "export",
2131
2089
  "index.js"
2132
2090
  ]
2133
2091
  },
2134
- "release:list": {
2092
+ "release:import": {
2135
2093
  "aliases": [],
2136
2094
  "args": {},
2137
- "description": "List all releases in a workspace",
2095
+ "description": "Import a release file into a workspace",
2138
2096
  "examples": [
2139
- "$ xano release list\nReleases in workspace 5:\n - v1.0 (ID: 10) - main\n - v1.1-hotfix (ID: 11) - main [hotfix]\n",
2140
- "$ xano release list -w 5 --output json"
2097
+ "$ xano release import --file ./my-release.tar.gz\nImported release as #15\n",
2098
+ "$ xano release import --file ./my-release.tar.gz -o json"
2141
2099
  ],
2142
2100
  "flags": {
2143
2101
  "profile": {
@@ -2159,6 +2117,15 @@
2159
2117
  "allowNo": false,
2160
2118
  "type": "boolean"
2161
2119
  },
2120
+ "file": {
2121
+ "char": "f",
2122
+ "description": "Path to the release file (.tar.gz)",
2123
+ "name": "file",
2124
+ "required": true,
2125
+ "hasDynamicHelp": false,
2126
+ "multiple": false,
2127
+ "type": "option"
2128
+ },
2162
2129
  "output": {
2163
2130
  "char": "o",
2164
2131
  "description": "Output format",
@@ -2185,7 +2152,7 @@
2185
2152
  },
2186
2153
  "hasDynamicHelp": false,
2187
2154
  "hiddenAliases": [],
2188
- "id": "release:list",
2155
+ "id": "release:import",
2189
2156
  "pluginAlias": "@xano/cli",
2190
2157
  "pluginName": "@xano/cli",
2191
2158
  "pluginType": "core",
@@ -2196,26 +2163,17 @@
2196
2163
  "dist",
2197
2164
  "commands",
2198
2165
  "release",
2199
- "list",
2166
+ "import",
2200
2167
  "index.js"
2201
2168
  ]
2202
2169
  },
2203
- "release:push": {
2170
+ "release:list": {
2204
2171
  "aliases": [],
2205
- "args": {
2206
- "directory": {
2207
- "description": "Directory containing .xs documents to create the release from",
2208
- "name": "directory",
2209
- "required": true
2210
- }
2211
- },
2212
- "description": "Create a new release from local XanoScript files via the multidoc endpoint",
2172
+ "args": {},
2173
+ "description": "List all releases in a workspace",
2213
2174
  "examples": [
2214
- "$ xano release push ./my-release -n \"v1.0\"\nCreated release: v1.0 - ID: 10\n",
2215
- "$ xano release push ./output -n \"v2.0\" -w 40 -d \"Major update\"\nCreated release: v2.0 - ID: 15\n",
2216
- "$ xano release push ./backup -n \"v1.1-hotfix\" --hotfix --profile production\nCreated release: v1.1-hotfix - ID: 20\n",
2217
- "$ xano release push ./my-release -n \"v1.0\" --no-records --no-env\nCreate release from schema only, skip records and environment variables\n",
2218
- "$ xano release push ./my-release -n \"v1.0\" -o json\nOutput release details as JSON\n"
2175
+ "$ xano release list\nReleases in workspace 5:\n - v1.0 (ID: 10) - main\n - v1.1-hotfix (ID: 11) - main [hotfix]\n",
2176
+ "$ xano release list -w 5 --output json"
2219
2177
  ],
2220
2178
  "flags": {
2221
2179
  "profile": {
@@ -2237,39 +2195,6 @@
2237
2195
  "allowNo": false,
2238
2196
  "type": "boolean"
2239
2197
  },
2240
- "description": {
2241
- "char": "d",
2242
- "description": "Release description",
2243
- "name": "description",
2244
- "required": false,
2245
- "default": "",
2246
- "hasDynamicHelp": false,
2247
- "multiple": false,
2248
- "type": "option"
2249
- },
2250
- "env": {
2251
- "description": "Include environment variables (default: true, use --no-env to exclude)",
2252
- "name": "env",
2253
- "required": false,
2254
- "allowNo": true,
2255
- "type": "boolean"
2256
- },
2257
- "hotfix": {
2258
- "description": "Mark as a hotfix release",
2259
- "name": "hotfix",
2260
- "required": false,
2261
- "allowNo": false,
2262
- "type": "boolean"
2263
- },
2264
- "name": {
2265
- "char": "n",
2266
- "description": "Name for the release",
2267
- "name": "name",
2268
- "required": true,
2269
- "hasDynamicHelp": false,
2270
- "multiple": false,
2271
- "type": "option"
2272
- },
2273
2198
  "output": {
2274
2199
  "char": "o",
2275
2200
  "description": "Output format",
@@ -2284,16 +2209,9 @@
2284
2209
  ],
2285
2210
  "type": "option"
2286
2211
  },
2287
- "records": {
2288
- "description": "Include records (default: true, use --no-records to exclude)",
2289
- "name": "records",
2290
- "required": false,
2291
- "allowNo": true,
2292
- "type": "boolean"
2293
- },
2294
2212
  "workspace": {
2295
2213
  "char": "w",
2296
- "description": "Workspace ID (optional if set in profile)",
2214
+ "description": "Workspace ID (uses profile workspace if not provided)",
2297
2215
  "name": "workspace",
2298
2216
  "required": false,
2299
2217
  "hasDynamicHelp": false,
@@ -2303,7 +2221,7 @@
2303
2221
  },
2304
2222
  "hasDynamicHelp": false,
2305
2223
  "hiddenAliases": [],
2306
- "id": "release:push",
2224
+ "id": "release:list",
2307
2225
  "pluginAlias": "@xano/cli",
2308
2226
  "pluginName": "@xano/cli",
2309
2227
  "pluginType": "core",
@@ -2314,7 +2232,7 @@
2314
2232
  "dist",
2315
2233
  "commands",
2316
2234
  "release",
2317
- "push",
2235
+ "list",
2318
2236
  "index.js"
2319
2237
  ]
2320
2238
  },
@@ -2403,15 +2321,22 @@
2403
2321
  "index.js"
2404
2322
  ]
2405
2323
  },
2406
- "static_host:list": {
2324
+ "release:push": {
2407
2325
  "aliases": [],
2408
- "args": {},
2409
- "description": "List all static hosts in a workspace from the Xano Metadata API",
2326
+ "args": {
2327
+ "directory": {
2328
+ "description": "Directory containing .xs documents to create the release from",
2329
+ "name": "directory",
2330
+ "required": true
2331
+ }
2332
+ },
2333
+ "description": "Create a new release from local XanoScript files via the multidoc endpoint",
2410
2334
  "examples": [
2411
- "$ xano static_host:list -w 40\nAvailable static hosts:\n - my-static-host (ID: 1)\n - another-host (ID: 2)\n",
2412
- "$ xano static_host:list --profile production\nAvailable static hosts:\n - my-static-host (ID: 1)\n - another-host (ID: 2)\n",
2413
- "$ xano static_host:list -w 40 --output json\n[\n {\n \"id\": 1,\n \"name\": \"my-static-host\",\n \"domain\": \"example.com\"\n }\n]\n",
2414
- "$ xano static_host:list -p staging -o json --page 2\n[\n {\n \"id\": 3,\n \"name\": \"static-host-3\"\n }\n]\n"
2335
+ "$ xano release push ./my-release -n \"v1.0\"\nCreated release: v1.0 - ID: 10\n",
2336
+ "$ xano release push ./output -n \"v2.0\" -w 40 -d \"Major update\"\nCreated release: v2.0 - ID: 15\n",
2337
+ "$ xano release push ./backup -n \"v1.1-hotfix\" --hotfix --profile production\nCreated release: v1.1-hotfix - ID: 20\n",
2338
+ "$ xano release push ./my-release -n \"v1.0\" --no-records --no-env\nCreate release from schema only, skip records and environment variables\n",
2339
+ "$ xano release push ./my-release -n \"v1.0\" -o json\nOutput release details as JSON\n"
2415
2340
  ],
2416
2341
  "flags": {
2417
2342
  "profile": {
@@ -2433,6 +2358,39 @@
2433
2358
  "allowNo": false,
2434
2359
  "type": "boolean"
2435
2360
  },
2361
+ "description": {
2362
+ "char": "d",
2363
+ "description": "Release description",
2364
+ "name": "description",
2365
+ "required": false,
2366
+ "default": "",
2367
+ "hasDynamicHelp": false,
2368
+ "multiple": false,
2369
+ "type": "option"
2370
+ },
2371
+ "env": {
2372
+ "description": "Include environment variables (default: true, use --no-env to exclude)",
2373
+ "name": "env",
2374
+ "required": false,
2375
+ "allowNo": true,
2376
+ "type": "boolean"
2377
+ },
2378
+ "hotfix": {
2379
+ "description": "Mark as a hotfix release",
2380
+ "name": "hotfix",
2381
+ "required": false,
2382
+ "allowNo": false,
2383
+ "type": "boolean"
2384
+ },
2385
+ "name": {
2386
+ "char": "n",
2387
+ "description": "Name for the release",
2388
+ "name": "name",
2389
+ "required": true,
2390
+ "hasDynamicHelp": false,
2391
+ "multiple": false,
2392
+ "type": "option"
2393
+ },
2436
2394
  "output": {
2437
2395
  "char": "o",
2438
2396
  "description": "Output format",
@@ -2447,23 +2405,12 @@
2447
2405
  ],
2448
2406
  "type": "option"
2449
2407
  },
2450
- "page": {
2451
- "description": "Page number for pagination",
2452
- "name": "page",
2453
- "required": false,
2454
- "default": 1,
2455
- "hasDynamicHelp": false,
2456
- "multiple": false,
2457
- "type": "option"
2458
- },
2459
- "per_page": {
2460
- "description": "Number of results per page",
2461
- "name": "per_page",
2408
+ "records": {
2409
+ "description": "Include records (default: true, use --no-records to exclude)",
2410
+ "name": "records",
2462
2411
  "required": false,
2463
- "default": 50,
2464
- "hasDynamicHelp": false,
2465
- "multiple": false,
2466
- "type": "option"
2412
+ "allowNo": true,
2413
+ "type": "boolean"
2467
2414
  },
2468
2415
  "workspace": {
2469
2416
  "char": "w",
@@ -2477,7 +2424,7 @@
2477
2424
  },
2478
2425
  "hasDynamicHelp": false,
2479
2426
  "hiddenAliases": [],
2480
- "id": "static_host:list",
2427
+ "id": "release:push",
2481
2428
  "pluginAlias": "@xano/cli",
2482
2429
  "pluginName": "@xano/cli",
2483
2430
  "pluginType": "core",
@@ -2487,18 +2434,20 @@
2487
2434
  "relativePath": [
2488
2435
  "dist",
2489
2436
  "commands",
2490
- "static_host",
2491
- "list",
2437
+ "release",
2438
+ "push",
2492
2439
  "index.js"
2493
2440
  ]
2494
2441
  },
2495
- "release:create": {
2442
+ "static_host:list": {
2496
2443
  "aliases": [],
2497
2444
  "args": {},
2498
- "description": "Create a new release in a workspace",
2445
+ "description": "List all static hosts in a workspace from the Xano Metadata API",
2499
2446
  "examples": [
2500
- "$ xano release create --name \"v1.0\" --branch main\nCreated release: v1.0 - ID: 10\n",
2501
- "$ xano release create --name \"v1.1-hotfix\" --branch main --hotfix --description \"Critical fix\" -o json"
2447
+ "$ xano static_host:list -w 40\nAvailable static hosts:\n - my-static-host (ID: 1)\n - another-host (ID: 2)\n",
2448
+ "$ xano static_host:list --profile production\nAvailable static hosts:\n - my-static-host (ID: 1)\n - another-host (ID: 2)\n",
2449
+ "$ xano static_host:list -w 40 --output json\n[\n {\n \"id\": 1,\n \"name\": \"my-static-host\",\n \"domain\": \"example.com\"\n }\n]\n",
2450
+ "$ xano static_host:list -p staging -o json --page 2\n[\n {\n \"id\": 3,\n \"name\": \"static-host-3\"\n }\n]\n"
2502
2451
  ],
2503
2452
  "flags": {
2504
2453
  "profile": {
@@ -2520,40 +2469,6 @@
2520
2469
  "allowNo": false,
2521
2470
  "type": "boolean"
2522
2471
  },
2523
- "branch": {
2524
- "char": "b",
2525
- "description": "Branch to create the release from",
2526
- "name": "branch",
2527
- "required": true,
2528
- "hasDynamicHelp": false,
2529
- "multiple": false,
2530
- "type": "option"
2531
- },
2532
- "description": {
2533
- "char": "d",
2534
- "description": "Release description",
2535
- "name": "description",
2536
- "required": false,
2537
- "hasDynamicHelp": false,
2538
- "multiple": false,
2539
- "type": "option"
2540
- },
2541
- "hotfix": {
2542
- "description": "Mark as a hotfix release",
2543
- "name": "hotfix",
2544
- "required": false,
2545
- "allowNo": false,
2546
- "type": "boolean"
2547
- },
2548
- "name": {
2549
- "char": "n",
2550
- "description": "Name for the release",
2551
- "name": "name",
2552
- "required": true,
2553
- "hasDynamicHelp": false,
2554
- "multiple": false,
2555
- "type": "option"
2556
- },
2557
2472
  "output": {
2558
2473
  "char": "o",
2559
2474
  "description": "Output format",
@@ -2568,17 +2483,27 @@
2568
2483
  ],
2569
2484
  "type": "option"
2570
2485
  },
2571
- "table-ids": {
2572
- "description": "Comma-separated table IDs to include",
2573
- "name": "table-ids",
2486
+ "page": {
2487
+ "description": "Page number for pagination",
2488
+ "name": "page",
2489
+ "required": false,
2490
+ "default": 1,
2491
+ "hasDynamicHelp": false,
2492
+ "multiple": false,
2493
+ "type": "option"
2494
+ },
2495
+ "per_page": {
2496
+ "description": "Number of results per page",
2497
+ "name": "per_page",
2574
2498
  "required": false,
2499
+ "default": 50,
2575
2500
  "hasDynamicHelp": false,
2576
2501
  "multiple": false,
2577
2502
  "type": "option"
2578
2503
  },
2579
2504
  "workspace": {
2580
2505
  "char": "w",
2581
- "description": "Workspace ID (uses profile workspace if not provided)",
2506
+ "description": "Workspace ID (optional if set in profile)",
2582
2507
  "name": "workspace",
2583
2508
  "required": false,
2584
2509
  "hasDynamicHelp": false,
@@ -2588,7 +2513,7 @@
2588
2513
  },
2589
2514
  "hasDynamicHelp": false,
2590
2515
  "hiddenAliases": [],
2591
- "id": "release:create",
2516
+ "id": "static_host:list",
2592
2517
  "pluginAlias": "@xano/cli",
2593
2518
  "pluginName": "@xano/cli",
2594
2519
  "pluginType": "core",
@@ -2598,25 +2523,24 @@
2598
2523
  "relativePath": [
2599
2524
  "dist",
2600
2525
  "commands",
2601
- "release",
2602
- "create",
2526
+ "static_host",
2527
+ "list",
2603
2528
  "index.js"
2604
2529
  ]
2605
2530
  },
2606
- "tenant:delete": {
2531
+ "release:get": {
2607
2532
  "aliases": [],
2608
2533
  "args": {
2609
- "tenant_name": {
2610
- "description": "Tenant name to delete",
2611
- "name": "tenant_name",
2534
+ "release_name": {
2535
+ "description": "Release name to retrieve",
2536
+ "name": "release_name",
2612
2537
  "required": true
2613
2538
  }
2614
2539
  },
2615
- "description": "Delete a tenant permanently. This destroys all associated infrastructure and cannot be undone.",
2540
+ "description": "Get details of a specific release",
2616
2541
  "examples": [
2617
- "$ xano tenant delete t1234-abcd-xyz1\nAre you sure you want to delete tenant t1234-abcd-xyz1? This action cannot be undone. (y/N) y\nDeleted tenant t1234-abcd-xyz1\n",
2618
- "$ xano tenant delete t1234-abcd-xyz1 --force\nDeleted tenant t1234-abcd-xyz1\n",
2619
- "$ xano tenant delete t1234-abcd-xyz1 -f -o json"
2542
+ "$ xano release get v1.0\nRelease: v1.0 - ID: 10\n Branch: main\n Description: Initial release\n Hotfix: false\n",
2543
+ "$ xano release get v1.0 -w 5 -o json"
2620
2544
  ],
2621
2545
  "flags": {
2622
2546
  "profile": {
@@ -2638,14 +2562,6 @@
2638
2562
  "allowNo": false,
2639
2563
  "type": "boolean"
2640
2564
  },
2641
- "force": {
2642
- "char": "f",
2643
- "description": "Skip confirmation prompt",
2644
- "name": "force",
2645
- "required": false,
2646
- "allowNo": false,
2647
- "type": "boolean"
2648
- },
2649
2565
  "output": {
2650
2566
  "char": "o",
2651
2567
  "description": "Output format",
@@ -2672,7 +2588,7 @@
2672
2588
  },
2673
2589
  "hasDynamicHelp": false,
2674
2590
  "hiddenAliases": [],
2675
- "id": "tenant:delete",
2591
+ "id": "release:get",
2676
2592
  "pluginAlias": "@xano/cli",
2677
2593
  "pluginName": "@xano/cli",
2678
2594
  "pluginType": "core",
@@ -2682,8 +2598,8 @@
2682
2598
  "relativePath": [
2683
2599
  "dist",
2684
2600
  "commands",
2685
- "tenant",
2686
- "delete",
2601
+ "release",
2602
+ "get",
2687
2603
  "index.js"
2688
2604
  ]
2689
2605
  },
@@ -2827,7 +2743,7 @@
2827
2743
  "index.js"
2828
2744
  ]
2829
2745
  },
2830
- "tenant:deploy_platform": {
2746
+ "tenant:deploy_release": {
2831
2747
  "aliases": [],
2832
2748
  "args": {
2833
2749
  "tenant_name": {
@@ -2836,11 +2752,10 @@
2836
2752
  "required": true
2837
2753
  }
2838
2754
  },
2839
- "description": "Deploy a platform version to a tenant",
2755
+ "description": "Deploy a release to a tenant",
2840
2756
  "examples": [
2841
- "$ xano tenant deploy_platform t1234-abcd-xyz1 --platform_id 5\nDeployed platform 5 to tenant: My Tenant (my-tenant)\n",
2842
- "$ xano tenant deploy_platform t1234-abcd-xyz1 --platform_id 5 -o json",
2843
- "$ xano tenant deploy_platform t1234-abcd-xyz1 --platform_id 5 --license ./license.yaml"
2757
+ "$ xano tenant deploy_release t1234-abcd-xyz1 --release v1.0\nDeployed release \"v1.0\" to tenant: My Tenant (my-tenant)\n",
2758
+ "$ xano tenant deploy_release t1234-abcd-xyz1 --release v1.0 -o json"
2844
2759
  ],
2845
2760
  "flags": {
2846
2761
  "profile": {
@@ -2862,15 +2777,6 @@
2862
2777
  "allowNo": false,
2863
2778
  "type": "boolean"
2864
2779
  },
2865
- "license": {
2866
- "char": "l",
2867
- "description": "Path to a license override file to apply after deploy",
2868
- "name": "license",
2869
- "required": false,
2870
- "hasDynamicHelp": false,
2871
- "multiple": false,
2872
- "type": "option"
2873
- },
2874
2780
  "output": {
2875
2781
  "char": "o",
2876
2782
  "description": "Output format",
@@ -2885,9 +2791,10 @@
2885
2791
  ],
2886
2792
  "type": "option"
2887
2793
  },
2888
- "platform_id": {
2889
- "description": "Platform ID to deploy",
2890
- "name": "platform_id",
2794
+ "release": {
2795
+ "char": "r",
2796
+ "description": "Release name to deploy",
2797
+ "name": "release",
2891
2798
  "required": true,
2892
2799
  "hasDynamicHelp": false,
2893
2800
  "multiple": false,
@@ -2905,7 +2812,7 @@
2905
2812
  },
2906
2813
  "hasDynamicHelp": false,
2907
2814
  "hiddenAliases": [],
2908
- "id": "tenant:deploy_platform",
2815
+ "id": "tenant:deploy_release",
2909
2816
  "pluginAlias": "@xano/cli",
2910
2817
  "pluginName": "@xano/cli",
2911
2818
  "pluginType": "core",
@@ -2916,23 +2823,23 @@
2916
2823
  "dist",
2917
2824
  "commands",
2918
2825
  "tenant",
2919
- "deploy_platform",
2826
+ "deploy_release",
2920
2827
  "index.js"
2921
2828
  ]
2922
2829
  },
2923
- "tenant:get": {
2830
+ "tenant:edit": {
2924
2831
  "aliases": [],
2925
2832
  "args": {
2926
2833
  "tenant_name": {
2927
- "description": "Tenant name to retrieve",
2834
+ "description": "Tenant name to edit",
2928
2835
  "name": "tenant_name",
2929
2836
  "required": true
2930
2837
  }
2931
2838
  },
2932
- "description": "Get details of a specific tenant",
2839
+ "description": "Edit an existing tenant",
2933
2840
  "examples": [
2934
- "$ 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",
2935
- "$ xano tenant get t1234-abcd-xyz1 -w 5 -o json"
2841
+ "$ xano tenant edit t1234-abcd-xyz1 --display \"New Name\" --description \"Updated description\"\nUpdated tenant: New Name (my-tenant) - ID: 42\n",
2842
+ "$ xano tenant edit t1234-abcd-xyz1 --no-tasks --no-ingress -o json"
2936
2843
  ],
2937
2844
  "flags": {
2938
2845
  "profile": {
@@ -2954,6 +2861,38 @@
2954
2861
  "allowNo": false,
2955
2862
  "type": "boolean"
2956
2863
  },
2864
+ "description": {
2865
+ "char": "d",
2866
+ "description": "New description",
2867
+ "name": "description",
2868
+ "required": false,
2869
+ "hasDynamicHelp": false,
2870
+ "multiple": false,
2871
+ "type": "option"
2872
+ },
2873
+ "display": {
2874
+ "description": "New display name",
2875
+ "name": "display",
2876
+ "required": false,
2877
+ "hasDynamicHelp": false,
2878
+ "multiple": false,
2879
+ "type": "option"
2880
+ },
2881
+ "domain": {
2882
+ "description": "Custom domain",
2883
+ "name": "domain",
2884
+ "required": false,
2885
+ "hasDynamicHelp": false,
2886
+ "multiple": false,
2887
+ "type": "option"
2888
+ },
2889
+ "ingress": {
2890
+ "description": "Enable/disable ingress",
2891
+ "name": "ingress",
2892
+ "required": false,
2893
+ "allowNo": true,
2894
+ "type": "boolean"
2895
+ },
2957
2896
  "output": {
2958
2897
  "char": "o",
2959
2898
  "description": "Output format",
@@ -2968,6 +2907,28 @@
2968
2907
  ],
2969
2908
  "type": "option"
2970
2909
  },
2910
+ "proxy": {
2911
+ "description": "Proxy URL",
2912
+ "name": "proxy",
2913
+ "required": false,
2914
+ "hasDynamicHelp": false,
2915
+ "multiple": false,
2916
+ "type": "option"
2917
+ },
2918
+ "rbac": {
2919
+ "description": "Enable/disable RBAC",
2920
+ "name": "rbac",
2921
+ "required": false,
2922
+ "allowNo": true,
2923
+ "type": "boolean"
2924
+ },
2925
+ "tasks": {
2926
+ "description": "Enable/disable background tasks",
2927
+ "name": "tasks",
2928
+ "required": false,
2929
+ "allowNo": true,
2930
+ "type": "boolean"
2931
+ },
2971
2932
  "workspace": {
2972
2933
  "char": "w",
2973
2934
  "description": "Workspace ID (uses profile workspace if not provided)",
@@ -2980,7 +2941,7 @@
2980
2941
  },
2981
2942
  "hasDynamicHelp": false,
2982
2943
  "hiddenAliases": [],
2983
- "id": "tenant:get",
2944
+ "id": "tenant:edit",
2984
2945
  "pluginAlias": "@xano/cli",
2985
2946
  "pluginName": "@xano/cli",
2986
2947
  "pluginType": "core",
@@ -2991,23 +2952,24 @@
2991
2952
  "dist",
2992
2953
  "commands",
2993
2954
  "tenant",
2994
- "get",
2955
+ "edit",
2995
2956
  "index.js"
2996
2957
  ]
2997
2958
  },
2998
- "tenant:edit": {
2959
+ "tenant:deploy_platform": {
2999
2960
  "aliases": [],
3000
2961
  "args": {
3001
2962
  "tenant_name": {
3002
- "description": "Tenant name to edit",
2963
+ "description": "Tenant name to deploy to",
3003
2964
  "name": "tenant_name",
3004
2965
  "required": true
3005
2966
  }
3006
2967
  },
3007
- "description": "Edit an existing tenant",
2968
+ "description": "Deploy a platform version to a tenant",
3008
2969
  "examples": [
3009
- "$ xano tenant edit t1234-abcd-xyz1 --display \"New Name\" --description \"Updated description\"\nUpdated tenant: New Name (my-tenant) - ID: 42\n",
3010
- "$ xano tenant edit t1234-abcd-xyz1 --no-tasks --no-ingress -o json"
2970
+ "$ xano tenant deploy_platform t1234-abcd-xyz1 --platform_id 5\nDeployed platform 5 to tenant: My Tenant (my-tenant)\n",
2971
+ "$ xano tenant deploy_platform t1234-abcd-xyz1 --platform_id 5 -o json",
2972
+ "$ xano tenant deploy_platform t1234-abcd-xyz1 --platform_id 5 --license ./license.yaml"
3011
2973
  ],
3012
2974
  "flags": {
3013
2975
  "profile": {
@@ -3029,38 +2991,15 @@
3029
2991
  "allowNo": false,
3030
2992
  "type": "boolean"
3031
2993
  },
3032
- "description": {
3033
- "char": "d",
3034
- "description": "New description",
3035
- "name": "description",
3036
- "required": false,
3037
- "hasDynamicHelp": false,
3038
- "multiple": false,
3039
- "type": "option"
3040
- },
3041
- "display": {
3042
- "description": "New display name",
3043
- "name": "display",
3044
- "required": false,
3045
- "hasDynamicHelp": false,
3046
- "multiple": false,
3047
- "type": "option"
3048
- },
3049
- "domain": {
3050
- "description": "Custom domain",
3051
- "name": "domain",
2994
+ "license": {
2995
+ "char": "l",
2996
+ "description": "Path to a license override file to apply after deploy",
2997
+ "name": "license",
3052
2998
  "required": false,
3053
2999
  "hasDynamicHelp": false,
3054
3000
  "multiple": false,
3055
3001
  "type": "option"
3056
3002
  },
3057
- "ingress": {
3058
- "description": "Enable/disable ingress",
3059
- "name": "ingress",
3060
- "required": false,
3061
- "allowNo": true,
3062
- "type": "boolean"
3063
- },
3064
3003
  "output": {
3065
3004
  "char": "o",
3066
3005
  "description": "Output format",
@@ -3075,27 +3014,13 @@
3075
3014
  ],
3076
3015
  "type": "option"
3077
3016
  },
3078
- "proxy": {
3079
- "description": "Proxy URL",
3080
- "name": "proxy",
3081
- "required": false,
3082
- "hasDynamicHelp": false,
3083
- "multiple": false,
3084
- "type": "option"
3085
- },
3086
- "rbac": {
3087
- "description": "Enable/disable RBAC",
3088
- "name": "rbac",
3089
- "required": false,
3090
- "allowNo": true,
3091
- "type": "boolean"
3092
- },
3093
- "tasks": {
3094
- "description": "Enable/disable background tasks",
3095
- "name": "tasks",
3096
- "required": false,
3097
- "allowNo": true,
3098
- "type": "boolean"
3017
+ "platform_id": {
3018
+ "description": "Platform ID to deploy",
3019
+ "name": "platform_id",
3020
+ "required": true,
3021
+ "hasDynamicHelp": false,
3022
+ "multiple": false,
3023
+ "type": "option"
3099
3024
  },
3100
3025
  "workspace": {
3101
3026
  "char": "w",
@@ -3109,7 +3034,7 @@
3109
3034
  },
3110
3035
  "hasDynamicHelp": false,
3111
3036
  "hiddenAliases": [],
3112
- "id": "tenant:edit",
3037
+ "id": "tenant:deploy_platform",
3113
3038
  "pluginAlias": "@xano/cli",
3114
3039
  "pluginName": "@xano/cli",
3115
3040
  "pluginType": "core",
@@ -3120,23 +3045,24 @@
3120
3045
  "dist",
3121
3046
  "commands",
3122
3047
  "tenant",
3123
- "edit",
3048
+ "deploy_platform",
3124
3049
  "index.js"
3125
3050
  ]
3126
3051
  },
3127
- "tenant:deploy_release": {
3052
+ "tenant:delete": {
3128
3053
  "aliases": [],
3129
3054
  "args": {
3130
3055
  "tenant_name": {
3131
- "description": "Tenant name to deploy to",
3056
+ "description": "Tenant name to delete",
3132
3057
  "name": "tenant_name",
3133
3058
  "required": true
3134
3059
  }
3135
3060
  },
3136
- "description": "Deploy a release to a tenant",
3061
+ "description": "Delete a tenant permanently. This destroys all associated infrastructure and cannot be undone.",
3137
3062
  "examples": [
3138
- "$ xano tenant deploy_release t1234-abcd-xyz1 --release v1.0\nDeployed release \"v1.0\" to tenant: My Tenant (my-tenant)\n",
3139
- "$ xano tenant deploy_release t1234-abcd-xyz1 --release v1.0 -o json"
3063
+ "$ xano tenant delete t1234-abcd-xyz1\nAre you sure you want to delete tenant t1234-abcd-xyz1? This action cannot be undone. (y/N) y\nDeleted tenant t1234-abcd-xyz1\n",
3064
+ "$ xano tenant delete t1234-abcd-xyz1 --force\nDeleted tenant t1234-abcd-xyz1\n",
3065
+ "$ xano tenant delete t1234-abcd-xyz1 -f -o json"
3140
3066
  ],
3141
3067
  "flags": {
3142
3068
  "profile": {
@@ -3158,6 +3084,14 @@
3158
3084
  "allowNo": false,
3159
3085
  "type": "boolean"
3160
3086
  },
3087
+ "force": {
3088
+ "char": "f",
3089
+ "description": "Skip confirmation prompt",
3090
+ "name": "force",
3091
+ "required": false,
3092
+ "allowNo": false,
3093
+ "type": "boolean"
3094
+ },
3161
3095
  "output": {
3162
3096
  "char": "o",
3163
3097
  "description": "Output format",
@@ -3172,15 +3106,6 @@
3172
3106
  ],
3173
3107
  "type": "option"
3174
3108
  },
3175
- "release": {
3176
- "char": "r",
3177
- "description": "Release name to deploy",
3178
- "name": "release",
3179
- "required": true,
3180
- "hasDynamicHelp": false,
3181
- "multiple": false,
3182
- "type": "option"
3183
- },
3184
3109
  "workspace": {
3185
3110
  "char": "w",
3186
3111
  "description": "Workspace ID (uses profile workspace if not provided)",
@@ -3193,7 +3118,7 @@
3193
3118
  },
3194
3119
  "hasDynamicHelp": false,
3195
3120
  "hiddenAliases": [],
3196
- "id": "tenant:deploy_release",
3121
+ "id": "tenant:delete",
3197
3122
  "pluginAlias": "@xano/cli",
3198
3123
  "pluginName": "@xano/cli",
3199
3124
  "pluginType": "core",
@@ -3204,23 +3129,23 @@
3204
3129
  "dist",
3205
3130
  "commands",
3206
3131
  "tenant",
3207
- "deploy_release",
3132
+ "delete",
3208
3133
  "index.js"
3209
3134
  ]
3210
3135
  },
3211
- "tenant:impersonate": {
3136
+ "tenant:get": {
3212
3137
  "aliases": [],
3213
3138
  "args": {
3214
3139
  "tenant_name": {
3215
- "description": "Tenant name to impersonate",
3140
+ "description": "Tenant name to retrieve",
3216
3141
  "name": "tenant_name",
3217
3142
  "required": true
3218
3143
  }
3219
3144
  },
3220
- "description": "Impersonate a tenant and open it in the browser",
3145
+ "description": "Get details of a specific tenant",
3221
3146
  "examples": [
3222
- "$ xano tenant impersonate my-tenant\nOpening browser...\nImpersonation successful!\n",
3223
- "$ xano tenant impersonate my-tenant -o json"
3147
+ "$ xano tenant get t1234-abcd-xyz1\nTenant: My Tenant (my-tenant)\n State: ok\n License: tier1\n Domain: my-tenant.xano.io\n Cluster: default\n Release: v1.0\n",
3148
+ "$ xano tenant get t1234-abcd-xyz1 -w 5 -o json"
3224
3149
  ],
3225
3150
  "flags": {
3226
3151
  "profile": {
@@ -3256,14 +3181,6 @@
3256
3181
  ],
3257
3182
  "type": "option"
3258
3183
  },
3259
- "url-only": {
3260
- "char": "u",
3261
- "description": "Print the URL without opening the browser",
3262
- "name": "url-only",
3263
- "required": false,
3264
- "allowNo": false,
3265
- "type": "boolean"
3266
- },
3267
3184
  "workspace": {
3268
3185
  "char": "w",
3269
3186
  "description": "Workspace ID (uses profile workspace if not provided)",
@@ -3276,7 +3193,7 @@
3276
3193
  },
3277
3194
  "hasDynamicHelp": false,
3278
3195
  "hiddenAliases": [],
3279
- "id": "tenant:impersonate",
3196
+ "id": "tenant:get",
3280
3197
  "pluginAlias": "@xano/cli",
3281
3198
  "pluginName": "@xano/cli",
3282
3199
  "pluginType": "core",
@@ -3287,17 +3204,23 @@
3287
3204
  "dist",
3288
3205
  "commands",
3289
3206
  "tenant",
3290
- "impersonate",
3207
+ "get",
3291
3208
  "index.js"
3292
3209
  ]
3293
3210
  },
3294
- "tenant:list": {
3211
+ "tenant:impersonate": {
3295
3212
  "aliases": [],
3296
- "args": {},
3297
- "description": "List all tenants in a workspace",
3213
+ "args": {
3214
+ "tenant_name": {
3215
+ "description": "Tenant name to impersonate",
3216
+ "name": "tenant_name",
3217
+ "required": true
3218
+ }
3219
+ },
3220
+ "description": "Impersonate a tenant and open it in the browser",
3298
3221
  "examples": [
3299
- "$ xano tenant list\nTenants in workspace 5:\n - My Tenant (my-tenant) [ok] - tier1\n Cluster: us-central\n Release: r1\n Platform: default\n - Staging (staging) [ok] - tier1\n Cluster: us-central\n Release: r1\n",
3300
- "$ xano tenant list -w 5 --output json"
3222
+ "$ xano tenant impersonate my-tenant\nOpening browser...\nImpersonation successful!\n",
3223
+ "$ xano tenant impersonate my-tenant -o json"
3301
3224
  ],
3302
3225
  "flags": {
3303
3226
  "profile": {
@@ -3333,6 +3256,14 @@
3333
3256
  ],
3334
3257
  "type": "option"
3335
3258
  },
3259
+ "url-only": {
3260
+ "char": "u",
3261
+ "description": "Print the URL without opening the browser",
3262
+ "name": "url-only",
3263
+ "required": false,
3264
+ "allowNo": false,
3265
+ "type": "boolean"
3266
+ },
3336
3267
  "workspace": {
3337
3268
  "char": "w",
3338
3269
  "description": "Workspace ID (uses profile workspace if not provided)",
@@ -3345,7 +3276,7 @@
3345
3276
  },
3346
3277
  "hasDynamicHelp": false,
3347
3278
  "hiddenAliases": [],
3348
- "id": "tenant:list",
3279
+ "id": "tenant:impersonate",
3349
3280
  "pluginAlias": "@xano/cli",
3350
3281
  "pluginName": "@xano/cli",
3351
3282
  "pluginType": "core",
@@ -3356,27 +3287,17 @@
3356
3287
  "dist",
3357
3288
  "commands",
3358
3289
  "tenant",
3359
- "list",
3290
+ "impersonate",
3360
3291
  "index.js"
3361
3292
  ]
3362
3293
  },
3363
- "tenant:push": {
3294
+ "tenant:list": {
3364
3295
  "aliases": [],
3365
- "args": {
3366
- "directory": {
3367
- "description": "Directory containing documents to push (as produced by tenant pull or workspace pull)",
3368
- "name": "directory",
3369
- "required": true
3370
- }
3371
- },
3372
- "description": "Push local documents to a tenant via the Xano Metadata API multidoc endpoint",
3296
+ "args": {},
3297
+ "description": "List all tenants in a workspace",
3373
3298
  "examples": [
3374
- "$ xano tenant push ./my-workspace -t my-tenant\nPushed 42 documents to tenant my-tenant from ./my-workspace\n",
3375
- "$ xano tenant push ./output -t my-tenant -w 40\nPushed 15 documents to tenant my-tenant from ./output\n",
3376
- "$ xano tenant push ./backup -t my-tenant --profile production\nPushed 58 documents to tenant my-tenant from ./backup\n",
3377
- "$ xano tenant push ./my-workspace -t my-tenant --records\nInclude table records in import\n",
3378
- "$ xano tenant push ./my-workspace -t my-tenant --env\nInclude environment variables in import\n",
3379
- "$ xano tenant push ./my-workspace -t my-tenant --truncate\nTruncate all table records before importing\n"
3299
+ "$ xano tenant list\nTenants in workspace 5:\n - My Tenant (my-tenant) [ok] - tier1\n Cluster: us-central\n Release: r1\n Platform: default\n - Staging (staging) [ok] - tier1\n Cluster: us-central\n Release: r1\n",
3300
+ "$ xano tenant list -w 5 --output json"
3380
3301
  ],
3381
3302
  "flags": {
3382
3303
  "profile": {
@@ -3398,46 +3319,23 @@
3398
3319
  "allowNo": false,
3399
3320
  "type": "boolean"
3400
3321
  },
3401
- "env": {
3402
- "description": "Include environment variables in import",
3403
- "name": "env",
3404
- "required": false,
3405
- "allowNo": false,
3406
- "type": "boolean"
3407
- },
3408
- "records": {
3409
- "description": "Include records in import",
3410
- "name": "records",
3322
+ "output": {
3323
+ "char": "o",
3324
+ "description": "Output format",
3325
+ "name": "output",
3411
3326
  "required": false,
3412
- "allowNo": false,
3413
- "type": "boolean"
3414
- },
3415
- "tenant": {
3416
- "char": "t",
3417
- "description": "Tenant name to push to",
3418
- "name": "tenant",
3419
- "required": true,
3327
+ "default": "summary",
3420
3328
  "hasDynamicHelp": false,
3421
3329
  "multiple": false,
3330
+ "options": [
3331
+ "summary",
3332
+ "json"
3333
+ ],
3422
3334
  "type": "option"
3423
3335
  },
3424
- "transaction": {
3425
- "description": "Wrap import in a database transaction (use --no-transaction for debugging purposes)",
3426
- "name": "transaction",
3427
- "required": false,
3428
- "allowNo": true,
3429
- "type": "boolean"
3430
- },
3431
- "truncate": {
3432
- "description": "Truncate all table records before importing",
3433
- "name": "truncate",
3434
- "required": false,
3435
- "allowNo": false,
3436
- "type": "boolean"
3437
- },
3438
3336
  "workspace": {
3439
3337
  "char": "w",
3440
- "description": "Workspace ID (optional if set in profile)",
3338
+ "description": "Workspace ID (uses profile workspace if not provided)",
3441
3339
  "name": "workspace",
3442
3340
  "required": false,
3443
3341
  "hasDynamicHelp": false,
@@ -3447,7 +3345,7 @@
3447
3345
  },
3448
3346
  "hasDynamicHelp": false,
3449
3347
  "hiddenAliases": [],
3450
- "id": "tenant:push",
3348
+ "id": "tenant:list",
3451
3349
  "pluginAlias": "@xano/cli",
3452
3350
  "pluginName": "@xano/cli",
3453
3351
  "pluginType": "core",
@@ -3458,25 +3356,18 @@
3458
3356
  "dist",
3459
3357
  "commands",
3460
3358
  "tenant",
3461
- "push",
3359
+ "list",
3462
3360
  "index.js"
3463
3361
  ]
3464
3362
  },
3465
- "tenant:pull": {
3363
+ "unit_test:list": {
3466
3364
  "aliases": [],
3467
- "args": {
3468
- "directory": {
3469
- "description": "Output directory for pulled documents",
3470
- "name": "directory",
3471
- "required": true
3472
- }
3473
- },
3474
- "description": "Pull a tenant multidoc from the Xano Metadata API and split into individual files",
3365
+ "args": {},
3366
+ "description": "List all unit tests in a workspace",
3475
3367
  "examples": [
3476
- "$ xano tenant pull ./my-tenant -t my-tenant\nPulled 42 documents from tenant my-tenant to ./my-tenant\n",
3477
- "$ xano tenant pull ./output -t my-tenant -w 40\nPulled 15 documents from tenant my-tenant to ./output\n",
3478
- "$ xano tenant pull ./backup -t my-tenant --profile production --env --records\nPulled 58 documents from tenant my-tenant to ./backup\n",
3479
- "$ xano tenant pull ./my-tenant -t my-tenant --draft\nPulled 42 documents from tenant my-tenant to ./my-tenant\n"
3368
+ "$ xano unit-test list\nUnit tests in workspace 5:\n - my-test (ID: abc-123) [function: math]\n - auth-check (ID: def-456) [query: /user/login]\n",
3369
+ "$ xano unit-test list -w 5 --output json",
3370
+ "$ xano unit-test list --obj-type function"
3480
3371
  ],
3481
3372
  "flags": {
3482
3373
  "profile": {
@@ -3498,39 +3389,45 @@
3498
3389
  "allowNo": false,
3499
3390
  "type": "boolean"
3500
3391
  },
3501
- "draft": {
3502
- "description": "Include draft versions",
3503
- "name": "draft",
3392
+ "branch": {
3393
+ "char": "b",
3394
+ "description": "Filter by branch name",
3395
+ "name": "branch",
3504
3396
  "required": false,
3505
- "allowNo": false,
3506
- "type": "boolean"
3397
+ "hasDynamicHelp": false,
3398
+ "multiple": false,
3399
+ "type": "option"
3507
3400
  },
3508
- "env": {
3509
- "description": "Include environment variables",
3510
- "name": "env",
3401
+ "obj-type": {
3402
+ "description": "Filter by object type",
3403
+ "name": "obj-type",
3511
3404
  "required": false,
3512
- "allowNo": false,
3513
- "type": "boolean"
3405
+ "hasDynamicHelp": false,
3406
+ "multiple": false,
3407
+ "options": [
3408
+ "function",
3409
+ "query",
3410
+ "middleware"
3411
+ ],
3412
+ "type": "option"
3514
3413
  },
3515
- "records": {
3516
- "description": "Include records",
3517
- "name": "records",
3414
+ "output": {
3415
+ "char": "o",
3416
+ "description": "Output format",
3417
+ "name": "output",
3518
3418
  "required": false,
3519
- "allowNo": false,
3520
- "type": "boolean"
3521
- },
3522
- "tenant": {
3523
- "char": "t",
3524
- "description": "Tenant name to pull from",
3525
- "name": "tenant",
3526
- "required": true,
3419
+ "default": "summary",
3527
3420
  "hasDynamicHelp": false,
3528
3421
  "multiple": false,
3422
+ "options": [
3423
+ "summary",
3424
+ "json"
3425
+ ],
3529
3426
  "type": "option"
3530
3427
  },
3531
3428
  "workspace": {
3532
3429
  "char": "w",
3533
- "description": "Workspace ID (optional if set in profile)",
3430
+ "description": "Workspace ID (uses profile workspace if not provided)",
3534
3431
  "name": "workspace",
3535
3432
  "required": false,
3536
3433
  "hasDynamicHelp": false,
@@ -3540,7 +3437,7 @@
3540
3437
  },
3541
3438
  "hasDynamicHelp": false,
3542
3439
  "hiddenAliases": [],
3543
- "id": "tenant:pull",
3440
+ "id": "unit_test:list",
3544
3441
  "pluginAlias": "@xano/cli",
3545
3442
  "pluginName": "@xano/cli",
3546
3443
  "pluginType": "core",
@@ -3550,8 +3447,8 @@
3550
3447
  "relativePath": [
3551
3448
  "dist",
3552
3449
  "commands",
3553
- "tenant",
3554
- "pull",
3450
+ "unit_test",
3451
+ "list",
3555
3452
  "index.js"
3556
3453
  ]
3557
3454
  },
@@ -3630,14 +3527,21 @@
3630
3527
  "index.js"
3631
3528
  ]
3632
3529
  },
3633
- "unit_test:list": {
3530
+ "tenant:pull": {
3634
3531
  "aliases": [],
3635
- "args": {},
3636
- "description": "List all unit tests in a workspace",
3532
+ "args": {
3533
+ "directory": {
3534
+ "description": "Output directory for pulled documents",
3535
+ "name": "directory",
3536
+ "required": true
3537
+ }
3538
+ },
3539
+ "description": "Pull a tenant multidoc from the Xano Metadata API and split into individual files",
3637
3540
  "examples": [
3638
- "$ xano unit-test list\nUnit tests in workspace 5:\n - my-test (ID: abc-123) [function: math]\n - auth-check (ID: def-456) [query: /user/login]\n",
3639
- "$ xano unit-test list -w 5 --output json",
3640
- "$ xano unit-test list --obj-type function"
3541
+ "$ xano tenant pull ./my-tenant -t my-tenant\nPulled 42 documents from tenant my-tenant to ./my-tenant\n",
3542
+ "$ xano tenant pull ./output -t my-tenant -w 40\nPulled 15 documents from tenant my-tenant to ./output\n",
3543
+ "$ xano tenant pull ./backup -t my-tenant --profile production --env --records\nPulled 58 documents from tenant my-tenant to ./backup\n",
3544
+ "$ xano tenant pull ./my-tenant -t my-tenant --draft\nPulled 42 documents from tenant my-tenant to ./my-tenant\n"
3641
3545
  ],
3642
3546
  "flags": {
3643
3547
  "profile": {
@@ -3659,45 +3563,39 @@
3659
3563
  "allowNo": false,
3660
3564
  "type": "boolean"
3661
3565
  },
3662
- "branch": {
3663
- "char": "b",
3664
- "description": "Filter by branch name",
3665
- "name": "branch",
3566
+ "draft": {
3567
+ "description": "Include draft versions",
3568
+ "name": "draft",
3666
3569
  "required": false,
3667
- "hasDynamicHelp": false,
3668
- "multiple": false,
3669
- "type": "option"
3570
+ "allowNo": false,
3571
+ "type": "boolean"
3670
3572
  },
3671
- "obj-type": {
3672
- "description": "Filter by object type",
3673
- "name": "obj-type",
3573
+ "env": {
3574
+ "description": "Include environment variables",
3575
+ "name": "env",
3674
3576
  "required": false,
3675
- "hasDynamicHelp": false,
3676
- "multiple": false,
3677
- "options": [
3678
- "function",
3679
- "query",
3680
- "middleware"
3681
- ],
3682
- "type": "option"
3577
+ "allowNo": false,
3578
+ "type": "boolean"
3683
3579
  },
3684
- "output": {
3685
- "char": "o",
3686
- "description": "Output format",
3687
- "name": "output",
3580
+ "records": {
3581
+ "description": "Include records",
3582
+ "name": "records",
3688
3583
  "required": false,
3689
- "default": "summary",
3584
+ "allowNo": false,
3585
+ "type": "boolean"
3586
+ },
3587
+ "tenant": {
3588
+ "char": "t",
3589
+ "description": "Tenant name to pull from",
3590
+ "name": "tenant",
3591
+ "required": true,
3690
3592
  "hasDynamicHelp": false,
3691
3593
  "multiple": false,
3692
- "options": [
3693
- "summary",
3694
- "json"
3695
- ],
3696
3594
  "type": "option"
3697
3595
  },
3698
3596
  "workspace": {
3699
3597
  "char": "w",
3700
- "description": "Workspace ID (uses profile workspace if not provided)",
3598
+ "description": "Workspace ID (optional if set in profile)",
3701
3599
  "name": "workspace",
3702
3600
  "required": false,
3703
3601
  "hasDynamicHelp": false,
@@ -3707,7 +3605,7 @@
3707
3605
  },
3708
3606
  "hasDynamicHelp": false,
3709
3607
  "hiddenAliases": [],
3710
- "id": "unit_test:list",
3608
+ "id": "tenant:pull",
3711
3609
  "pluginAlias": "@xano/cli",
3712
3610
  "pluginName": "@xano/cli",
3713
3611
  "pluginType": "core",
@@ -3717,8 +3615,8 @@
3717
3615
  "relativePath": [
3718
3616
  "dist",
3719
3617
  "commands",
3720
- "unit_test",
3721
- "list",
3618
+ "tenant",
3619
+ "pull",
3722
3620
  "index.js"
3723
3621
  ]
3724
3622
  },
@@ -4059,6 +3957,84 @@
4059
3957
  "index.js"
4060
3958
  ]
4061
3959
  },
3960
+ "workflow_test:run_all": {
3961
+ "aliases": [],
3962
+ "args": {},
3963
+ "description": "Run all workflow tests in a workspace",
3964
+ "examples": [
3965
+ "$ xano workflow-test run-all\nRunning 3 workflow tests...\n\nPASS my-test (1.234s)\nPASS auth-flow (0.567s)\nFAIL data-validation (0.890s)\n Error: assertion failed at step 3\n\nResults: 2 passed, 1 failed (2.691s total)\n",
3966
+ "$ xano workflow-test run-all --branch main -o json"
3967
+ ],
3968
+ "flags": {
3969
+ "profile": {
3970
+ "char": "p",
3971
+ "description": "Profile to use (uses default profile if not specified)",
3972
+ "env": "XANO_PROFILE",
3973
+ "name": "profile",
3974
+ "required": false,
3975
+ "hasDynamicHelp": false,
3976
+ "multiple": false,
3977
+ "type": "option"
3978
+ },
3979
+ "verbose": {
3980
+ "char": "v",
3981
+ "description": "Show detailed request/response information",
3982
+ "env": "XANO_VERBOSE",
3983
+ "name": "verbose",
3984
+ "required": false,
3985
+ "allowNo": false,
3986
+ "type": "boolean"
3987
+ },
3988
+ "branch": {
3989
+ "char": "b",
3990
+ "description": "Filter by branch name",
3991
+ "name": "branch",
3992
+ "required": false,
3993
+ "hasDynamicHelp": false,
3994
+ "multiple": false,
3995
+ "type": "option"
3996
+ },
3997
+ "output": {
3998
+ "char": "o",
3999
+ "description": "Output format",
4000
+ "name": "output",
4001
+ "required": false,
4002
+ "default": "summary",
4003
+ "hasDynamicHelp": false,
4004
+ "multiple": false,
4005
+ "options": [
4006
+ "summary",
4007
+ "json"
4008
+ ],
4009
+ "type": "option"
4010
+ },
4011
+ "workspace": {
4012
+ "char": "w",
4013
+ "description": "Workspace ID (uses profile workspace if not provided)",
4014
+ "name": "workspace",
4015
+ "required": false,
4016
+ "hasDynamicHelp": false,
4017
+ "multiple": false,
4018
+ "type": "option"
4019
+ }
4020
+ },
4021
+ "hasDynamicHelp": false,
4022
+ "hiddenAliases": [],
4023
+ "id": "workflow_test:run_all",
4024
+ "pluginAlias": "@xano/cli",
4025
+ "pluginName": "@xano/cli",
4026
+ "pluginType": "core",
4027
+ "strict": true,
4028
+ "enableJsonFlag": false,
4029
+ "isESM": true,
4030
+ "relativePath": [
4031
+ "dist",
4032
+ "commands",
4033
+ "workflow_test",
4034
+ "run_all",
4035
+ "index.js"
4036
+ ]
4037
+ },
4062
4038
  "workflow_test:run": {
4063
4039
  "aliases": [],
4064
4040
  "args": {
@@ -4134,13 +4110,20 @@
4134
4110
  "index.js"
4135
4111
  ]
4136
4112
  },
4137
- "workflow_test:run_all": {
4113
+ "workspace:create": {
4138
4114
  "aliases": [],
4139
- "args": {},
4140
- "description": "Run all workflow tests in a workspace",
4115
+ "args": {
4116
+ "name": {
4117
+ "description": "Name of the workspace",
4118
+ "name": "name",
4119
+ "required": true
4120
+ }
4121
+ },
4122
+ "description": "Create a new workspace via the Xano Metadata API",
4141
4123
  "examples": [
4142
- "$ xano workflow-test run-all\nRunning 3 workflow tests...\n\nPASS my-test (1.234s)\nPASS auth-flow (0.567s)\nFAIL data-validation (0.890s)\n Error: assertion failed at step 3\n\nResults: 2 passed, 1 failed (2.691s total)\n",
4143
- "$ xano workflow-test run-all --branch main -o json"
4124
+ "$ xano workspace create my-workspace\nCreated workspace: my-workspace (ID: 123)\n",
4125
+ "$ xano workspace create my-app --description \"My application workspace\"\nCreated workspace: my-app (ID: 456)\n Description: My application workspace\n",
4126
+ "$ xano workspace create new-project -d \"New project workspace\" -o json\n{\n \"id\": 789,\n \"name\": \"new-project\",\n \"description\": \"New project workspace\"\n}\n"
4144
4127
  ],
4145
4128
  "flags": {
4146
4129
  "profile": {
@@ -4162,32 +4145,125 @@
4162
4145
  "allowNo": false,
4163
4146
  "type": "boolean"
4164
4147
  },
4165
- "branch": {
4166
- "char": "b",
4167
- "description": "Filter by branch name",
4168
- "name": "branch",
4148
+ "description": {
4149
+ "char": "d",
4150
+ "description": "Description for the workspace",
4151
+ "name": "description",
4152
+ "required": false,
4153
+ "hasDynamicHelp": false,
4154
+ "multiple": false,
4155
+ "type": "option"
4156
+ },
4157
+ "output": {
4158
+ "char": "o",
4159
+ "description": "Output format",
4160
+ "name": "output",
4161
+ "required": false,
4162
+ "default": "summary",
4163
+ "hasDynamicHelp": false,
4164
+ "multiple": false,
4165
+ "options": [
4166
+ "summary",
4167
+ "json"
4168
+ ],
4169
+ "type": "option"
4170
+ }
4171
+ },
4172
+ "hasDynamicHelp": false,
4173
+ "hiddenAliases": [],
4174
+ "id": "workspace:create",
4175
+ "pluginAlias": "@xano/cli",
4176
+ "pluginName": "@xano/cli",
4177
+ "pluginType": "core",
4178
+ "strict": true,
4179
+ "enableJsonFlag": false,
4180
+ "isESM": true,
4181
+ "relativePath": [
4182
+ "dist",
4183
+ "commands",
4184
+ "workspace",
4185
+ "create",
4186
+ "index.js"
4187
+ ]
4188
+ },
4189
+ "tenant:push": {
4190
+ "aliases": [],
4191
+ "args": {
4192
+ "directory": {
4193
+ "description": "Directory containing documents to push (as produced by tenant pull or workspace pull)",
4194
+ "name": "directory",
4195
+ "required": true
4196
+ }
4197
+ },
4198
+ "description": "Push local documents to a tenant via the Xano Metadata API multidoc endpoint",
4199
+ "examples": [
4200
+ "$ xano tenant push ./my-workspace -t my-tenant\nPushed 42 documents to tenant my-tenant from ./my-workspace\n",
4201
+ "$ xano tenant push ./output -t my-tenant -w 40\nPushed 15 documents to tenant my-tenant from ./output\n",
4202
+ "$ xano tenant push ./backup -t my-tenant --profile production\nPushed 58 documents to tenant my-tenant from ./backup\n",
4203
+ "$ xano tenant push ./my-workspace -t my-tenant --records\nInclude table records in import\n",
4204
+ "$ xano tenant push ./my-workspace -t my-tenant --env\nInclude environment variables in import\n",
4205
+ "$ xano tenant push ./my-workspace -t my-tenant --truncate\nTruncate all table records before importing\n"
4206
+ ],
4207
+ "flags": {
4208
+ "profile": {
4209
+ "char": "p",
4210
+ "description": "Profile to use (uses default profile if not specified)",
4211
+ "env": "XANO_PROFILE",
4212
+ "name": "profile",
4169
4213
  "required": false,
4170
4214
  "hasDynamicHelp": false,
4171
4215
  "multiple": false,
4172
4216
  "type": "option"
4173
4217
  },
4174
- "output": {
4175
- "char": "o",
4176
- "description": "Output format",
4177
- "name": "output",
4218
+ "verbose": {
4219
+ "char": "v",
4220
+ "description": "Show detailed request/response information",
4221
+ "env": "XANO_VERBOSE",
4222
+ "name": "verbose",
4223
+ "required": false,
4224
+ "allowNo": false,
4225
+ "type": "boolean"
4226
+ },
4227
+ "env": {
4228
+ "description": "Include environment variables in import",
4229
+ "name": "env",
4230
+ "required": false,
4231
+ "allowNo": false,
4232
+ "type": "boolean"
4233
+ },
4234
+ "records": {
4235
+ "description": "Include records in import",
4236
+ "name": "records",
4237
+ "required": false,
4238
+ "allowNo": false,
4239
+ "type": "boolean"
4240
+ },
4241
+ "tenant": {
4242
+ "char": "t",
4243
+ "description": "Tenant name to push to",
4244
+ "name": "tenant",
4245
+ "required": true,
4246
+ "hasDynamicHelp": false,
4247
+ "multiple": false,
4248
+ "type": "option"
4249
+ },
4250
+ "transaction": {
4251
+ "description": "Wrap import in a database transaction (use --no-transaction for debugging purposes)",
4252
+ "name": "transaction",
4178
4253
  "required": false,
4179
- "default": "summary",
4180
- "hasDynamicHelp": false,
4181
- "multiple": false,
4182
- "options": [
4183
- "summary",
4184
- "json"
4185
- ],
4186
- "type": "option"
4254
+ "allowNo": true,
4255
+ "type": "boolean"
4256
+ },
4257
+ "truncate": {
4258
+ "description": "Truncate all table records before importing",
4259
+ "name": "truncate",
4260
+ "required": false,
4261
+ "allowNo": false,
4262
+ "type": "boolean"
4187
4263
  },
4188
4264
  "workspace": {
4189
4265
  "char": "w",
4190
- "description": "Workspace ID (uses profile workspace if not provided)",
4266
+ "description": "Workspace ID (optional if set in profile)",
4191
4267
  "name": "workspace",
4192
4268
  "required": false,
4193
4269
  "hasDynamicHelp": false,
@@ -4197,7 +4273,7 @@
4197
4273
  },
4198
4274
  "hasDynamicHelp": false,
4199
4275
  "hiddenAliases": [],
4200
- "id": "workflow_test:run_all",
4276
+ "id": "tenant:push",
4201
4277
  "pluginAlias": "@xano/cli",
4202
4278
  "pluginName": "@xano/cli",
4203
4279
  "pluginType": "core",
@@ -4207,8 +4283,8 @@
4207
4283
  "relativePath": [
4208
4284
  "dist",
4209
4285
  "commands",
4210
- "workflow_test",
4211
- "run_all",
4286
+ "tenant",
4287
+ "push",
4212
4288
  "index.js"
4213
4289
  ]
4214
4290
  },
@@ -4387,82 +4463,6 @@
4387
4463
  "index.js"
4388
4464
  ]
4389
4465
  },
4390
- "workspace:create": {
4391
- "aliases": [],
4392
- "args": {
4393
- "name": {
4394
- "description": "Name of the workspace",
4395
- "name": "name",
4396
- "required": true
4397
- }
4398
- },
4399
- "description": "Create a new workspace via the Xano Metadata API",
4400
- "examples": [
4401
- "$ xano workspace create my-workspace\nCreated workspace: my-workspace (ID: 123)\n",
4402
- "$ xano workspace create my-app --description \"My application workspace\"\nCreated workspace: my-app (ID: 456)\n Description: My application workspace\n",
4403
- "$ xano workspace create new-project -d \"New project workspace\" -o json\n{\n \"id\": 789,\n \"name\": \"new-project\",\n \"description\": \"New project workspace\"\n}\n"
4404
- ],
4405
- "flags": {
4406
- "profile": {
4407
- "char": "p",
4408
- "description": "Profile to use (uses default profile if not specified)",
4409
- "env": "XANO_PROFILE",
4410
- "name": "profile",
4411
- "required": false,
4412
- "hasDynamicHelp": false,
4413
- "multiple": false,
4414
- "type": "option"
4415
- },
4416
- "verbose": {
4417
- "char": "v",
4418
- "description": "Show detailed request/response information",
4419
- "env": "XANO_VERBOSE",
4420
- "name": "verbose",
4421
- "required": false,
4422
- "allowNo": false,
4423
- "type": "boolean"
4424
- },
4425
- "description": {
4426
- "char": "d",
4427
- "description": "Description for the workspace",
4428
- "name": "description",
4429
- "required": false,
4430
- "hasDynamicHelp": false,
4431
- "multiple": false,
4432
- "type": "option"
4433
- },
4434
- "output": {
4435
- "char": "o",
4436
- "description": "Output format",
4437
- "name": "output",
4438
- "required": false,
4439
- "default": "summary",
4440
- "hasDynamicHelp": false,
4441
- "multiple": false,
4442
- "options": [
4443
- "summary",
4444
- "json"
4445
- ],
4446
- "type": "option"
4447
- }
4448
- },
4449
- "hasDynamicHelp": false,
4450
- "hiddenAliases": [],
4451
- "id": "workspace:create",
4452
- "pluginAlias": "@xano/cli",
4453
- "pluginName": "@xano/cli",
4454
- "pluginType": "core",
4455
- "strict": true,
4456
- "enableJsonFlag": false,
4457
- "isESM": true,
4458
- "relativePath": [
4459
- "dist",
4460
- "commands",
4461
- "workspace",
4462
- "create",
4463
- "index.js"
4464
- ]
4465
- },
4466
4466
  "workspace:get": {
4467
4467
  "aliases": [],
4468
4468
  "args": {
@@ -4709,7 +4709,9 @@
4709
4709
  "$ xano workspace push ./my-workspace --no-env\nPush without overwriting environment variables\n",
4710
4710
  "$ xano workspace push ./my-workspace --truncate\nTruncate all table records before importing\n",
4711
4711
  "$ xano workspace push ./my-workspace -f \"**/func*\"\nPush only files matching the glob pattern\n",
4712
- "$ xano workspace push ./my-workspace -f \"function/*\" -f \"table/*\"\nPush files matching multiple patterns\n"
4712
+ "$ xano workspace push ./my-workspace -f \"function/*\" -f \"table/*\"\nPush files matching multiple patterns\n",
4713
+ "$ xano workspace push ./my-workspace -e \"table/*\"\nPush all files except tables\n",
4714
+ "$ xano workspace push ./my-workspace -f \"function/*\" -e \"**/test*\"\nPush functions but exclude test files\n"
4713
4715
  ],
4714
4716
  "flags": {
4715
4717
  "profile": {
@@ -4805,6 +4807,15 @@
4805
4807
  "multiple": false,
4806
4808
  "type": "option"
4807
4809
  },
4810
+ "exclude": {
4811
+ "char": "e",
4812
+ "description": "Glob pattern to exclude files (e.g. \"table/*\", \"**/test*\"). Matched against relative paths from the push directory.",
4813
+ "name": "exclude",
4814
+ "required": false,
4815
+ "hasDynamicHelp": false,
4816
+ "multiple": true,
4817
+ "type": "option"
4818
+ },
4808
4819
  "filter": {
4809
4820
  "char": "f",
4810
4821
  "description": "Glob pattern to filter files (e.g. \"**/func*\", \"table/*.xs\"). Matched against relative paths from the push directory.",
@@ -5169,19 +5180,13 @@
5169
5180
  "index.js"
5170
5181
  ]
5171
5182
  },
5172
- "tenant:backup:create": {
5183
+ "tenant:cluster:create": {
5173
5184
  "aliases": [],
5174
- "args": {
5175
- "tenant_name": {
5176
- "description": "Tenant name to back up",
5177
- "name": "tenant_name",
5178
- "required": true
5179
- }
5180
- },
5181
- "description": "Create a backup for a tenant",
5185
+ "args": {},
5186
+ "description": "Create a new tenant cluster",
5182
5187
  "examples": [
5183
- "$ xano tenant backup create t1234-abcd-xyz1 --description \"Pre-deploy backup\"\nCreated backup #15 for tenant t1234-abcd-xyz1\n",
5184
- "$ xano tenant backup create t1234-abcd-xyz1 -d \"Daily backup\" -o json"
5188
+ "$ xano tenant cluster create --name \"us-east-1\" --credentials_file ./kubeconfig.yaml\nCreated tenant cluster: us-east-1 (standard) - ID: 3\n",
5189
+ "$ xano tenant cluster create --name \"eu-west-1\" --credentials \"...\" --type run --description \"EU run cluster\" -o json"
5185
5190
  ],
5186
5191
  "flags": {
5187
5192
  "profile": {
@@ -5203,109 +5208,54 @@
5203
5208
  "allowNo": false,
5204
5209
  "type": "boolean"
5205
5210
  },
5206
- "description": {
5207
- "char": "d",
5208
- "description": "Backup description",
5209
- "name": "description",
5211
+ "credentials": {
5212
+ "description": "Kubeconfig credentials (raw text)",
5213
+ "exclusive": [
5214
+ "credentials_file"
5215
+ ],
5216
+ "name": "credentials",
5210
5217
  "required": false,
5211
- "default": "",
5212
5218
  "hasDynamicHelp": false,
5213
5219
  "multiple": false,
5214
5220
  "type": "option"
5215
5221
  },
5216
- "output": {
5217
- "char": "o",
5218
- "description": "Output format",
5219
- "name": "output",
5222
+ "credentials_file": {
5223
+ "description": "Path to kubeconfig credentials file",
5224
+ "exclusive": [
5225
+ "credentials"
5226
+ ],
5227
+ "name": "credentials_file",
5220
5228
  "required": false,
5221
- "default": "summary",
5222
5229
  "hasDynamicHelp": false,
5223
5230
  "multiple": false,
5224
- "options": [
5225
- "summary",
5226
- "json"
5227
- ],
5228
5231
  "type": "option"
5229
5232
  },
5230
- "workspace": {
5231
- "char": "w",
5232
- "description": "Workspace ID (uses profile workspace if not provided)",
5233
- "name": "workspace",
5233
+ "description": {
5234
+ "char": "d",
5235
+ "description": "Cluster description",
5236
+ "name": "description",
5234
5237
  "required": false,
5235
5238
  "hasDynamicHelp": false,
5236
5239
  "multiple": false,
5237
5240
  "type": "option"
5238
- }
5239
- },
5240
- "hasDynamicHelp": false,
5241
- "hiddenAliases": [],
5242
- "id": "tenant:backup:create",
5243
- "pluginAlias": "@xano/cli",
5244
- "pluginName": "@xano/cli",
5245
- "pluginType": "core",
5246
- "strict": true,
5247
- "enableJsonFlag": false,
5248
- "isESM": true,
5249
- "relativePath": [
5250
- "dist",
5251
- "commands",
5252
- "tenant",
5253
- "backup",
5254
- "create",
5255
- "index.js"
5256
- ]
5257
- },
5258
- "tenant:backup:delete": {
5259
- "aliases": [],
5260
- "args": {
5261
- "tenant_name": {
5262
- "description": "Tenant name that owns the backup",
5263
- "name": "tenant_name",
5264
- "required": true
5265
- }
5266
- },
5267
- "description": "Delete a tenant backup permanently. This action cannot be undone.",
5268
- "examples": [
5269
- "$ 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",
5270
- "$ xano tenant backup delete t1234-abcd-xyz1 --backup_id 10 --force",
5271
- "$ xano tenant backup delete t1234-abcd-xyz1 --backup_id 10 -o json"
5272
- ],
5273
- "flags": {
5274
- "profile": {
5275
- "char": "p",
5276
- "description": "Profile to use (uses default profile if not specified)",
5277
- "env": "XANO_PROFILE",
5278
- "name": "profile",
5241
+ },
5242
+ "domain": {
5243
+ "description": "Custom domain for the cluster",
5244
+ "name": "domain",
5279
5245
  "required": false,
5280
5246
  "hasDynamicHelp": false,
5281
5247
  "multiple": false,
5282
5248
  "type": "option"
5283
5249
  },
5284
- "verbose": {
5285
- "char": "v",
5286
- "description": "Show detailed request/response information",
5287
- "env": "XANO_VERBOSE",
5288
- "name": "verbose",
5289
- "required": false,
5290
- "allowNo": false,
5291
- "type": "boolean"
5292
- },
5293
- "backup_id": {
5294
- "description": "Backup ID to delete",
5295
- "name": "backup_id",
5250
+ "name": {
5251
+ "char": "n",
5252
+ "description": "Cluster name",
5253
+ "name": "name",
5296
5254
  "required": true,
5297
5255
  "hasDynamicHelp": false,
5298
5256
  "multiple": false,
5299
5257
  "type": "option"
5300
5258
  },
5301
- "force": {
5302
- "char": "f",
5303
- "description": "Skip confirmation prompt",
5304
- "name": "force",
5305
- "required": false,
5306
- "allowNo": false,
5307
- "type": "boolean"
5308
- },
5309
5259
  "output": {
5310
5260
  "char": "o",
5311
5261
  "description": "Output format",
@@ -5320,19 +5270,23 @@
5320
5270
  ],
5321
5271
  "type": "option"
5322
5272
  },
5323
- "workspace": {
5324
- "char": "w",
5325
- "description": "Workspace ID (uses profile workspace if not provided)",
5326
- "name": "workspace",
5273
+ "type": {
5274
+ "description": "Cluster type",
5275
+ "name": "type",
5327
5276
  "required": false,
5277
+ "default": "standard",
5328
5278
  "hasDynamicHelp": false,
5329
5279
  "multiple": false,
5280
+ "options": [
5281
+ "standard",
5282
+ "run"
5283
+ ],
5330
5284
  "type": "option"
5331
5285
  }
5332
5286
  },
5333
5287
  "hasDynamicHelp": false,
5334
5288
  "hiddenAliases": [],
5335
- "id": "tenant:backup:delete",
5289
+ "id": "tenant:cluster:create",
5336
5290
  "pluginAlias": "@xano/cli",
5337
5291
  "pluginName": "@xano/cli",
5338
5292
  "pluginType": "core",
@@ -5343,25 +5297,25 @@
5343
5297
  "dist",
5344
5298
  "commands",
5345
5299
  "tenant",
5346
- "backup",
5347
- "delete",
5300
+ "cluster",
5301
+ "create",
5348
5302
  "index.js"
5349
5303
  ]
5350
5304
  },
5351
- "tenant:backup:export": {
5305
+ "tenant:cluster:delete": {
5352
5306
  "aliases": [],
5353
5307
  "args": {
5354
- "tenant_name": {
5355
- "description": "Tenant name to export backup from",
5356
- "name": "tenant_name",
5308
+ "cluster_id": {
5309
+ "description": "Cluster ID to delete",
5310
+ "name": "cluster_id",
5357
5311
  "required": true
5358
5312
  }
5359
5313
  },
5360
- "description": "Export (download) a tenant backup to a local file",
5314
+ "description": "Delete a tenant cluster. This action cannot be undone.",
5361
5315
  "examples": [
5362
- "$ xano tenant backup export t1234-abcd-xyz1 --backup_id 10\nDownloaded backup #10 to ./tenant-t1234-abcd-xyz1-backup-10.tar.gz\n",
5363
- "$ xano tenant backup export t1234-abcd-xyz1 --backup_id 10 --output ./backups/my-backup.tar.gz",
5364
- "$ xano tenant backup export t1234-abcd-xyz1 --backup_id 10 -o json"
5316
+ "$ 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",
5317
+ "$ xano tenant cluster delete 3 --force\nTenant cluster 3 deleted successfully\n",
5318
+ "$ xano tenant cluster delete 3 -f -o json"
5365
5319
  ],
5366
5320
  "flags": {
5367
5321
  "profile": {
@@ -5383,18 +5337,18 @@
5383
5337
  "allowNo": false,
5384
5338
  "type": "boolean"
5385
5339
  },
5386
- "backup_id": {
5387
- "description": "Backup ID to export",
5388
- "name": "backup_id",
5389
- "required": true,
5390
- "hasDynamicHelp": false,
5391
- "multiple": false,
5392
- "type": "option"
5340
+ "force": {
5341
+ "char": "f",
5342
+ "description": "Skip confirmation prompt",
5343
+ "name": "force",
5344
+ "required": false,
5345
+ "allowNo": false,
5346
+ "type": "boolean"
5393
5347
  },
5394
- "format": {
5348
+ "output": {
5395
5349
  "char": "o",
5396
5350
  "description": "Output format",
5397
- "name": "format",
5351
+ "name": "output",
5398
5352
  "required": false,
5399
5353
  "default": "summary",
5400
5354
  "hasDynamicHelp": false,
@@ -5404,28 +5358,11 @@
5404
5358
  "json"
5405
5359
  ],
5406
5360
  "type": "option"
5407
- },
5408
- "output": {
5409
- "description": "Output file path (defaults to ./tenant-{name}-backup-{backup_id}.tar.gz)",
5410
- "name": "output",
5411
- "required": false,
5412
- "hasDynamicHelp": false,
5413
- "multiple": false,
5414
- "type": "option"
5415
- },
5416
- "workspace": {
5417
- "char": "w",
5418
- "description": "Workspace ID (uses profile workspace if not provided)",
5419
- "name": "workspace",
5420
- "required": false,
5421
- "hasDynamicHelp": false,
5422
- "multiple": false,
5423
- "type": "option"
5424
5361
  }
5425
5362
  },
5426
5363
  "hasDynamicHelp": false,
5427
5364
  "hiddenAliases": [],
5428
- "id": "tenant:backup:export",
5365
+ "id": "tenant:cluster:delete",
5429
5366
  "pluginAlias": "@xano/cli",
5430
5367
  "pluginName": "@xano/cli",
5431
5368
  "pluginType": "core",
@@ -5436,24 +5373,24 @@
5436
5373
  "dist",
5437
5374
  "commands",
5438
5375
  "tenant",
5439
- "backup",
5440
- "export",
5376
+ "cluster",
5377
+ "delete",
5441
5378
  "index.js"
5442
5379
  ]
5443
5380
  },
5444
- "tenant:backup:import": {
5381
+ "tenant:cluster:edit": {
5445
5382
  "aliases": [],
5446
5383
  "args": {
5447
- "tenant_name": {
5448
- "description": "Tenant name to import backup into",
5449
- "name": "tenant_name",
5384
+ "cluster_id": {
5385
+ "description": "Cluster ID to edit",
5386
+ "name": "cluster_id",
5450
5387
  "required": true
5451
5388
  }
5452
5389
  },
5453
- "description": "Import a backup file into a tenant",
5390
+ "description": "Update an existing tenant cluster",
5454
5391
  "examples": [
5455
- "$ xano tenant backup import t1234-abcd-xyz1 --file ./my-backup.tar.gz\nImported backup as #15 for tenant t1234-abcd-xyz1\n",
5456
- "$ xano tenant backup import t1234-abcd-xyz1 --file ./my-backup.tar.gz --description \"Restored from production\" -o json"
5392
+ "$ 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",
5393
+ "$ xano tenant cluster edit 1 --name \"eu-west\" --description \"\" --domain \"\" --type run -o json"
5457
5394
  ],
5458
5395
  "flags": {
5459
5396
  "profile": {
@@ -5477,18 +5414,25 @@
5477
5414
  },
5478
5415
  "description": {
5479
5416
  "char": "d",
5480
- "description": "Backup description",
5417
+ "description": "Cluster description",
5481
5418
  "name": "description",
5482
- "required": false,
5483
- "default": "",
5419
+ "required": true,
5484
5420
  "hasDynamicHelp": false,
5485
5421
  "multiple": false,
5486
5422
  "type": "option"
5487
5423
  },
5488
- "file": {
5489
- "char": "f",
5490
- "description": "Path to the backup file (.tar.gz)",
5491
- "name": "file",
5424
+ "domain": {
5425
+ "description": "Custom domain for the cluster",
5426
+ "name": "domain",
5427
+ "required": true,
5428
+ "hasDynamicHelp": false,
5429
+ "multiple": false,
5430
+ "type": "option"
5431
+ },
5432
+ "name": {
5433
+ "char": "n",
5434
+ "description": "Cluster name",
5435
+ "name": "name",
5492
5436
  "required": true,
5493
5437
  "hasDynamicHelp": false,
5494
5438
  "multiple": false,
@@ -5508,19 +5452,22 @@
5508
5452
  ],
5509
5453
  "type": "option"
5510
5454
  },
5511
- "workspace": {
5512
- "char": "w",
5513
- "description": "Workspace ID (uses profile workspace if not provided)",
5514
- "name": "workspace",
5515
- "required": false,
5455
+ "type": {
5456
+ "description": "Cluster type",
5457
+ "name": "type",
5458
+ "required": true,
5516
5459
  "hasDynamicHelp": false,
5517
5460
  "multiple": false,
5461
+ "options": [
5462
+ "standard",
5463
+ "run"
5464
+ ],
5518
5465
  "type": "option"
5519
5466
  }
5520
5467
  },
5521
5468
  "hasDynamicHelp": false,
5522
5469
  "hiddenAliases": [],
5523
- "id": "tenant:backup:import",
5470
+ "id": "tenant:cluster:edit",
5524
5471
  "pluginAlias": "@xano/cli",
5525
5472
  "pluginName": "@xano/cli",
5526
5473
  "pluginType": "core",
@@ -5531,24 +5478,18 @@
5531
5478
  "dist",
5532
5479
  "commands",
5533
5480
  "tenant",
5534
- "backup",
5535
- "import",
5481
+ "cluster",
5482
+ "edit",
5536
5483
  "index.js"
5537
5484
  ]
5538
5485
  },
5539
- "tenant:backup:list": {
5486
+ "tenant:cluster:list": {
5540
5487
  "aliases": [],
5541
- "args": {
5542
- "tenant_name": {
5543
- "description": "Tenant name to list backups for",
5544
- "name": "tenant_name",
5545
- "required": true
5546
- }
5547
- },
5548
- "description": "List backups for a tenant",
5488
+ "args": {},
5489
+ "description": "List all tenant clusters",
5549
5490
  "examples": [
5550
- "$ 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",
5551
- "$ xano tenant backup list t1234-abcd-xyz1 -o json"
5491
+ "$ xano tenant cluster list\nTenant clusters:\n - us-east-1 (standard) [ID: 1]\n - eu-west-1 (run) [ID: 2]\n",
5492
+ "$ xano tenant cluster list --output json"
5552
5493
  ],
5553
5494
  "flags": {
5554
5495
  "profile": {
@@ -5583,29 +5524,11 @@
5583
5524
  "json"
5584
5525
  ],
5585
5526
  "type": "option"
5586
- },
5587
- "page": {
5588
- "description": "Page number for pagination",
5589
- "name": "page",
5590
- "required": false,
5591
- "default": 1,
5592
- "hasDynamicHelp": false,
5593
- "multiple": false,
5594
- "type": "option"
5595
- },
5596
- "workspace": {
5597
- "char": "w",
5598
- "description": "Workspace ID (uses profile workspace if not provided)",
5599
- "name": "workspace",
5600
- "required": false,
5601
- "hasDynamicHelp": false,
5602
- "multiple": false,
5603
- "type": "option"
5604
5527
  }
5605
5528
  },
5606
5529
  "hasDynamicHelp": false,
5607
5530
  "hiddenAliases": [],
5608
- "id": "tenant:backup:list",
5531
+ "id": "tenant:cluster:list",
5609
5532
  "pluginAlias": "@xano/cli",
5610
5533
  "pluginName": "@xano/cli",
5611
5534
  "pluginType": "core",
@@ -5616,18 +5539,24 @@
5616
5539
  "dist",
5617
5540
  "commands",
5618
5541
  "tenant",
5619
- "backup",
5542
+ "cluster",
5620
5543
  "list",
5621
5544
  "index.js"
5622
5545
  ]
5623
5546
  },
5624
- "tenant:cluster:create": {
5547
+ "tenant:backup:create": {
5625
5548
  "aliases": [],
5626
- "args": {},
5627
- "description": "Create a new tenant cluster",
5549
+ "args": {
5550
+ "tenant_name": {
5551
+ "description": "Tenant name to back up",
5552
+ "name": "tenant_name",
5553
+ "required": true
5554
+ }
5555
+ },
5556
+ "description": "Create a backup for a tenant",
5628
5557
  "examples": [
5629
- "$ xano tenant cluster create --name \"us-east-1\" --credentials_file ./kubeconfig.yaml\nCreated tenant cluster: us-east-1 (standard) - ID: 3\n",
5630
- "$ xano tenant cluster create --name \"eu-west-1\" --credentials \"...\" --type run --description \"EU run cluster\" -o json"
5558
+ "$ xano tenant backup create t1234-abcd-xyz1 --description \"Pre-deploy backup\"\nCreated backup #15 for tenant t1234-abcd-xyz1\n",
5559
+ "$ xano tenant backup create t1234-abcd-xyz1 -d \"Daily backup\" -o json"
5631
5560
  ],
5632
5561
  "flags": {
5633
5562
  "profile": {
@@ -5649,50 +5578,12 @@
5649
5578
  "allowNo": false,
5650
5579
  "type": "boolean"
5651
5580
  },
5652
- "credentials": {
5653
- "description": "Kubeconfig credentials (raw text)",
5654
- "exclusive": [
5655
- "credentials_file"
5656
- ],
5657
- "name": "credentials",
5658
- "required": false,
5659
- "hasDynamicHelp": false,
5660
- "multiple": false,
5661
- "type": "option"
5662
- },
5663
- "credentials_file": {
5664
- "description": "Path to kubeconfig credentials file",
5665
- "exclusive": [
5666
- "credentials"
5667
- ],
5668
- "name": "credentials_file",
5669
- "required": false,
5670
- "hasDynamicHelp": false,
5671
- "multiple": false,
5672
- "type": "option"
5673
- },
5674
5581
  "description": {
5675
5582
  "char": "d",
5676
- "description": "Cluster description",
5583
+ "description": "Backup description",
5677
5584
  "name": "description",
5678
5585
  "required": false,
5679
- "hasDynamicHelp": false,
5680
- "multiple": false,
5681
- "type": "option"
5682
- },
5683
- "domain": {
5684
- "description": "Custom domain for the cluster",
5685
- "name": "domain",
5686
- "required": false,
5687
- "hasDynamicHelp": false,
5688
- "multiple": false,
5689
- "type": "option"
5690
- },
5691
- "name": {
5692
- "char": "n",
5693
- "description": "Cluster name",
5694
- "name": "name",
5695
- "required": true,
5586
+ "default": "",
5696
5587
  "hasDynamicHelp": false,
5697
5588
  "multiple": false,
5698
5589
  "type": "option"
@@ -5711,23 +5602,19 @@
5711
5602
  ],
5712
5603
  "type": "option"
5713
5604
  },
5714
- "type": {
5715
- "description": "Cluster type",
5716
- "name": "type",
5605
+ "workspace": {
5606
+ "char": "w",
5607
+ "description": "Workspace ID (uses profile workspace if not provided)",
5608
+ "name": "workspace",
5717
5609
  "required": false,
5718
- "default": "standard",
5719
5610
  "hasDynamicHelp": false,
5720
5611
  "multiple": false,
5721
- "options": [
5722
- "standard",
5723
- "run"
5724
- ],
5725
5612
  "type": "option"
5726
5613
  }
5727
5614
  },
5728
5615
  "hasDynamicHelp": false,
5729
5616
  "hiddenAliases": [],
5730
- "id": "tenant:cluster:create",
5617
+ "id": "tenant:backup:create",
5731
5618
  "pluginAlias": "@xano/cli",
5732
5619
  "pluginName": "@xano/cli",
5733
5620
  "pluginType": "core",
@@ -5738,24 +5625,25 @@
5738
5625
  "dist",
5739
5626
  "commands",
5740
5627
  "tenant",
5741
- "cluster",
5628
+ "backup",
5742
5629
  "create",
5743
5630
  "index.js"
5744
5631
  ]
5745
5632
  },
5746
- "tenant:cluster:edit": {
5633
+ "tenant:backup:delete": {
5747
5634
  "aliases": [],
5748
5635
  "args": {
5749
- "cluster_id": {
5750
- "description": "Cluster ID to edit",
5751
- "name": "cluster_id",
5636
+ "tenant_name": {
5637
+ "description": "Tenant name that owns the backup",
5638
+ "name": "tenant_name",
5752
5639
  "required": true
5753
5640
  }
5754
5641
  },
5755
- "description": "Update an existing tenant cluster",
5642
+ "description": "Delete a tenant backup permanently. This action cannot be undone.",
5756
5643
  "examples": [
5757
- "$ 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",
5758
- "$ xano tenant cluster edit 1 --name \"eu-west\" --description \"\" --domain \"\" --type run -o json"
5644
+ "$ 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",
5645
+ "$ xano tenant backup delete t1234-abcd-xyz1 --backup_id 10 --force",
5646
+ "$ xano tenant backup delete t1234-abcd-xyz1 --backup_id 10 -o json"
5759
5647
  ],
5760
5648
  "flags": {
5761
5649
  "profile": {
@@ -5777,31 +5665,21 @@
5777
5665
  "allowNo": false,
5778
5666
  "type": "boolean"
5779
5667
  },
5780
- "description": {
5781
- "char": "d",
5782
- "description": "Cluster description",
5783
- "name": "description",
5784
- "required": true,
5785
- "hasDynamicHelp": false,
5786
- "multiple": false,
5787
- "type": "option"
5788
- },
5789
- "domain": {
5790
- "description": "Custom domain for the cluster",
5791
- "name": "domain",
5668
+ "backup_id": {
5669
+ "description": "Backup ID to delete",
5670
+ "name": "backup_id",
5792
5671
  "required": true,
5793
5672
  "hasDynamicHelp": false,
5794
5673
  "multiple": false,
5795
5674
  "type": "option"
5796
5675
  },
5797
- "name": {
5798
- "char": "n",
5799
- "description": "Cluster name",
5800
- "name": "name",
5801
- "required": true,
5802
- "hasDynamicHelp": false,
5803
- "multiple": false,
5804
- "type": "option"
5676
+ "force": {
5677
+ "char": "f",
5678
+ "description": "Skip confirmation prompt",
5679
+ "name": "force",
5680
+ "required": false,
5681
+ "allowNo": false,
5682
+ "type": "boolean"
5805
5683
  },
5806
5684
  "output": {
5807
5685
  "char": "o",
@@ -5817,22 +5695,19 @@
5817
5695
  ],
5818
5696
  "type": "option"
5819
5697
  },
5820
- "type": {
5821
- "description": "Cluster type",
5822
- "name": "type",
5823
- "required": true,
5698
+ "workspace": {
5699
+ "char": "w",
5700
+ "description": "Workspace ID (uses profile workspace if not provided)",
5701
+ "name": "workspace",
5702
+ "required": false,
5824
5703
  "hasDynamicHelp": false,
5825
5704
  "multiple": false,
5826
- "options": [
5827
- "standard",
5828
- "run"
5829
- ],
5830
5705
  "type": "option"
5831
5706
  }
5832
5707
  },
5833
5708
  "hasDynamicHelp": false,
5834
5709
  "hiddenAliases": [],
5835
- "id": "tenant:cluster:edit",
5710
+ "id": "tenant:backup:delete",
5836
5711
  "pluginAlias": "@xano/cli",
5837
5712
  "pluginName": "@xano/cli",
5838
5713
  "pluginType": "core",
@@ -5843,25 +5718,25 @@
5843
5718
  "dist",
5844
5719
  "commands",
5845
5720
  "tenant",
5846
- "cluster",
5847
- "edit",
5721
+ "backup",
5722
+ "delete",
5848
5723
  "index.js"
5849
5724
  ]
5850
5725
  },
5851
- "tenant:cluster:delete": {
5726
+ "tenant:backup:export": {
5852
5727
  "aliases": [],
5853
5728
  "args": {
5854
- "cluster_id": {
5855
- "description": "Cluster ID to delete",
5856
- "name": "cluster_id",
5729
+ "tenant_name": {
5730
+ "description": "Tenant name to export backup from",
5731
+ "name": "tenant_name",
5857
5732
  "required": true
5858
5733
  }
5859
5734
  },
5860
- "description": "Delete a tenant cluster. This action cannot be undone.",
5735
+ "description": "Export (download) a tenant backup to a local file",
5861
5736
  "examples": [
5862
- "$ 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",
5863
- "$ xano tenant cluster delete 3 --force\nTenant cluster 3 deleted successfully\n",
5864
- "$ xano tenant cluster delete 3 -f -o json"
5737
+ "$ xano tenant backup export t1234-abcd-xyz1 --backup_id 10\nDownloaded backup #10 to ./tenant-t1234-abcd-xyz1-backup-10.tar.gz\n",
5738
+ "$ xano tenant backup export t1234-abcd-xyz1 --backup_id 10 --output ./backups/my-backup.tar.gz",
5739
+ "$ xano tenant backup export t1234-abcd-xyz1 --backup_id 10 -o json"
5865
5740
  ],
5866
5741
  "flags": {
5867
5742
  "profile": {
@@ -5883,18 +5758,18 @@
5883
5758
  "allowNo": false,
5884
5759
  "type": "boolean"
5885
5760
  },
5886
- "force": {
5887
- "char": "f",
5888
- "description": "Skip confirmation prompt",
5889
- "name": "force",
5890
- "required": false,
5891
- "allowNo": false,
5892
- "type": "boolean"
5761
+ "backup_id": {
5762
+ "description": "Backup ID to export",
5763
+ "name": "backup_id",
5764
+ "required": true,
5765
+ "hasDynamicHelp": false,
5766
+ "multiple": false,
5767
+ "type": "option"
5893
5768
  },
5894
- "output": {
5769
+ "format": {
5895
5770
  "char": "o",
5896
5771
  "description": "Output format",
5897
- "name": "output",
5772
+ "name": "format",
5898
5773
  "required": false,
5899
5774
  "default": "summary",
5900
5775
  "hasDynamicHelp": false,
@@ -5904,11 +5779,28 @@
5904
5779
  "json"
5905
5780
  ],
5906
5781
  "type": "option"
5782
+ },
5783
+ "output": {
5784
+ "description": "Output file path (defaults to ./tenant-{name}-backup-{backup_id}.tar.gz)",
5785
+ "name": "output",
5786
+ "required": false,
5787
+ "hasDynamicHelp": false,
5788
+ "multiple": false,
5789
+ "type": "option"
5790
+ },
5791
+ "workspace": {
5792
+ "char": "w",
5793
+ "description": "Workspace ID (uses profile workspace if not provided)",
5794
+ "name": "workspace",
5795
+ "required": false,
5796
+ "hasDynamicHelp": false,
5797
+ "multiple": false,
5798
+ "type": "option"
5907
5799
  }
5908
5800
  },
5909
5801
  "hasDynamicHelp": false,
5910
5802
  "hiddenAliases": [],
5911
- "id": "tenant:cluster:delete",
5803
+ "id": "tenant:backup:export",
5912
5804
  "pluginAlias": "@xano/cli",
5913
5805
  "pluginName": "@xano/cli",
5914
5806
  "pluginType": "core",
@@ -5919,24 +5811,24 @@
5919
5811
  "dist",
5920
5812
  "commands",
5921
5813
  "tenant",
5922
- "cluster",
5923
- "delete",
5814
+ "backup",
5815
+ "export",
5924
5816
  "index.js"
5925
5817
  ]
5926
5818
  },
5927
- "tenant:cluster:get": {
5819
+ "tenant:backup:import": {
5928
5820
  "aliases": [],
5929
5821
  "args": {
5930
- "cluster_id": {
5931
- "description": "Cluster ID to retrieve",
5932
- "name": "cluster_id",
5822
+ "tenant_name": {
5823
+ "description": "Tenant name to import backup into",
5824
+ "name": "tenant_name",
5933
5825
  "required": true
5934
5826
  }
5935
5827
  },
5936
- "description": "Get details of a specific tenant cluster",
5828
+ "description": "Import a backup file into a tenant",
5937
5829
  "examples": [
5938
- "$ xano tenant cluster get 1\nCluster: us-east-1\n ID: 1\n Type: standard\n Domain: us-east-1.xano.io\n",
5939
- "$ xano tenant cluster get 1 -o json"
5830
+ "$ xano tenant backup import t1234-abcd-xyz1 --file ./my-backup.tar.gz\nImported backup as #15 for tenant t1234-abcd-xyz1\n",
5831
+ "$ xano tenant backup import t1234-abcd-xyz1 --file ./my-backup.tar.gz --description \"Restored from production\" -o json"
5940
5832
  ],
5941
5833
  "flags": {
5942
5834
  "profile": {
@@ -5958,6 +5850,25 @@
5958
5850
  "allowNo": false,
5959
5851
  "type": "boolean"
5960
5852
  },
5853
+ "description": {
5854
+ "char": "d",
5855
+ "description": "Backup description",
5856
+ "name": "description",
5857
+ "required": false,
5858
+ "default": "",
5859
+ "hasDynamicHelp": false,
5860
+ "multiple": false,
5861
+ "type": "option"
5862
+ },
5863
+ "file": {
5864
+ "char": "f",
5865
+ "description": "Path to the backup file (.tar.gz)",
5866
+ "name": "file",
5867
+ "required": true,
5868
+ "hasDynamicHelp": false,
5869
+ "multiple": false,
5870
+ "type": "option"
5871
+ },
5961
5872
  "output": {
5962
5873
  "char": "o",
5963
5874
  "description": "Output format",
@@ -5971,11 +5882,20 @@
5971
5882
  "json"
5972
5883
  ],
5973
5884
  "type": "option"
5885
+ },
5886
+ "workspace": {
5887
+ "char": "w",
5888
+ "description": "Workspace ID (uses profile workspace if not provided)",
5889
+ "name": "workspace",
5890
+ "required": false,
5891
+ "hasDynamicHelp": false,
5892
+ "multiple": false,
5893
+ "type": "option"
5974
5894
  }
5975
5895
  },
5976
5896
  "hasDynamicHelp": false,
5977
5897
  "hiddenAliases": [],
5978
- "id": "tenant:cluster:get",
5898
+ "id": "tenant:backup:import",
5979
5899
  "pluginAlias": "@xano/cli",
5980
5900
  "pluginName": "@xano/cli",
5981
5901
  "pluginType": "core",
@@ -5986,24 +5906,24 @@
5986
5906
  "dist",
5987
5907
  "commands",
5988
5908
  "tenant",
5989
- "cluster",
5990
- "get",
5909
+ "backup",
5910
+ "import",
5991
5911
  "index.js"
5992
5912
  ]
5993
5913
  },
5994
- "tenant:backup:restore": {
5914
+ "tenant:backup:list": {
5995
5915
  "aliases": [],
5996
5916
  "args": {
5997
5917
  "tenant_name": {
5998
- "description": "Tenant name to restore",
5918
+ "description": "Tenant name to list backups for",
5999
5919
  "name": "tenant_name",
6000
5920
  "required": true
6001
5921
  }
6002
5922
  },
6003
- "description": "Restore a tenant from a backup. This replaces the current tenant data.",
5923
+ "description": "List backups for a tenant",
6004
5924
  "examples": [
6005
- "$ 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",
6006
- "$ xano tenant backup restore t1234-abcd-xyz1 --backup_id 10 --force -o json"
5925
+ "$ 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",
5926
+ "$ xano tenant backup list t1234-abcd-xyz1 -o json"
6007
5927
  ],
6008
5928
  "flags": {
6009
5929
  "profile": {
@@ -6025,22 +5945,6 @@
6025
5945
  "allowNo": false,
6026
5946
  "type": "boolean"
6027
5947
  },
6028
- "backup_id": {
6029
- "description": "Backup ID to restore from",
6030
- "name": "backup_id",
6031
- "required": true,
6032
- "hasDynamicHelp": false,
6033
- "multiple": false,
6034
- "type": "option"
6035
- },
6036
- "force": {
6037
- "char": "f",
6038
- "description": "Skip confirmation prompt",
6039
- "name": "force",
6040
- "required": false,
6041
- "allowNo": false,
6042
- "type": "boolean"
6043
- },
6044
5948
  "output": {
6045
5949
  "char": "o",
6046
5950
  "description": "Output format",
@@ -6055,6 +5959,15 @@
6055
5959
  ],
6056
5960
  "type": "option"
6057
5961
  },
5962
+ "page": {
5963
+ "description": "Page number for pagination",
5964
+ "name": "page",
5965
+ "required": false,
5966
+ "default": 1,
5967
+ "hasDynamicHelp": false,
5968
+ "multiple": false,
5969
+ "type": "option"
5970
+ },
6058
5971
  "workspace": {
6059
5972
  "char": "w",
6060
5973
  "description": "Workspace ID (uses profile workspace if not provided)",
@@ -6067,7 +5980,7 @@
6067
5980
  },
6068
5981
  "hasDynamicHelp": false,
6069
5982
  "hiddenAliases": [],
6070
- "id": "tenant:backup:restore",
5983
+ "id": "tenant:backup:list",
6071
5984
  "pluginAlias": "@xano/cli",
6072
5985
  "pluginName": "@xano/cli",
6073
5986
  "pluginType": "core",
@@ -6079,17 +5992,23 @@
6079
5992
  "commands",
6080
5993
  "tenant",
6081
5994
  "backup",
6082
- "restore",
5995
+ "list",
6083
5996
  "index.js"
6084
5997
  ]
6085
5998
  },
6086
- "tenant:cluster:list": {
5999
+ "tenant:backup:restore": {
6087
6000
  "aliases": [],
6088
- "args": {},
6089
- "description": "List all tenant clusters",
6001
+ "args": {
6002
+ "tenant_name": {
6003
+ "description": "Tenant name to restore",
6004
+ "name": "tenant_name",
6005
+ "required": true
6006
+ }
6007
+ },
6008
+ "description": "Restore a tenant from a backup. This replaces the current tenant data.",
6090
6009
  "examples": [
6091
- "$ xano tenant cluster list\nTenant clusters:\n - us-east-1 (standard) [ID: 1]\n - eu-west-1 (run) [ID: 2]\n",
6092
- "$ xano tenant cluster list --output json"
6010
+ "$ 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",
6011
+ "$ xano tenant backup restore t1234-abcd-xyz1 --backup_id 10 --force -o json"
6093
6012
  ],
6094
6013
  "flags": {
6095
6014
  "profile": {
@@ -6111,6 +6030,22 @@
6111
6030
  "allowNo": false,
6112
6031
  "type": "boolean"
6113
6032
  },
6033
+ "backup_id": {
6034
+ "description": "Backup ID to restore from",
6035
+ "name": "backup_id",
6036
+ "required": true,
6037
+ "hasDynamicHelp": false,
6038
+ "multiple": false,
6039
+ "type": "option"
6040
+ },
6041
+ "force": {
6042
+ "char": "f",
6043
+ "description": "Skip confirmation prompt",
6044
+ "name": "force",
6045
+ "required": false,
6046
+ "allowNo": false,
6047
+ "type": "boolean"
6048
+ },
6114
6049
  "output": {
6115
6050
  "char": "o",
6116
6051
  "description": "Output format",
@@ -6124,11 +6059,20 @@
6124
6059
  "json"
6125
6060
  ],
6126
6061
  "type": "option"
6062
+ },
6063
+ "workspace": {
6064
+ "char": "w",
6065
+ "description": "Workspace ID (uses profile workspace if not provided)",
6066
+ "name": "workspace",
6067
+ "required": false,
6068
+ "hasDynamicHelp": false,
6069
+ "multiple": false,
6070
+ "type": "option"
6127
6071
  }
6128
6072
  },
6129
6073
  "hasDynamicHelp": false,
6130
6074
  "hiddenAliases": [],
6131
- "id": "tenant:cluster:list",
6075
+ "id": "tenant:backup:restore",
6132
6076
  "pluginAlias": "@xano/cli",
6133
6077
  "pluginName": "@xano/cli",
6134
6078
  "pluginType": "core",
@@ -6139,8 +6083,8 @@
6139
6083
  "dist",
6140
6084
  "commands",
6141
6085
  "tenant",
6142
- "cluster",
6143
- "list",
6086
+ "backup",
6087
+ "restore",
6144
6088
  "index.js"
6145
6089
  ]
6146
6090
  },
@@ -6417,7 +6361,7 @@
6417
6361
  "index.js"
6418
6362
  ]
6419
6363
  },
6420
- "tenant:env:list": {
6364
+ "tenant:env:set": {
6421
6365
  "aliases": [],
6422
6366
  "args": {
6423
6367
  "tenant_name": {
@@ -6426,10 +6370,10 @@
6426
6370
  "required": true
6427
6371
  }
6428
6372
  },
6429
- "description": "List environment variable keys for a tenant",
6373
+ "description": "Set (create or update) an environment variable for a tenant",
6430
6374
  "examples": [
6431
- "$ xano tenant env list my-tenant\nEnvironment variables for tenant my-tenant:\n - DATABASE_URL\n - API_KEY\n - SECRET_TOKEN\n",
6432
- "$ xano tenant env list my-tenant -w 5 -o json"
6375
+ "$ xano tenant env set my-tenant --name DATABASE_URL --value postgres://localhost:5432/mydb\nEnvironment variable 'DATABASE_URL' set for tenant my-tenant\n",
6376
+ "$ xano tenant env set my-tenant --name DATABASE_URL --value postgres://localhost:5432/mydb -w 5 -o json"
6433
6377
  ],
6434
6378
  "flags": {
6435
6379
  "profile": {
@@ -6451,6 +6395,15 @@
6451
6395
  "allowNo": false,
6452
6396
  "type": "boolean"
6453
6397
  },
6398
+ "name": {
6399
+ "char": "n",
6400
+ "description": "Environment variable name",
6401
+ "name": "name",
6402
+ "required": true,
6403
+ "hasDynamicHelp": false,
6404
+ "multiple": false,
6405
+ "type": "option"
6406
+ },
6454
6407
  "output": {
6455
6408
  "char": "o",
6456
6409
  "description": "Output format",
@@ -6465,6 +6418,14 @@
6465
6418
  ],
6466
6419
  "type": "option"
6467
6420
  },
6421
+ "value": {
6422
+ "description": "Environment variable value",
6423
+ "name": "value",
6424
+ "required": true,
6425
+ "hasDynamicHelp": false,
6426
+ "multiple": false,
6427
+ "type": "option"
6428
+ },
6468
6429
  "workspace": {
6469
6430
  "char": "w",
6470
6431
  "description": "Workspace ID (uses profile workspace if not provided)",
@@ -6477,7 +6438,7 @@
6477
6438
  },
6478
6439
  "hasDynamicHelp": false,
6479
6440
  "hiddenAliases": [],
6480
- "id": "tenant:env:list",
6441
+ "id": "tenant:env:set",
6481
6442
  "pluginAlias": "@xano/cli",
6482
6443
  "pluginName": "@xano/cli",
6483
6444
  "pluginType": "core",
@@ -6489,23 +6450,23 @@
6489
6450
  "commands",
6490
6451
  "tenant",
6491
6452
  "env",
6492
- "list",
6453
+ "set",
6493
6454
  "index.js"
6494
6455
  ]
6495
6456
  },
6496
- "tenant:env:set": {
6457
+ "tenant:cluster:get": {
6497
6458
  "aliases": [],
6498
6459
  "args": {
6499
- "tenant_name": {
6500
- "description": "Tenant name",
6501
- "name": "tenant_name",
6460
+ "cluster_id": {
6461
+ "description": "Cluster ID to retrieve",
6462
+ "name": "cluster_id",
6502
6463
  "required": true
6503
6464
  }
6504
6465
  },
6505
- "description": "Set (create or update) an environment variable for a tenant",
6466
+ "description": "Get details of a specific tenant cluster",
6506
6467
  "examples": [
6507
- "$ xano tenant env set my-tenant --name DATABASE_URL --value postgres://localhost:5432/mydb\nEnvironment variable 'DATABASE_URL' set for tenant my-tenant\n",
6508
- "$ xano tenant env set my-tenant --name DATABASE_URL --value postgres://localhost:5432/mydb -w 5 -o json"
6468
+ "$ xano tenant cluster get 1\nCluster: us-east-1\n ID: 1\n Type: standard\n Domain: us-east-1.xano.io\n",
6469
+ "$ xano tenant cluster get 1 -o json"
6509
6470
  ],
6510
6471
  "flags": {
6511
6472
  "profile": {
@@ -6527,15 +6488,6 @@
6527
6488
  "allowNo": false,
6528
6489
  "type": "boolean"
6529
6490
  },
6530
- "name": {
6531
- "char": "n",
6532
- "description": "Environment variable name",
6533
- "name": "name",
6534
- "required": true,
6535
- "hasDynamicHelp": false,
6536
- "multiple": false,
6537
- "type": "option"
6538
- },
6539
6491
  "output": {
6540
6492
  "char": "o",
6541
6493
  "description": "Output format",
@@ -6549,28 +6501,11 @@
6549
6501
  "json"
6550
6502
  ],
6551
6503
  "type": "option"
6552
- },
6553
- "value": {
6554
- "description": "Environment variable value",
6555
- "name": "value",
6556
- "required": true,
6557
- "hasDynamicHelp": false,
6558
- "multiple": false,
6559
- "type": "option"
6560
- },
6561
- "workspace": {
6562
- "char": "w",
6563
- "description": "Workspace ID (uses profile workspace if not provided)",
6564
- "name": "workspace",
6565
- "required": false,
6566
- "hasDynamicHelp": false,
6567
- "multiple": false,
6568
- "type": "option"
6569
6504
  }
6570
6505
  },
6571
6506
  "hasDynamicHelp": false,
6572
6507
  "hiddenAliases": [],
6573
- "id": "tenant:env:set",
6508
+ "id": "tenant:cluster:get",
6574
6509
  "pluginAlias": "@xano/cli",
6575
6510
  "pluginName": "@xano/cli",
6576
6511
  "pluginType": "core",
@@ -6581,12 +6516,12 @@
6581
6516
  "dist",
6582
6517
  "commands",
6583
6518
  "tenant",
6584
- "env",
6585
- "set",
6519
+ "cluster",
6520
+ "get",
6586
6521
  "index.js"
6587
6522
  ]
6588
6523
  },
6589
- "tenant:env:set_all": {
6524
+ "tenant:env:list": {
6590
6525
  "aliases": [],
6591
6526
  "args": {
6592
6527
  "tenant_name": {
@@ -6595,11 +6530,10 @@
6595
6530
  "required": true
6596
6531
  }
6597
6532
  },
6598
- "description": "Set all environment variables for a tenant from a YAML file (replaces all existing)",
6533
+ "description": "List environment variable keys for a tenant",
6599
6534
  "examples": [
6600
- "$ xano tenant env set_all my-tenant\nReads from env_my-tenant.yaml\n",
6601
- "$ xano tenant env set_all my-tenant --file ./my-env.yaml",
6602
- "$ xano tenant env set_all my-tenant -o json"
6535
+ "$ xano tenant env list my-tenant\nEnvironment variables for tenant my-tenant:\n - DATABASE_URL\n - API_KEY\n - SECRET_TOKEN\n",
6536
+ "$ xano tenant env list my-tenant -w 5 -o json"
6603
6537
  ],
6604
6538
  "flags": {
6605
6539
  "profile": {
@@ -6621,22 +6555,6 @@
6621
6555
  "allowNo": false,
6622
6556
  "type": "boolean"
6623
6557
  },
6624
- "clean": {
6625
- "description": "Remove the source file after successful upload",
6626
- "name": "clean",
6627
- "required": false,
6628
- "allowNo": false,
6629
- "type": "boolean"
6630
- },
6631
- "file": {
6632
- "char": "f",
6633
- "description": "Path to env file (default: env_<tenant_name>.yaml)",
6634
- "name": "file",
6635
- "required": false,
6636
- "hasDynamicHelp": false,
6637
- "multiple": false,
6638
- "type": "option"
6639
- },
6640
6558
  "output": {
6641
6559
  "char": "o",
6642
6560
  "description": "Output format",
@@ -6663,7 +6581,7 @@
6663
6581
  },
6664
6582
  "hasDynamicHelp": false,
6665
6583
  "hiddenAliases": [],
6666
- "id": "tenant:env:set_all",
6584
+ "id": "tenant:env:list",
6667
6585
  "pluginAlias": "@xano/cli",
6668
6586
  "pluginName": "@xano/cli",
6669
6587
  "pluginType": "core",
@@ -6675,11 +6593,11 @@
6675
6593
  "commands",
6676
6594
  "tenant",
6677
6595
  "env",
6678
- "set_all",
6596
+ "list",
6679
6597
  "index.js"
6680
6598
  ]
6681
6599
  },
6682
- "tenant:license:get": {
6600
+ "tenant:env:set_all": {
6683
6601
  "aliases": [],
6684
6602
  "args": {
6685
6603
  "tenant_name": {
@@ -6688,12 +6606,11 @@
6688
6606
  "required": true
6689
6607
  }
6690
6608
  },
6691
- "description": "Get the license for a tenant",
6609
+ "description": "Set all environment variables for a tenant from a YAML file (replaces all existing)",
6692
6610
  "examples": [
6693
- "$ xano tenant license get my-tenant\nLicense saved to license_my-tenant.yaml\n",
6694
- "$ xano tenant license get my-tenant --file ./my-license.yaml\nLicense saved to my-license.yaml\n",
6695
- "$ xano tenant license get my-tenant --view",
6696
- "$ xano tenant license get my-tenant -o json"
6611
+ "$ xano tenant env set_all my-tenant\nReads from env_my-tenant.yaml\n",
6612
+ "$ xano tenant env set_all my-tenant --file ./my-env.yaml",
6613
+ "$ xano tenant env set_all my-tenant -o json"
6697
6614
  ],
6698
6615
  "flags": {
6699
6616
  "profile": {
@@ -6715,9 +6632,16 @@
6715
6632
  "allowNo": false,
6716
6633
  "type": "boolean"
6717
6634
  },
6635
+ "clean": {
6636
+ "description": "Remove the source file after successful upload",
6637
+ "name": "clean",
6638
+ "required": false,
6639
+ "allowNo": false,
6640
+ "type": "boolean"
6641
+ },
6718
6642
  "file": {
6719
6643
  "char": "f",
6720
- "description": "Output file path (default: license_<tenant_name>.yaml)",
6644
+ "description": "Path to env file (default: env_<tenant_name>.yaml)",
6721
6645
  "name": "file",
6722
6646
  "required": false,
6723
6647
  "hasDynamicHelp": false,
@@ -6738,13 +6662,6 @@
6738
6662
  ],
6739
6663
  "type": "option"
6740
6664
  },
6741
- "view": {
6742
- "description": "Print license to stdout instead of saving to file",
6743
- "name": "view",
6744
- "required": false,
6745
- "allowNo": false,
6746
- "type": "boolean"
6747
- },
6748
6665
  "workspace": {
6749
6666
  "char": "w",
6750
6667
  "description": "Workspace ID (uses profile workspace if not provided)",
@@ -6757,7 +6674,7 @@
6757
6674
  },
6758
6675
  "hasDynamicHelp": false,
6759
6676
  "hiddenAliases": [],
6760
- "id": "tenant:license:get",
6677
+ "id": "tenant:env:set_all",
6761
6678
  "pluginAlias": "@xano/cli",
6762
6679
  "pluginName": "@xano/cli",
6763
6680
  "pluginType": "core",
@@ -6768,12 +6685,12 @@
6768
6685
  "dist",
6769
6686
  "commands",
6770
6687
  "tenant",
6771
- "license",
6772
- "get",
6688
+ "env",
6689
+ "set_all",
6773
6690
  "index.js"
6774
6691
  ]
6775
6692
  },
6776
- "tenant:license:set": {
6693
+ "tenant:license:get": {
6777
6694
  "aliases": [],
6778
6695
  "args": {
6779
6696
  "tenant_name": {
@@ -6782,12 +6699,12 @@
6782
6699
  "required": true
6783
6700
  }
6784
6701
  },
6785
- "description": "Set/update the license for a tenant",
6702
+ "description": "Get the license for a tenant",
6786
6703
  "examples": [
6787
- "$ xano tenant license set my-tenant\nReads from license_my-tenant.yaml\n",
6788
- "$ xano tenant license set my-tenant --file ./license.yaml",
6789
- "$ xano tenant license set my-tenant --value 'key: value'",
6790
- "$ xano tenant license set my-tenant -o json"
6704
+ "$ xano tenant license get my-tenant\nLicense saved to license_my-tenant.yaml\n",
6705
+ "$ xano tenant license get my-tenant --file ./my-license.yaml\nLicense saved to my-license.yaml\n",
6706
+ "$ xano tenant license get my-tenant --view",
6707
+ "$ xano tenant license get my-tenant -o json"
6791
6708
  ],
6792
6709
  "flags": {
6793
6710
  "profile": {
@@ -6809,22 +6726,9 @@
6809
6726
  "allowNo": false,
6810
6727
  "type": "boolean"
6811
6728
  },
6812
- "clean": {
6813
- "description": "Remove the source file after successful upload",
6814
- "exclusive": [
6815
- "value"
6816
- ],
6817
- "name": "clean",
6818
- "required": false,
6819
- "allowNo": false,
6820
- "type": "boolean"
6821
- },
6822
6729
  "file": {
6823
6730
  "char": "f",
6824
- "description": "Path to license file (default: license_<tenant_name>.yaml)",
6825
- "exclusive": [
6826
- "value"
6827
- ],
6731
+ "description": "Output file path (default: license_<tenant_name>.yaml)",
6828
6732
  "name": "file",
6829
6733
  "required": false,
6830
6734
  "hasDynamicHelp": false,
@@ -6845,17 +6749,12 @@
6845
6749
  ],
6846
6750
  "type": "option"
6847
6751
  },
6848
- "value": {
6849
- "description": "Inline license value",
6850
- "exclusive": [
6851
- "file",
6852
- "clean"
6853
- ],
6854
- "name": "value",
6752
+ "view": {
6753
+ "description": "Print license to stdout instead of saving to file",
6754
+ "name": "view",
6855
6755
  "required": false,
6856
- "hasDynamicHelp": false,
6857
- "multiple": false,
6858
- "type": "option"
6756
+ "allowNo": false,
6757
+ "type": "boolean"
6859
6758
  },
6860
6759
  "workspace": {
6861
6760
  "char": "w",
@@ -6869,7 +6768,7 @@
6869
6768
  },
6870
6769
  "hasDynamicHelp": false,
6871
6770
  "hiddenAliases": [],
6872
- "id": "tenant:license:set",
6771
+ "id": "tenant:license:get",
6873
6772
  "pluginAlias": "@xano/cli",
6874
6773
  "pluginName": "@xano/cli",
6875
6774
  "pluginType": "core",
@@ -6881,7 +6780,7 @@
6881
6780
  "commands",
6882
6781
  "tenant",
6883
6782
  "license",
6884
- "set",
6783
+ "get",
6885
6784
  "index.js"
6886
6785
  ]
6887
6786
  },
@@ -7168,7 +7067,119 @@
7168
7067
  "set",
7169
7068
  "index.js"
7170
7069
  ]
7070
+ },
7071
+ "tenant:license:set": {
7072
+ "aliases": [],
7073
+ "args": {
7074
+ "tenant_name": {
7075
+ "description": "Tenant name",
7076
+ "name": "tenant_name",
7077
+ "required": true
7078
+ }
7079
+ },
7080
+ "description": "Set/update the license for a tenant",
7081
+ "examples": [
7082
+ "$ xano tenant license set my-tenant\nReads from license_my-tenant.yaml\n",
7083
+ "$ xano tenant license set my-tenant --file ./license.yaml",
7084
+ "$ xano tenant license set my-tenant --value 'key: value'",
7085
+ "$ xano tenant license set my-tenant -o json"
7086
+ ],
7087
+ "flags": {
7088
+ "profile": {
7089
+ "char": "p",
7090
+ "description": "Profile to use (uses default profile if not specified)",
7091
+ "env": "XANO_PROFILE",
7092
+ "name": "profile",
7093
+ "required": false,
7094
+ "hasDynamicHelp": false,
7095
+ "multiple": false,
7096
+ "type": "option"
7097
+ },
7098
+ "verbose": {
7099
+ "char": "v",
7100
+ "description": "Show detailed request/response information",
7101
+ "env": "XANO_VERBOSE",
7102
+ "name": "verbose",
7103
+ "required": false,
7104
+ "allowNo": false,
7105
+ "type": "boolean"
7106
+ },
7107
+ "clean": {
7108
+ "description": "Remove the source file after successful upload",
7109
+ "exclusive": [
7110
+ "value"
7111
+ ],
7112
+ "name": "clean",
7113
+ "required": false,
7114
+ "allowNo": false,
7115
+ "type": "boolean"
7116
+ },
7117
+ "file": {
7118
+ "char": "f",
7119
+ "description": "Path to license file (default: license_<tenant_name>.yaml)",
7120
+ "exclusive": [
7121
+ "value"
7122
+ ],
7123
+ "name": "file",
7124
+ "required": false,
7125
+ "hasDynamicHelp": false,
7126
+ "multiple": false,
7127
+ "type": "option"
7128
+ },
7129
+ "output": {
7130
+ "char": "o",
7131
+ "description": "Output format",
7132
+ "name": "output",
7133
+ "required": false,
7134
+ "default": "summary",
7135
+ "hasDynamicHelp": false,
7136
+ "multiple": false,
7137
+ "options": [
7138
+ "summary",
7139
+ "json"
7140
+ ],
7141
+ "type": "option"
7142
+ },
7143
+ "value": {
7144
+ "description": "Inline license value",
7145
+ "exclusive": [
7146
+ "file",
7147
+ "clean"
7148
+ ],
7149
+ "name": "value",
7150
+ "required": false,
7151
+ "hasDynamicHelp": false,
7152
+ "multiple": false,
7153
+ "type": "option"
7154
+ },
7155
+ "workspace": {
7156
+ "char": "w",
7157
+ "description": "Workspace ID (uses profile workspace if not provided)",
7158
+ "name": "workspace",
7159
+ "required": false,
7160
+ "hasDynamicHelp": false,
7161
+ "multiple": false,
7162
+ "type": "option"
7163
+ }
7164
+ },
7165
+ "hasDynamicHelp": false,
7166
+ "hiddenAliases": [],
7167
+ "id": "tenant:license:set",
7168
+ "pluginAlias": "@xano/cli",
7169
+ "pluginName": "@xano/cli",
7170
+ "pluginType": "core",
7171
+ "strict": true,
7172
+ "enableJsonFlag": false,
7173
+ "isESM": true,
7174
+ "relativePath": [
7175
+ "dist",
7176
+ "commands",
7177
+ "tenant",
7178
+ "license",
7179
+ "set",
7180
+ "index.js"
7181
+ ]
7171
7182
  }
7172
7183
  },
7173
- "version": "0.0.89"
7184
+ "version": "0.0.90"
7174
7185
  }