@xano/cli 0.0.21 → 0.0.23

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.
Files changed (107) hide show
  1. package/dist/base-command.d.ts +1 -1
  2. package/dist/base-command.js +6 -6
  3. package/dist/commands/branch/create/index.d.ts +17 -0
  4. package/dist/commands/branch/create/index.js +164 -0
  5. package/dist/commands/branch/delete/index.d.ts +18 -0
  6. package/dist/commands/branch/delete/index.js +156 -0
  7. package/dist/commands/branch/edit/index.d.ts +19 -0
  8. package/dist/commands/branch/edit/index.js +166 -0
  9. package/dist/commands/branch/get/index.d.ts +16 -0
  10. package/dist/commands/branch/get/index.js +135 -0
  11. package/dist/commands/branch/list/index.d.ts +18 -0
  12. package/dist/commands/branch/list/index.js +138 -0
  13. package/dist/commands/branch/set-live/index.d.ts +18 -0
  14. package/dist/commands/branch/set-live/index.js +155 -0
  15. package/dist/commands/function/create/index.d.ts +6 -6
  16. package/dist/commands/function/create/index.js +55 -55
  17. package/dist/commands/function/edit/index.d.ts +10 -10
  18. package/dist/commands/function/edit/index.js +155 -162
  19. package/dist/commands/function/get/index.d.ts +5 -5
  20. package/dist/commands/function/get/index.js +55 -60
  21. package/dist/commands/function/list/index.d.ts +5 -5
  22. package/dist/commands/function/list/index.js +52 -52
  23. package/dist/commands/profile/create/index.d.ts +6 -6
  24. package/dist/commands/profile/create/index.js +37 -37
  25. package/dist/commands/profile/delete/index.d.ts +2 -2
  26. package/dist/commands/profile/delete/index.js +9 -9
  27. package/dist/commands/profile/edit/index.d.ts +7 -7
  28. package/dist/commands/profile/edit/index.js +47 -47
  29. package/dist/commands/profile/get-default/index.js +1 -1
  30. package/dist/commands/profile/list/index.d.ts +2 -2
  31. package/dist/commands/profile/list/index.js +9 -9
  32. package/dist/commands/profile/me/index.d.ts +3 -3
  33. package/dist/commands/profile/me/index.js +21 -21
  34. package/dist/commands/profile/project/index.js +1 -1
  35. package/dist/commands/profile/set-default/index.js +1 -1
  36. package/dist/commands/profile/token/index.js +1 -1
  37. package/dist/commands/profile/wizard/index.d.ts +4 -4
  38. package/dist/commands/profile/wizard/index.js +118 -122
  39. package/dist/commands/run/env/delete/index.d.ts +2 -2
  40. package/dist/commands/run/env/delete/index.js +9 -9
  41. package/dist/commands/run/env/get/index.d.ts +2 -2
  42. package/dist/commands/run/env/get/index.js +10 -10
  43. package/dist/commands/run/env/list/index.d.ts +2 -2
  44. package/dist/commands/run/env/list/index.js +16 -18
  45. package/dist/commands/run/env/set/index.d.ts +2 -2
  46. package/dist/commands/run/env/set/index.js +4 -4
  47. package/dist/commands/run/exec/index.d.ts +11 -11
  48. package/dist/commands/run/exec/index.js +109 -109
  49. package/dist/commands/run/info/index.d.ts +4 -4
  50. package/dist/commands/run/info/index.js +26 -26
  51. package/dist/commands/run/projects/create/index.d.ts +3 -3
  52. package/dist/commands/run/projects/create/index.js +22 -22
  53. package/dist/commands/run/projects/delete/index.d.ts +2 -2
  54. package/dist/commands/run/projects/delete/index.js +9 -9
  55. package/dist/commands/run/projects/list/index.d.ts +2 -2
  56. package/dist/commands/run/projects/list/index.js +11 -11
  57. package/dist/commands/run/projects/update/index.d.ts +3 -3
  58. package/dist/commands/run/projects/update/index.js +20 -20
  59. package/dist/commands/run/secrets/delete/index.d.ts +2 -2
  60. package/dist/commands/run/secrets/delete/index.js +9 -9
  61. package/dist/commands/run/secrets/get/index.d.ts +2 -2
  62. package/dist/commands/run/secrets/get/index.js +10 -10
  63. package/dist/commands/run/secrets/list/index.d.ts +2 -2
  64. package/dist/commands/run/secrets/list/index.js +21 -23
  65. package/dist/commands/run/secrets/set/index.d.ts +3 -3
  66. package/dist/commands/run/secrets/set/index.js +15 -15
  67. package/dist/commands/run/sessions/delete/index.d.ts +2 -2
  68. package/dist/commands/run/sessions/delete/index.js +9 -9
  69. package/dist/commands/run/sessions/get/index.d.ts +2 -2
  70. package/dist/commands/run/sessions/get/index.js +10 -10
  71. package/dist/commands/run/sessions/list/index.d.ts +2 -2
  72. package/dist/commands/run/sessions/list/index.js +10 -10
  73. package/dist/commands/run/sessions/start/index.d.ts +2 -2
  74. package/dist/commands/run/sessions/start/index.js +10 -10
  75. package/dist/commands/run/sessions/stop/index.d.ts +2 -2
  76. package/dist/commands/run/sessions/stop/index.js +10 -10
  77. package/dist/commands/run/sink/get/index.d.ts +2 -2
  78. package/dist/commands/run/sink/get/index.js +10 -10
  79. package/dist/commands/static_host/build/create/index.d.ts +4 -4
  80. package/dist/commands/static_host/build/create/index.js +33 -33
  81. package/dist/commands/static_host/build/get/index.d.ts +4 -4
  82. package/dist/commands/static_host/build/get/index.js +20 -20
  83. package/dist/commands/static_host/build/list/index.d.ts +3 -3
  84. package/dist/commands/static_host/build/list/index.js +31 -31
  85. package/dist/commands/static_host/list/index.d.ts +3 -3
  86. package/dist/commands/static_host/list/index.js +31 -31
  87. package/dist/commands/workspace/create/index.d.ts +3 -3
  88. package/dist/commands/workspace/create/index.js +24 -24
  89. package/dist/commands/workspace/delete/index.d.ts +2 -2
  90. package/dist/commands/workspace/delete/index.js +18 -18
  91. package/dist/commands/workspace/edit/index.d.ts +5 -5
  92. package/dist/commands/workspace/edit/index.js +34 -34
  93. package/dist/commands/workspace/get/index.d.ts +2 -2
  94. package/dist/commands/workspace/get/index.js +12 -12
  95. package/dist/commands/workspace/list/index.d.ts +2 -2
  96. package/dist/commands/workspace/list/index.js +15 -15
  97. package/dist/commands/workspace/pull/index.d.ts +4 -4
  98. package/dist/commands/workspace/pull/index.js +46 -51
  99. package/dist/commands/workspace/push/index.js +3 -3
  100. package/dist/help.d.ts +1 -1
  101. package/dist/lib/base-run-command.d.ts +4 -4
  102. package/dist/lib/base-run-command.js +3 -3
  103. package/dist/lib/run-http-client.d.ts +20 -20
  104. package/dist/lib/run-http-client.js +71 -71
  105. package/dist/lib/run-types.d.ts +80 -80
  106. package/oclif.manifest.json +1531 -1010
  107. package/package.json +1 -1
@@ -1,15 +1,13 @@
1
1
  {
2
2
  "commands": {
3
- "function:create": {
3
+ "branch:create": {
4
4
  "aliases": [],
5
5
  "args": {},
6
- "description": "Create a new function in a workspace",
6
+ "description": "Create a new branch by cloning from an existing branch",
7
7
  "examples": [
8
- "$ xano function:create -w 40 -f function.xs\nFunction created successfully!\nID: 123\nName: my_function\n",
9
- "$ xano function:create -f function.xs\nFunction created successfully!\nID: 123\nName: my_function\n",
10
- "$ xano function:create -w 40 -f function.xs --edit\n# Opens function.xs in $EDITOR, then creates function with edited content\nFunction created successfully!\nID: 123\nName: my_function\n",
11
- "$ cat function.xs | xano function:create -w 40 --stdin\nFunction created successfully!\nID: 123\nName: my_function\n",
12
- "$ xano function:create -w 40 -f function.xs -o json\n{\n \"id\": 123,\n \"name\": \"my_function\",\n ...\n}\n"
8
+ "$ xano branch create --label dev\nCreated branch: dev\n Cloned from: v1\n",
9
+ "$ xano branch create -l feature-auth -s dev -d \"Authentication feature\"\nCreated branch: feature-auth\n Cloned from: dev\n Description: Authentication feature\n",
10
+ "$ xano branch create --label staging --color \"#ebc346\" --output json\n{\n \"created_at\": \"2024-02-11T10:00:00Z\",\n \"label\": \"staging\",\n \"backup\": false,\n \"live\": false\n}\n"
13
11
  ],
14
12
  "flags": {
15
13
  "profile": {
@@ -31,48 +29,32 @@
31
29
  "allowNo": false,
32
30
  "type": "boolean"
33
31
  },
34
- "workspace": {
35
- "char": "w",
36
- "description": "Workspace ID (optional if set in profile)",
37
- "name": "workspace",
32
+ "color": {
33
+ "char": "c",
34
+ "description": "Color hex code for the branch (e.g., \"#ebc346\")",
35
+ "name": "color",
38
36
  "required": false,
39
37
  "hasDynamicHelp": false,
40
38
  "multiple": false,
41
39
  "type": "option"
42
40
  },
43
- "file": {
44
- "char": "f",
45
- "description": "Path to file containing XanoScript code",
46
- "exclusive": [
47
- "stdin"
48
- ],
49
- "name": "file",
41
+ "description": {
42
+ "char": "d",
43
+ "description": "Description for the new branch",
44
+ "name": "description",
50
45
  "required": false,
51
46
  "hasDynamicHelp": false,
52
47
  "multiple": false,
53
48
  "type": "option"
54
49
  },
55
- "stdin": {
56
- "char": "s",
57
- "description": "Read XanoScript code from stdin",
58
- "exclusive": [
59
- "file"
60
- ],
61
- "name": "stdin",
62
- "required": false,
63
- "allowNo": false,
64
- "type": "boolean"
65
- },
66
- "edit": {
67
- "char": "e",
68
- "dependsOn": [
69
- "file"
70
- ],
71
- "description": "Open file in editor before creating function (requires --file)",
72
- "name": "edit",
73
- "required": false,
74
- "allowNo": false,
75
- "type": "boolean"
50
+ "label": {
51
+ "char": "l",
52
+ "description": "Label for the new branch",
53
+ "name": "label",
54
+ "required": true,
55
+ "hasDynamicHelp": false,
56
+ "multiple": false,
57
+ "type": "option"
76
58
  },
77
59
  "output": {
78
60
  "char": "o",
@@ -87,11 +69,30 @@
87
69
  "json"
88
70
  ],
89
71
  "type": "option"
72
+ },
73
+ "source": {
74
+ "char": "s",
75
+ "description": "Source branch to clone from (defaults to \"v1\")",
76
+ "name": "source",
77
+ "required": false,
78
+ "default": "v1",
79
+ "hasDynamicHelp": false,
80
+ "multiple": false,
81
+ "type": "option"
82
+ },
83
+ "workspace": {
84
+ "char": "w",
85
+ "description": "Workspace ID (uses profile workspace if not provided)",
86
+ "name": "workspace",
87
+ "required": false,
88
+ "hasDynamicHelp": false,
89
+ "multiple": false,
90
+ "type": "option"
90
91
  }
91
92
  },
92
93
  "hasDynamicHelp": false,
93
94
  "hiddenAliases": [],
94
- "id": "function:create",
95
+ "id": "branch:create",
95
96
  "pluginAlias": "@xano/cli",
96
97
  "pluginName": "@xano/cli",
97
98
  "pluginType": "core",
@@ -101,30 +102,25 @@
101
102
  "relativePath": [
102
103
  "dist",
103
104
  "commands",
104
- "function",
105
+ "branch",
105
106
  "create",
106
107
  "index.js"
107
108
  ]
108
109
  },
109
- "function:edit": {
110
+ "branch:delete": {
110
111
  "aliases": [],
111
112
  "args": {
112
- "function_id": {
113
- "description": "Function ID to edit",
114
- "name": "function_id",
115
- "required": false
113
+ "branch_label": {
114
+ "description": "Branch label to delete (cannot delete \"v1\" or the live branch)",
115
+ "name": "branch_label",
116
+ "required": true
116
117
  }
117
118
  },
118
- "description": "Edit a function in a workspace",
119
+ "description": "Delete a branch (cannot delete \"v1\" or the live branch)",
119
120
  "examples": [
120
- "$ xano function:edit 163\n# Fetches the function code and opens it in $EDITOR for editing\nFunction updated successfully!\nID: 163\nName: my_function\n",
121
- "$ xano function:edit\n# Prompts for function, fetches the code and opens it in $EDITOR for editing\nSelect a function to edit:\n ❯ my_function (ID: 163) - Sample function\n another-func (ID: 164)\n",
122
- "$ xano function:edit 163 -f function.xs\nFunction updated successfully!\nID: 163\nName: my_function\n",
123
- "$ xano function:edit 163 -w 40 -f function.xs\nFunction updated successfully!\nID: 163\nName: my_function\n",
124
- "$ xano function:edit -f function.xs\nSelect a function to edit:\n ❯ my_function (ID: 163) - Sample function\n another-func (ID: 164)\n",
125
- "$ xano function:edit 163 -f function.xs --edit\n# Opens function.xs in $EDITOR, then updates function with edited content\nFunction updated successfully!\nID: 163\nName: my_function\n",
126
- "$ cat function.xs | xano function:edit 163 --stdin\nFunction updated successfully!\nID: 163\nName: my_function\n",
127
- "$ xano function:edit 163 -f function.xs -o json\n{\n \"id\": 163,\n \"name\": \"my_function\",\n ...\n}\n"
121
+ "$ xano branch delete feature-old\nAre you sure you want to delete branch 'feature-old'? This action cannot be undone. (y/N) y\nDeleted branch: feature-old\n",
122
+ "$ xano branch delete dev --force\nDeleted branch: dev\n",
123
+ "$ xano branch delete staging -f -o json\n{\n \"deleted\": true,\n \"branch_label\": \"staging\"\n}\n"
128
124
  ],
129
125
  "flags": {
130
126
  "profile": {
@@ -146,52 +142,116 @@
146
142
  "allowNo": false,
147
143
  "type": "boolean"
148
144
  },
145
+ "force": {
146
+ "char": "f",
147
+ "description": "Skip confirmation prompt",
148
+ "name": "force",
149
+ "required": false,
150
+ "allowNo": false,
151
+ "type": "boolean"
152
+ },
153
+ "output": {
154
+ "char": "o",
155
+ "description": "Output format",
156
+ "name": "output",
157
+ "required": false,
158
+ "default": "summary",
159
+ "hasDynamicHelp": false,
160
+ "multiple": false,
161
+ "options": [
162
+ "summary",
163
+ "json"
164
+ ],
165
+ "type": "option"
166
+ },
149
167
  "workspace": {
150
168
  "char": "w",
151
- "description": "Workspace ID (optional if set in profile)",
169
+ "description": "Workspace ID (uses profile workspace if not provided)",
152
170
  "name": "workspace",
153
171
  "required": false,
154
172
  "hasDynamicHelp": false,
155
173
  "multiple": false,
156
174
  "type": "option"
157
- },
158
- "file": {
159
- "char": "f",
160
- "description": "Path to file containing XanoScript code",
161
- "exclusive": [
162
- "stdin"
163
- ],
164
- "name": "file",
175
+ }
176
+ },
177
+ "hasDynamicHelp": false,
178
+ "hiddenAliases": [],
179
+ "id": "branch:delete",
180
+ "pluginAlias": "@xano/cli",
181
+ "pluginName": "@xano/cli",
182
+ "pluginType": "core",
183
+ "strict": true,
184
+ "enableJsonFlag": false,
185
+ "isESM": true,
186
+ "relativePath": [
187
+ "dist",
188
+ "commands",
189
+ "branch",
190
+ "delete",
191
+ "index.js"
192
+ ]
193
+ },
194
+ "branch:edit": {
195
+ "aliases": [],
196
+ "args": {
197
+ "branch_label": {
198
+ "description": "Branch label to edit (cannot edit \"v1\" label)",
199
+ "name": "branch_label",
200
+ "required": true
201
+ }
202
+ },
203
+ "description": "Update an existing branch (cannot update \"v1\" label)",
204
+ "examples": [
205
+ "$ xano branch edit dev --label development\nUpdated branch: development\n",
206
+ "$ xano branch edit feature-auth -l feature-authentication --color \"#ff5733\"\nUpdated branch: feature-authentication\n Color: #ff5733\n",
207
+ "$ xano branch edit staging --description \"Staging environment\" -o json\n{\n \"created_at\": \"2024-02-10T09:15:00Z\",\n \"label\": \"staging\",\n \"backup\": false\n}\n"
208
+ ],
209
+ "flags": {
210
+ "profile": {
211
+ "char": "p",
212
+ "description": "Profile to use for this command",
213
+ "env": "XANO_PROFILE",
214
+ "name": "profile",
165
215
  "required": false,
166
216
  "hasDynamicHelp": false,
167
217
  "multiple": false,
168
218
  "type": "option"
169
219
  },
170
- "stdin": {
171
- "char": "s",
172
- "description": "Read XanoScript code from stdin",
173
- "exclusive": [
174
- "file"
175
- ],
176
- "name": "stdin",
220
+ "verbose": {
221
+ "char": "v",
222
+ "description": "Show detailed request/response information",
223
+ "env": "XANO_VERBOSE",
224
+ "name": "verbose",
177
225
  "required": false,
178
226
  "allowNo": false,
179
227
  "type": "boolean"
180
228
  },
181
- "edit": {
182
- "char": "e",
183
- "description": "Open file in editor before updating function (requires --file)",
184
- "name": "edit",
229
+ "color": {
230
+ "char": "c",
231
+ "description": "New color hex code for the branch (e.g., \"#ff5733\")",
232
+ "name": "color",
185
233
  "required": false,
186
- "allowNo": false,
187
- "type": "boolean"
234
+ "hasDynamicHelp": false,
235
+ "multiple": false,
236
+ "type": "option"
188
237
  },
189
- "publish": {
190
- "description": "Publish the function after editing",
191
- "name": "publish",
238
+ "description": {
239
+ "char": "d",
240
+ "description": "New description for the branch",
241
+ "name": "description",
192
242
  "required": false,
193
- "allowNo": false,
194
- "type": "boolean"
243
+ "hasDynamicHelp": false,
244
+ "multiple": false,
245
+ "type": "option"
246
+ },
247
+ "label": {
248
+ "char": "l",
249
+ "description": "New label for the branch",
250
+ "name": "label",
251
+ "required": false,
252
+ "hasDynamicHelp": false,
253
+ "multiple": false,
254
+ "type": "option"
195
255
  },
196
256
  "output": {
197
257
  "char": "o",
@@ -206,11 +266,20 @@
206
266
  "json"
207
267
  ],
208
268
  "type": "option"
269
+ },
270
+ "workspace": {
271
+ "char": "w",
272
+ "description": "Workspace ID (uses profile workspace if not provided)",
273
+ "name": "workspace",
274
+ "required": false,
275
+ "hasDynamicHelp": false,
276
+ "multiple": false,
277
+ "type": "option"
209
278
  }
210
279
  },
211
280
  "hasDynamicHelp": false,
212
281
  "hiddenAliases": [],
213
- "id": "function:edit",
282
+ "id": "branch:edit",
214
283
  "pluginAlias": "@xano/cli",
215
284
  "pluginName": "@xano/cli",
216
285
  "pluginType": "core",
@@ -220,28 +289,25 @@
220
289
  "relativePath": [
221
290
  "dist",
222
291
  "commands",
223
- "function",
292
+ "branch",
224
293
  "edit",
225
294
  "index.js"
226
295
  ]
227
296
  },
228
- "function:get": {
297
+ "branch:get": {
229
298
  "aliases": [],
230
299
  "args": {
231
- "function_id": {
232
- "description": "Function ID",
233
- "name": "function_id",
234
- "required": false
300
+ "branch_label": {
301
+ "description": "Branch label (e.g., \"v1\", \"dev\")",
302
+ "name": "branch_label",
303
+ "required": true
235
304
  }
236
305
  },
237
- "description": "Get a specific function from a workspace",
306
+ "description": "Get details for a specific branch",
238
307
  "examples": [
239
- "$ xano function:get 145 -w 40\nFunction: yo (ID: 145)\nCreated: 2025-10-10 10:30:00\nDescription: Sample function\n",
240
- "$ xano function:get 145 --profile production\nFunction: yo (ID: 145)\nCreated: 2025-10-10 10:30:00\n",
241
- "$ xano function:get\nSelect a function:\n ❯ yo (ID: 145) - Sample function\n another-func (ID: 146)\n",
242
- "$ xano function:get 145 -w 40 --output json\n{\n \"id\": 145,\n \"name\": \"yo\",\n \"description\": \"Sample function\"\n}\n",
243
- "$ xano function:get 145 -p staging -o json --include_draft\n{\n \"id\": 145,\n \"name\": \"yo\"\n}\n",
244
- "$ xano function:get 145 -p staging -o xs\nfunction yo {\n input {\n }\n stack {\n }\n response = null\n}\n"
308
+ "$ xano branch get v1\nBranch: v1 (live)\n Created: 2024-01-15\n",
309
+ "$ xano branch get dev -w 123\nBranch: dev\n Created: 2024-02-01\n",
310
+ "$ 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"
245
311
  ],
246
312
  "flags": {
247
313
  "profile": {
@@ -263,15 +329,6 @@
263
329
  "allowNo": false,
264
330
  "type": "boolean"
265
331
  },
266
- "workspace": {
267
- "char": "w",
268
- "description": "Workspace ID (optional if set in profile)",
269
- "name": "workspace",
270
- "required": false,
271
- "hasDynamicHelp": false,
272
- "multiple": false,
273
- "type": "option"
274
- },
275
332
  "output": {
276
333
  "char": "o",
277
334
  "description": "Output format",
@@ -282,29 +339,23 @@
282
339
  "multiple": false,
283
340
  "options": [
284
341
  "summary",
285
- "json",
286
- "xs"
342
+ "json"
287
343
  ],
288
344
  "type": "option"
289
345
  },
290
- "include_draft": {
291
- "description": "Include draft version",
292
- "name": "include_draft",
293
- "required": false,
294
- "allowNo": false,
295
- "type": "boolean"
296
- },
297
- "include_xanoscript": {
298
- "description": "Include XanoScript in response",
299
- "name": "include_xanoscript",
346
+ "workspace": {
347
+ "char": "w",
348
+ "description": "Workspace ID (uses profile workspace if not provided)",
349
+ "name": "workspace",
300
350
  "required": false,
301
- "allowNo": false,
302
- "type": "boolean"
351
+ "hasDynamicHelp": false,
352
+ "multiple": false,
353
+ "type": "option"
303
354
  }
304
355
  },
305
356
  "hasDynamicHelp": false,
306
357
  "hiddenAliases": [],
307
- "id": "function:get",
358
+ "id": "branch:get",
308
359
  "pluginAlias": "@xano/cli",
309
360
  "pluginName": "@xano/cli",
310
361
  "pluginType": "core",
@@ -314,20 +365,25 @@
314
365
  "relativePath": [
315
366
  "dist",
316
367
  "commands",
317
- "function",
368
+ "branch",
318
369
  "get",
319
370
  "index.js"
320
371
  ]
321
372
  },
322
- "function:list": {
373
+ "branch:list": {
323
374
  "aliases": [],
324
- "args": {},
325
- "description": "List all functions in a workspace from the Xano Metadata API",
375
+ "args": {
376
+ "workspace_id": {
377
+ "description": "Workspace ID (uses profile workspace if not provided)",
378
+ "name": "workspace_id",
379
+ "required": false
380
+ }
381
+ },
382
+ "description": "List all branches in a workspace",
326
383
  "examples": [
327
- "$ xano function:list -w 40\nAvailable functions:\n - function-1 (ID: 1)\n - function-2 (ID: 2)\n - function-3 (ID: 3)\n",
328
- "$ xano function:list --profile production\nAvailable functions:\n - my-function (ID: 1)\n - another-function (ID: 2)\n",
329
- "$ xano function:list -w 40 --output json\n[\n {\n \"id\": 1,\n \"name\": \"function-1\"\n }\n]\n",
330
- "$ xano function:list -p staging -o json --include_draft\n[\n {\n \"id\": 1,\n \"name\": \"function-1\"\n }\n]\n"
384
+ "$ xano branch list\nAvailable branches:\n - v1 (live)\n - dev\n - staging\n",
385
+ "$ xano branch list 123\nAvailable branches:\n - v1 (live)\n - feature-auth\n",
386
+ "$ 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"
331
387
  ],
332
388
  "flags": {
333
389
  "profile": {
@@ -349,15 +405,6 @@
349
405
  "allowNo": false,
350
406
  "type": "boolean"
351
407
  },
352
- "workspace": {
353
- "char": "w",
354
- "description": "Workspace ID (optional if set in profile)",
355
- "name": "workspace",
356
- "required": false,
357
- "hasDynamicHelp": false,
358
- "multiple": false,
359
- "type": "option"
360
- },
361
408
  "output": {
362
409
  "char": "o",
363
410
  "description": "Output format",
@@ -371,65 +418,95 @@
371
418
  "json"
372
419
  ],
373
420
  "type": "option"
374
- },
375
- "include_draft": {
376
- "description": "Include draft functions",
377
- "name": "include_draft",
421
+ }
422
+ },
423
+ "hasDynamicHelp": false,
424
+ "hiddenAliases": [],
425
+ "id": "branch:list",
426
+ "pluginAlias": "@xano/cli",
427
+ "pluginName": "@xano/cli",
428
+ "pluginType": "core",
429
+ "strict": true,
430
+ "enableJsonFlag": false,
431
+ "isESM": true,
432
+ "relativePath": [
433
+ "dist",
434
+ "commands",
435
+ "branch",
436
+ "list",
437
+ "index.js"
438
+ ]
439
+ },
440
+ "branch:set-live": {
441
+ "aliases": [],
442
+ "args": {
443
+ "branch_label": {
444
+ "description": "Branch label to set as live (use \"v1\" for default branch)",
445
+ "name": "branch_label",
446
+ "required": true
447
+ }
448
+ },
449
+ "description": "Set a branch as the live (active) branch for API requests",
450
+ "examples": [
451
+ "$ xano branch set-live staging\nAre you sure you want to set 'staging' as the live branch? (y/N) y\nBranch 'staging' is now live\n",
452
+ "$ xano branch set-live v1 --force\nBranch 'v1' is now live\n",
453
+ "$ xano branch set-live production -f -o json\n{\n \"created_at\": \"2024-02-10T09:15:00Z\",\n \"label\": \"production\",\n \"backup\": false,\n \"live\": true\n}\n"
454
+ ],
455
+ "flags": {
456
+ "profile": {
457
+ "char": "p",
458
+ "description": "Profile to use for this command",
459
+ "env": "XANO_PROFILE",
460
+ "name": "profile",
378
461
  "required": false,
379
- "allowNo": false,
380
- "type": "boolean"
462
+ "hasDynamicHelp": false,
463
+ "multiple": false,
464
+ "type": "option"
381
465
  },
382
- "include_xanoscript": {
383
- "description": "Include XanoScript in response",
384
- "name": "include_xanoscript",
466
+ "verbose": {
467
+ "char": "v",
468
+ "description": "Show detailed request/response information",
469
+ "env": "XANO_VERBOSE",
470
+ "name": "verbose",
385
471
  "required": false,
386
472
  "allowNo": false,
387
473
  "type": "boolean"
388
474
  },
389
- "page": {
390
- "description": "Page number for pagination",
391
- "name": "page",
392
- "required": false,
393
- "default": 1,
394
- "hasDynamicHelp": false,
395
- "multiple": false,
396
- "type": "option"
397
- },
398
- "per_page": {
399
- "description": "Number of results per page",
400
- "name": "per_page",
475
+ "force": {
476
+ "char": "f",
477
+ "description": "Skip confirmation prompt",
478
+ "name": "force",
401
479
  "required": false,
402
- "default": 50,
403
- "hasDynamicHelp": false,
404
- "multiple": false,
405
- "type": "option"
480
+ "allowNo": false,
481
+ "type": "boolean"
406
482
  },
407
- "sort": {
408
- "description": "Sort field",
409
- "name": "sort",
483
+ "output": {
484
+ "char": "o",
485
+ "description": "Output format",
486
+ "name": "output",
410
487
  "required": false,
411
- "default": "created_at",
488
+ "default": "summary",
412
489
  "hasDynamicHelp": false,
413
490
  "multiple": false,
491
+ "options": [
492
+ "summary",
493
+ "json"
494
+ ],
414
495
  "type": "option"
415
496
  },
416
- "order": {
417
- "description": "Sort order",
418
- "name": "order",
497
+ "workspace": {
498
+ "char": "w",
499
+ "description": "Workspace ID (uses profile workspace if not provided)",
500
+ "name": "workspace",
419
501
  "required": false,
420
- "default": "desc",
421
502
  "hasDynamicHelp": false,
422
503
  "multiple": false,
423
- "options": [
424
- "asc",
425
- "desc"
426
- ],
427
504
  "type": "option"
428
505
  }
429
506
  },
430
507
  "hasDynamicHelp": false,
431
508
  "hiddenAliases": [],
432
- "id": "function:list",
509
+ "id": "branch:set-live",
433
510
  "pluginAlias": "@xano/cli",
434
511
  "pluginName": "@xano/cli",
435
512
  "pluginType": "core",
@@ -439,29 +516,21 @@
439
516
  "relativePath": [
440
517
  "dist",
441
518
  "commands",
442
- "function",
443
- "list",
519
+ "branch",
520
+ "set-live",
444
521
  "index.js"
445
522
  ]
446
523
  },
447
- "run:exec": {
524
+ "function:create": {
448
525
  "aliases": [],
449
- "args": {
450
- "path": {
451
- "description": "Path to file or directory containing XanoScript code (directory creates multidoc from .xs files)",
452
- "name": "path",
453
- "required": false
454
- }
455
- },
456
- "description": "Execute XanoScript code (job or service)",
526
+ "args": {},
527
+ "description": "Create a new function in a workspace",
457
528
  "examples": [
458
- "$ xano run exec script.xs\nExecuted successfully!\n...\n",
459
- "$ xano run exec ./my-workspace\n# Executes all .xs files in directory as multidoc\nExecuted successfully!\n...\n",
460
- "$ xano run exec script.xs --edit\n# Opens script.xs in $EDITOR, then executes\nExecuted successfully!\n...\n",
461
- "$ cat script.xs | xano run exec --stdin\nExecuted successfully!\n...\n",
462
- "$ xano run exec script.xs -o json\n{\n \"run\": { ... }\n}\n",
463
- "$ xano run exec script.xs -a args.json\n# Executes with input arguments from args.json\nExecuted successfully!\n...\n",
464
- "$ xano run exec script.xs --env API_KEY=secret --env DEBUG=true\n# Executes with environment variable overrides\nExecuted successfully!\n...\n"
529
+ "$ xano function:create -w 40 -f function.xs\nFunction created successfully!\nID: 123\nName: my_function\n",
530
+ "$ xano function:create -f function.xs\nFunction created successfully!\nID: 123\nName: my_function\n",
531
+ "$ xano function:create -w 40 -f function.xs --edit\n# Opens function.xs in $EDITOR, then creates function with edited content\nFunction created successfully!\nID: 123\nName: my_function\n",
532
+ "$ cat function.xs | xano function:create -w 40 --stdin\nFunction created successfully!\nID: 123\nName: my_function\n",
533
+ "$ xano function:create -w 40 -f function.xs -o json\n{\n \"id\": 123,\n \"name\": \"my_function\",\n ...\n}\n"
465
534
  ],
466
535
  "flags": {
467
536
  "profile": {
@@ -483,9 +552,20 @@
483
552
  "allowNo": false,
484
553
  "type": "boolean"
485
554
  },
555
+ "edit": {
556
+ "char": "e",
557
+ "dependsOn": [
558
+ "file"
559
+ ],
560
+ "description": "Open file in editor before creating function (requires --file)",
561
+ "name": "edit",
562
+ "required": false,
563
+ "allowNo": false,
564
+ "type": "boolean"
565
+ },
486
566
  "file": {
487
567
  "char": "f",
488
- "description": "Path or URL to file containing XanoScript code (deprecated: use path argument instead)",
568
+ "description": "Path to file containing XanoScript code",
489
569
  "exclusive": [
490
570
  "stdin"
491
571
  ],
@@ -495,25 +575,6 @@
495
575
  "multiple": false,
496
576
  "type": "option"
497
577
  },
498
- "stdin": {
499
- "char": "s",
500
- "description": "Read XanoScript code from stdin",
501
- "exclusive": [
502
- "file"
503
- ],
504
- "name": "stdin",
505
- "required": false,
506
- "allowNo": false,
507
- "type": "boolean"
508
- },
509
- "edit": {
510
- "char": "e",
511
- "description": "Open file in editor before running (requires path argument or --file)",
512
- "name": "edit",
513
- "required": false,
514
- "allowNo": false,
515
- "type": "boolean"
516
- },
517
578
  "output": {
518
579
  "char": "o",
519
580
  "description": "Output format",
@@ -528,48 +589,63 @@
528
589
  ],
529
590
  "type": "option"
530
591
  },
531
- "args": {
532
- "char": "a",
533
- "description": "Path or URL to JSON file containing input arguments",
534
- "name": "args",
592
+ "stdin": {
593
+ "char": "s",
594
+ "description": "Read XanoScript code from stdin",
595
+ "exclusive": [
596
+ "file"
597
+ ],
598
+ "name": "stdin",
535
599
  "required": false,
536
- "hasDynamicHelp": false,
537
- "multiple": false,
538
- "type": "option"
600
+ "allowNo": false,
601
+ "type": "boolean"
539
602
  },
540
- "env": {
541
- "description": "Environment variable override (key=value)",
542
- "name": "env",
603
+ "workspace": {
604
+ "char": "w",
605
+ "description": "Workspace ID (optional if set in profile)",
606
+ "name": "workspace",
543
607
  "required": false,
544
608
  "hasDynamicHelp": false,
545
- "multiple": true,
609
+ "multiple": false,
546
610
  "type": "option"
547
611
  }
548
612
  },
549
613
  "hasDynamicHelp": false,
550
614
  "hiddenAliases": [],
551
- "id": "run:exec",
615
+ "id": "function:create",
552
616
  "pluginAlias": "@xano/cli",
553
617
  "pluginName": "@xano/cli",
554
618
  "pluginType": "core",
555
619
  "strict": true,
620
+ "enableJsonFlag": false,
556
621
  "isESM": true,
557
622
  "relativePath": [
558
623
  "dist",
559
624
  "commands",
560
- "run",
561
- "exec",
625
+ "function",
626
+ "create",
562
627
  "index.js"
563
628
  ]
564
629
  },
565
- "run:info": {
630
+ "function:edit": {
566
631
  "aliases": [],
567
- "args": {},
568
- "description": "Get information about a XanoScript document (type, inputs, env vars)",
632
+ "args": {
633
+ "function_id": {
634
+ "description": "Function ID to edit",
635
+ "name": "function_id",
636
+ "required": false
637
+ }
638
+ },
639
+ "description": "Edit a function in a workspace",
569
640
  "examples": [
570
- "$ xano run info -f script.xs\nDocument Info:\n Type: job\n Inputs:\n - name (string, required)\n - count (number, optional)\n Environment Variables:\n - API_KEY\n - DEBUG\n",
571
- "$ cat script.xs | xano run info --stdin\nDocument Info:\n Type: service\n Inputs: none\n Environment Variables: none\n",
572
- "$ xano run info -f script.xs -o json\n{ \"type\": \"job\", \"input\": { \"name\": {...} }, \"env\": [\"API_KEY\"] }\n"
641
+ "$ xano function:edit 163\n# Fetches the function code and opens it in $EDITOR for editing\nFunction updated successfully!\nID: 163\nName: my_function\n",
642
+ "$ xano function:edit\n# Prompts for function, fetches the code and opens it in $EDITOR for editing\nSelect a function to edit:\n my_function (ID: 163) - Sample function\n another-func (ID: 164)\n",
643
+ "$ xano function:edit 163 -f function.xs\nFunction updated successfully!\nID: 163\nName: my_function\n",
644
+ "$ xano function:edit 163 -w 40 -f function.xs\nFunction updated successfully!\nID: 163\nName: my_function\n",
645
+ "$ xano function:edit -f function.xs\nSelect a function to edit:\n ❯ my_function (ID: 163) - Sample function\n another-func (ID: 164)\n",
646
+ "$ xano function:edit 163 -f function.xs --edit\n# Opens function.xs in $EDITOR, then updates function with edited content\nFunction updated successfully!\nID: 163\nName: my_function\n",
647
+ "$ cat function.xs | xano function:edit 163 --stdin\nFunction updated successfully!\nID: 163\nName: my_function\n",
648
+ "$ xano function:edit 163 -f function.xs -o json\n{\n \"id\": 163,\n \"name\": \"my_function\",\n ...\n}\n"
573
649
  ],
574
650
  "flags": {
575
651
  "profile": {
@@ -591,9 +667,17 @@
591
667
  "allowNo": false,
592
668
  "type": "boolean"
593
669
  },
670
+ "edit": {
671
+ "char": "e",
672
+ "description": "Open file in editor before updating function (requires --file)",
673
+ "name": "edit",
674
+ "required": false,
675
+ "allowNo": false,
676
+ "type": "boolean"
677
+ },
594
678
  "file": {
595
679
  "char": "f",
596
- "description": "Path or URL to file containing XanoScript code",
680
+ "description": "Path to file containing XanoScript code",
597
681
  "exclusive": [
598
682
  "stdin"
599
683
  ],
@@ -603,6 +687,27 @@
603
687
  "multiple": false,
604
688
  "type": "option"
605
689
  },
690
+ "output": {
691
+ "char": "o",
692
+ "description": "Output format",
693
+ "name": "output",
694
+ "required": false,
695
+ "default": "summary",
696
+ "hasDynamicHelp": false,
697
+ "multiple": false,
698
+ "options": [
699
+ "summary",
700
+ "json"
701
+ ],
702
+ "type": "option"
703
+ },
704
+ "publish": {
705
+ "description": "Publish the function after editing",
706
+ "name": "publish",
707
+ "required": false,
708
+ "allowNo": false,
709
+ "type": "boolean"
710
+ },
606
711
  "stdin": {
607
712
  "char": "s",
608
713
  "description": "Read XanoScript code from stdin",
@@ -614,171 +719,113 @@
614
719
  "allowNo": false,
615
720
  "type": "boolean"
616
721
  },
617
- "output": {
618
- "char": "o",
619
- "description": "Output format",
620
- "name": "output",
722
+ "workspace": {
723
+ "char": "w",
724
+ "description": "Workspace ID (optional if set in profile)",
725
+ "name": "workspace",
621
726
  "required": false,
622
- "default": "summary",
623
727
  "hasDynamicHelp": false,
624
728
  "multiple": false,
625
- "options": [
626
- "summary",
627
- "json"
628
- ],
629
729
  "type": "option"
630
730
  }
631
731
  },
632
732
  "hasDynamicHelp": false,
633
733
  "hiddenAliases": [],
634
- "id": "run:info",
734
+ "id": "function:edit",
635
735
  "pluginAlias": "@xano/cli",
636
736
  "pluginName": "@xano/cli",
637
737
  "pluginType": "core",
638
738
  "strict": true,
739
+ "enableJsonFlag": false,
639
740
  "isESM": true,
640
741
  "relativePath": [
641
742
  "dist",
642
743
  "commands",
643
- "run",
644
- "info",
744
+ "function",
745
+ "edit",
645
746
  "index.js"
646
747
  ]
647
748
  },
648
- "profile:create": {
749
+ "function:get": {
649
750
  "aliases": [],
650
751
  "args": {
651
- "name": {
652
- "description": "Profile name",
653
- "name": "name",
654
- "required": true
752
+ "function_id": {
753
+ "description": "Function ID",
754
+ "name": "function_id",
755
+ "required": false
655
756
  }
656
757
  },
657
- "description": "Create a new profile configuration",
758
+ "description": "Get a specific function from a workspace",
658
759
  "examples": [
659
- "$ xano profile:create production --account_origin https://account.xano.com --instance_origin https://instance.xano.com --access_token token123\nProfile 'production' created successfully at ~/.xano/credentials.yaml\n",
660
- "$ xano profile:create staging -a https://staging-account.xano.com -i https://staging-instance.xano.com -t token456\nProfile 'staging' created successfully at ~/.xano/credentials.yaml\n",
661
- "$ xano profile:create dev -i https://dev-instance.xano.com -t token789 -w my-workspace -b feature-branch\nProfile 'dev' created successfully at ~/.xano/credentials.yaml\n",
662
- "$ xano profile:create dev -i https://dev-instance.xano.com -t token789 -w my-workspace -b feature-branch -j my-project\nProfile 'dev' created successfully at ~/.xano/credentials.yaml\n",
663
- "$ xano profile:create production --account_origin https://account.xano.com --instance_origin https://instance.xano.com --access_token token123 --default\nProfile 'production' created successfully at ~/.xano/credentials.yaml\nDefault profile set to 'production'\n"
760
+ "$ xano function:get 145 -w 40\nFunction: yo (ID: 145)\nCreated: 2025-10-10 10:30:00\nDescription: Sample function\n",
761
+ "$ xano function:get 145 --profile production\nFunction: yo (ID: 145)\nCreated: 2025-10-10 10:30:00\n",
762
+ "$ xano function:get\nSelect a function:\n ❯ yo (ID: 145) - Sample function\n another-func (ID: 146)\n",
763
+ "$ xano function:get 145 -w 40 --output json\n{\n \"id\": 145,\n \"name\": \"yo\",\n \"description\": \"Sample function\"\n}\n",
764
+ "$ xano function:get 145 -p staging -o json --include_draft\n{\n \"id\": 145,\n \"name\": \"yo\"\n}\n",
765
+ "$ xano function:get 145 -p staging -o xs\nfunction yo {\n input {\n }\n stack {\n }\n response = null\n}\n"
664
766
  ],
665
767
  "flags": {
666
- "account_origin": {
667
- "char": "a",
668
- "description": "Account origin URL. Optional for self hosted installs.",
669
- "name": "account_origin",
768
+ "profile": {
769
+ "char": "p",
770
+ "description": "Profile to use for this command",
771
+ "env": "XANO_PROFILE",
772
+ "name": "profile",
670
773
  "required": false,
671
774
  "hasDynamicHelp": false,
672
775
  "multiple": false,
673
776
  "type": "option"
674
777
  },
675
- "instance_origin": {
676
- "char": "i",
677
- "description": "Instance origin URL",
678
- "name": "instance_origin",
679
- "required": true,
680
- "hasDynamicHelp": false,
681
- "multiple": false,
682
- "type": "option"
683
- },
684
- "access_token": {
685
- "char": "t",
686
- "description": "Access token for the Xano Metadata API",
687
- "name": "access_token",
688
- "required": true,
689
- "hasDynamicHelp": false,
690
- "multiple": false,
691
- "type": "option"
778
+ "verbose": {
779
+ "char": "v",
780
+ "description": "Show detailed request/response information",
781
+ "env": "XANO_VERBOSE",
782
+ "name": "verbose",
783
+ "required": false,
784
+ "allowNo": false,
785
+ "type": "boolean"
692
786
  },
693
- "workspace": {
694
- "char": "w",
695
- "description": "Workspace name",
696
- "name": "workspace",
787
+ "include_draft": {
788
+ "description": "Include draft version",
789
+ "name": "include_draft",
697
790
  "required": false,
698
- "hasDynamicHelp": false,
699
- "multiple": false,
700
- "type": "option"
791
+ "allowNo": false,
792
+ "type": "boolean"
701
793
  },
702
- "branch": {
703
- "char": "b",
704
- "description": "Branch name",
705
- "name": "branch",
794
+ "include_xanoscript": {
795
+ "description": "Include XanoScript in response",
796
+ "name": "include_xanoscript",
706
797
  "required": false,
707
- "hasDynamicHelp": false,
708
- "multiple": false,
709
- "type": "option"
798
+ "allowNo": false,
799
+ "type": "boolean"
710
800
  },
711
- "project": {
712
- "char": "j",
713
- "description": "Project name",
714
- "name": "project",
801
+ "output": {
802
+ "char": "o",
803
+ "description": "Output format",
804
+ "name": "output",
715
805
  "required": false,
806
+ "default": "summary",
716
807
  "hasDynamicHelp": false,
717
808
  "multiple": false,
809
+ "options": [
810
+ "summary",
811
+ "json",
812
+ "xs"
813
+ ],
718
814
  "type": "option"
719
815
  },
720
- "run_base_url": {
721
- "char": "r",
722
- "description": "Xano Run API base URL (default: https://app.xano.com/)",
723
- "name": "run_base_url",
816
+ "workspace": {
817
+ "char": "w",
818
+ "description": "Workspace ID (optional if set in profile)",
819
+ "name": "workspace",
724
820
  "required": false,
725
821
  "hasDynamicHelp": false,
726
822
  "multiple": false,
727
823
  "type": "option"
728
- },
729
- "default": {
730
- "description": "Set this profile as the default",
731
- "name": "default",
732
- "required": false,
733
- "allowNo": false,
734
- "type": "boolean"
735
- }
736
- },
737
- "hasDynamicHelp": false,
738
- "hiddenAliases": [],
739
- "id": "profile:create",
740
- "pluginAlias": "@xano/cli",
741
- "pluginName": "@xano/cli",
742
- "pluginType": "core",
743
- "strict": true,
744
- "enableJsonFlag": false,
745
- "isESM": true,
746
- "relativePath": [
747
- "dist",
748
- "commands",
749
- "profile",
750
- "create",
751
- "index.js"
752
- ]
753
- },
754
- "profile:delete": {
755
- "aliases": [],
756
- "args": {
757
- "name": {
758
- "description": "Profile name to delete",
759
- "name": "name",
760
- "required": true
761
- }
762
- },
763
- "description": "Delete a profile configuration",
764
- "examples": [
765
- "$ 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",
766
- "$ xano profile:delete old-profile --force\nProfile 'old-profile' deleted successfully from ~/.xano/credentials.yaml\n",
767
- "$ xano profile:delete old-profile -f\nProfile 'old-profile' deleted successfully from ~/.xano/credentials.yaml\n"
768
- ],
769
- "flags": {
770
- "force": {
771
- "char": "f",
772
- "description": "Skip confirmation prompt",
773
- "name": "force",
774
- "required": false,
775
- "allowNo": false,
776
- "type": "boolean"
777
824
  }
778
825
  },
779
826
  "hasDynamicHelp": false,
780
827
  "hiddenAliases": [],
781
- "id": "profile:delete",
828
+ "id": "function:get",
782
829
  "pluginAlias": "@xano/cli",
783
830
  "pluginName": "@xano/cli",
784
831
  "pluginType": "core",
@@ -788,29 +835,20 @@
788
835
  "relativePath": [
789
836
  "dist",
790
837
  "commands",
791
- "profile",
792
- "delete",
838
+ "function",
839
+ "get",
793
840
  "index.js"
794
841
  ]
795
842
  },
796
- "profile:edit": {
843
+ "function:list": {
797
844
  "aliases": [],
798
- "args": {
799
- "name": {
800
- "description": "Profile name to edit (uses default profile if not specified)",
801
- "name": "name",
802
- "required": false
803
- }
804
- },
805
- "description": "Edit an existing profile configuration",
845
+ "args": {},
846
+ "description": "List all functions in a workspace from the Xano Metadata API",
806
847
  "examples": [
807
- "$ xano profile:edit --access_token new_token123\nProfile 'default' updated successfully at ~/.xano/credentials.yaml\n",
808
- "$ xano profile:edit production --access_token new_token123\nProfile 'production' updated successfully at ~/.xano/credentials.yaml\n",
809
- "$ xano profile:edit staging -i https://new-staging-instance.xano.com -t new_token456\nProfile 'staging' updated successfully at ~/.xano/credentials.yaml\n",
810
- "$ xano profile:edit -b new-branch\nProfile 'default' updated successfully at ~/.xano/credentials.yaml\n",
811
- "$ xano profile:edit --remove-branch\nProfile 'default' updated successfully at ~/.xano/credentials.yaml\n",
812
- "$ xano profile:edit -j my-project\nProfile 'default' updated successfully at ~/.xano/credentials.yaml\n",
813
- "$ xano profile:edit --remove-project\nProfile 'default' updated successfully at ~/.xano/credentials.yaml\n"
848
+ "$ xano function:list -w 40\nAvailable functions:\n - function-1 (ID: 1)\n - function-2 (ID: 2)\n - function-3 (ID: 3)\n",
849
+ "$ xano function:list --profile production\nAvailable functions:\n - my-function (ID: 1)\n - another-function (ID: 2)\n",
850
+ "$ xano function:list -w 40 --output json\n[\n {\n \"id\": 1,\n \"name\": \"function-1\"\n }\n]\n",
851
+ "$ xano function:list -p staging -o json --include_draft\n[\n {\n \"id\": 1,\n \"name\": \"function-1\"\n }\n]\n"
814
852
  ],
815
853
  "flags": {
816
854
  "profile": {
@@ -832,101 +870,193 @@
832
870
  "allowNo": false,
833
871
  "type": "boolean"
834
872
  },
835
- "account_origin": {
836
- "char": "a",
837
- "description": "Update account origin URL",
838
- "name": "account_origin",
873
+ "include_draft": {
874
+ "description": "Include draft functions",
875
+ "name": "include_draft",
876
+ "required": false,
877
+ "allowNo": false,
878
+ "type": "boolean"
879
+ },
880
+ "include_xanoscript": {
881
+ "description": "Include XanoScript in response",
882
+ "name": "include_xanoscript",
883
+ "required": false,
884
+ "allowNo": false,
885
+ "type": "boolean"
886
+ },
887
+ "order": {
888
+ "description": "Sort order",
889
+ "name": "order",
839
890
  "required": false,
891
+ "default": "desc",
840
892
  "hasDynamicHelp": false,
841
893
  "multiple": false,
894
+ "options": [
895
+ "asc",
896
+ "desc"
897
+ ],
842
898
  "type": "option"
843
899
  },
844
- "instance_origin": {
845
- "char": "i",
846
- "description": "Update instance origin URL",
847
- "name": "instance_origin",
900
+ "output": {
901
+ "char": "o",
902
+ "description": "Output format",
903
+ "name": "output",
848
904
  "required": false,
905
+ "default": "summary",
849
906
  "hasDynamicHelp": false,
850
907
  "multiple": false,
908
+ "options": [
909
+ "summary",
910
+ "json"
911
+ ],
851
912
  "type": "option"
852
913
  },
853
- "access_token": {
854
- "char": "t",
855
- "description": "Update access token for the Xano Metadata API",
856
- "name": "access_token",
914
+ "page": {
915
+ "description": "Page number for pagination",
916
+ "name": "page",
857
917
  "required": false,
918
+ "default": 1,
858
919
  "hasDynamicHelp": false,
859
920
  "multiple": false,
860
921
  "type": "option"
861
922
  },
862
- "workspace": {
863
- "char": "w",
864
- "description": "Update workspace name",
865
- "name": "workspace",
923
+ "per_page": {
924
+ "description": "Number of results per page",
925
+ "name": "per_page",
866
926
  "required": false,
927
+ "default": 50,
867
928
  "hasDynamicHelp": false,
868
929
  "multiple": false,
869
930
  "type": "option"
870
931
  },
871
- "branch": {
872
- "char": "b",
873
- "description": "Update branch name",
874
- "name": "branch",
932
+ "sort": {
933
+ "description": "Sort field",
934
+ "name": "sort",
875
935
  "required": false,
936
+ "default": "created_at",
876
937
  "hasDynamicHelp": false,
877
938
  "multiple": false,
878
939
  "type": "option"
879
940
  },
880
- "project": {
881
- "char": "j",
882
- "description": "Update project ID",
883
- "name": "project",
941
+ "workspace": {
942
+ "char": "w",
943
+ "description": "Workspace ID (optional if set in profile)",
944
+ "name": "workspace",
884
945
  "required": false,
885
946
  "hasDynamicHelp": false,
886
947
  "multiple": false,
887
948
  "type": "option"
949
+ }
950
+ },
951
+ "hasDynamicHelp": false,
952
+ "hiddenAliases": [],
953
+ "id": "function:list",
954
+ "pluginAlias": "@xano/cli",
955
+ "pluginName": "@xano/cli",
956
+ "pluginType": "core",
957
+ "strict": true,
958
+ "enableJsonFlag": false,
959
+ "isESM": true,
960
+ "relativePath": [
961
+ "dist",
962
+ "commands",
963
+ "function",
964
+ "list",
965
+ "index.js"
966
+ ]
967
+ },
968
+ "profile:create": {
969
+ "aliases": [],
970
+ "args": {
971
+ "name": {
972
+ "description": "Profile name",
973
+ "name": "name",
974
+ "required": true
975
+ }
976
+ },
977
+ "description": "Create a new profile configuration",
978
+ "examples": [
979
+ "$ xano profile:create production --account_origin https://account.xano.com --instance_origin https://instance.xano.com --access_token token123\nProfile 'production' created successfully at ~/.xano/credentials.yaml\n",
980
+ "$ xano profile:create staging -a https://staging-account.xano.com -i https://staging-instance.xano.com -t token456\nProfile 'staging' created successfully at ~/.xano/credentials.yaml\n",
981
+ "$ xano profile:create dev -i https://dev-instance.xano.com -t token789 -w my-workspace -b feature-branch\nProfile 'dev' created successfully at ~/.xano/credentials.yaml\n",
982
+ "$ xano profile:create dev -i https://dev-instance.xano.com -t token789 -w my-workspace -b feature-branch -j my-project\nProfile 'dev' created successfully at ~/.xano/credentials.yaml\n",
983
+ "$ xano profile:create production --account_origin https://account.xano.com --instance_origin https://instance.xano.com --access_token token123 --default\nProfile 'production' created successfully at ~/.xano/credentials.yaml\nDefault profile set to 'production'\n"
984
+ ],
985
+ "flags": {
986
+ "access_token": {
987
+ "char": "t",
988
+ "description": "Access token for the Xano Metadata API",
989
+ "name": "access_token",
990
+ "required": true,
991
+ "hasDynamicHelp": false,
992
+ "multiple": false,
993
+ "type": "option"
888
994
  },
889
- "remove-workspace": {
890
- "description": "Remove workspace from profile",
891
- "name": "remove-workspace",
892
- "required": false,
893
- "allowNo": false,
894
- "type": "boolean"
895
- },
896
- "remove-branch": {
897
- "description": "Remove branch from profile",
898
- "name": "remove-branch",
995
+ "account_origin": {
996
+ "char": "a",
997
+ "description": "Account origin URL. Optional for self hosted installs.",
998
+ "name": "account_origin",
899
999
  "required": false,
900
- "allowNo": false,
901
- "type": "boolean"
1000
+ "hasDynamicHelp": false,
1001
+ "multiple": false,
1002
+ "type": "option"
902
1003
  },
903
- "remove-project": {
904
- "description": "Remove project from profile",
905
- "name": "remove-project",
1004
+ "branch": {
1005
+ "char": "b",
1006
+ "description": "Branch name",
1007
+ "name": "branch",
1008
+ "required": false,
1009
+ "hasDynamicHelp": false,
1010
+ "multiple": false,
1011
+ "type": "option"
1012
+ },
1013
+ "default": {
1014
+ "description": "Set this profile as the default",
1015
+ "name": "default",
906
1016
  "required": false,
907
1017
  "allowNo": false,
908
1018
  "type": "boolean"
909
1019
  },
1020
+ "instance_origin": {
1021
+ "char": "i",
1022
+ "description": "Instance origin URL",
1023
+ "name": "instance_origin",
1024
+ "required": true,
1025
+ "hasDynamicHelp": false,
1026
+ "multiple": false,
1027
+ "type": "option"
1028
+ },
1029
+ "project": {
1030
+ "char": "j",
1031
+ "description": "Project name",
1032
+ "name": "project",
1033
+ "required": false,
1034
+ "hasDynamicHelp": false,
1035
+ "multiple": false,
1036
+ "type": "option"
1037
+ },
910
1038
  "run_base_url": {
911
1039
  "char": "r",
912
- "description": "Update Xano Run API base URL",
1040
+ "description": "Xano Run API base URL (default: https://app.xano.com/)",
913
1041
  "name": "run_base_url",
914
1042
  "required": false,
915
1043
  "hasDynamicHelp": false,
916
1044
  "multiple": false,
917
1045
  "type": "option"
918
1046
  },
919
- "remove-run-base-url": {
920
- "description": "Remove run_base_url from profile (use default)",
921
- "name": "remove-run-base-url",
1047
+ "workspace": {
1048
+ "char": "w",
1049
+ "description": "Workspace name",
1050
+ "name": "workspace",
922
1051
  "required": false,
923
- "allowNo": false,
924
- "type": "boolean"
1052
+ "hasDynamicHelp": false,
1053
+ "multiple": false,
1054
+ "type": "option"
925
1055
  }
926
1056
  },
927
1057
  "hasDynamicHelp": false,
928
1058
  "hiddenAliases": [],
929
- "id": "profile:edit",
1059
+ "id": "profile:create",
930
1060
  "pluginAlias": "@xano/cli",
931
1061
  "pluginName": "@xano/cli",
932
1062
  "pluginType": "core",
@@ -937,24 +1067,30 @@
937
1067
  "dist",
938
1068
  "commands",
939
1069
  "profile",
940
- "edit",
1070
+ "create",
941
1071
  "index.js"
942
1072
  ]
943
1073
  },
944
- "profile:list": {
1074
+ "profile:delete": {
945
1075
  "aliases": [],
946
- "args": {},
947
- "description": "List all available profile configurations",
1076
+ "args": {
1077
+ "name": {
1078
+ "description": "Profile name to delete",
1079
+ "name": "name",
1080
+ "required": true
1081
+ }
1082
+ },
1083
+ "description": "Delete a profile configuration",
948
1084
  "examples": [
949
- "$ xano profile:list\nAvailable profiles:\n - default\n - production\n - staging\n - development\n",
950
- "$ xano profile:list --details\nAvailable profiles:\n\nProfile: default\n Account Origin: https://account.xano.com\n Instance Origin: https://instance.xano.com\n Access Token: ***...***\n Workspace: my-workspace\n Branch: main\n Project: my-project\n\nProfile: production\n Account Origin: https://account.xano.com\n Instance Origin: https://prod-instance.xano.com\n Access Token: ***...***\n",
951
- "$ xano profile:list -d\nAvailable profiles:\n\nProfile: default\n Account Origin: https://account.xano.com\n Instance Origin: https://instance.xano.com\n Access Token: ***...***\n Workspace: my-workspace\n Branch: main\n Project: my-project\n"
1085
+ "$ 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",
1086
+ "$ xano profile:delete old-profile --force\nProfile 'old-profile' deleted successfully from ~/.xano/credentials.yaml\n",
1087
+ "$ xano profile:delete old-profile -f\nProfile 'old-profile' deleted successfully from ~/.xano/credentials.yaml\n"
952
1088
  ],
953
1089
  "flags": {
954
- "details": {
955
- "char": "d",
956
- "description": "Show detailed information for each profile",
957
- "name": "details",
1090
+ "force": {
1091
+ "char": "f",
1092
+ "description": "Skip confirmation prompt",
1093
+ "name": "force",
958
1094
  "required": false,
959
1095
  "allowNo": false,
960
1096
  "type": "boolean"
@@ -962,7 +1098,7 @@
962
1098
  },
963
1099
  "hasDynamicHelp": false,
964
1100
  "hiddenAliases": [],
965
- "id": "profile:list",
1101
+ "id": "profile:delete",
966
1102
  "pluginAlias": "@xano/cli",
967
1103
  "pluginName": "@xano/cli",
968
1104
  "pluginType": "core",
@@ -973,18 +1109,28 @@
973
1109
  "dist",
974
1110
  "commands",
975
1111
  "profile",
976
- "list",
1112
+ "delete",
977
1113
  "index.js"
978
1114
  ]
979
1115
  },
980
- "profile:me": {
1116
+ "profile:edit": {
981
1117
  "aliases": [],
982
- "args": {},
983
- "description": "Get information about the currently authenticated user",
1118
+ "args": {
1119
+ "name": {
1120
+ "description": "Profile name to edit (uses default profile if not specified)",
1121
+ "name": "name",
1122
+ "required": false
1123
+ }
1124
+ },
1125
+ "description": "Edit an existing profile configuration",
984
1126
  "examples": [
985
- "$ xano profile:me\nUser Information:\n ID: 1\n Name: John Doe\n Email: john@example.com\n",
986
- "$ xano profile:me --profile production\nUser Information:\n ID: 42\n Name: Admin User\n Email: admin@example.com\n",
987
- "$ xano profile:me --output json\n{\n \"id\": 1,\n \"name\": \"John Doe\",\n \"email\": \"john@example.com\"\n}\n"
1127
+ "$ xano profile:edit --access_token new_token123\nProfile 'default' updated successfully at ~/.xano/credentials.yaml\n",
1128
+ "$ xano profile:edit production --access_token new_token123\nProfile 'production' updated successfully at ~/.xano/credentials.yaml\n",
1129
+ "$ xano profile:edit staging -i https://new-staging-instance.xano.com -t new_token456\nProfile 'staging' updated successfully at ~/.xano/credentials.yaml\n",
1130
+ "$ xano profile:edit -b new-branch\nProfile 'default' updated successfully at ~/.xano/credentials.yaml\n",
1131
+ "$ xano profile:edit --remove-branch\nProfile 'default' updated successfully at ~/.xano/credentials.yaml\n",
1132
+ "$ xano profile:edit -j my-project\nProfile 'default' updated successfully at ~/.xano/credentials.yaml\n",
1133
+ "$ xano profile:edit --remove-project\nProfile 'default' updated successfully at ~/.xano/credentials.yaml\n"
988
1134
  ],
989
1135
  "flags": {
990
1136
  "profile": {
@@ -1006,18 +1152,218 @@
1006
1152
  "allowNo": false,
1007
1153
  "type": "boolean"
1008
1154
  },
1009
- "output": {
1010
- "char": "o",
1011
- "description": "Output format",
1012
- "name": "output",
1155
+ "access_token": {
1156
+ "char": "t",
1157
+ "description": "Update access token for the Xano Metadata API",
1158
+ "name": "access_token",
1159
+ "required": false,
1160
+ "hasDynamicHelp": false,
1161
+ "multiple": false,
1162
+ "type": "option"
1163
+ },
1164
+ "account_origin": {
1165
+ "char": "a",
1166
+ "description": "Update account origin URL",
1167
+ "name": "account_origin",
1168
+ "required": false,
1169
+ "hasDynamicHelp": false,
1170
+ "multiple": false,
1171
+ "type": "option"
1172
+ },
1173
+ "branch": {
1174
+ "char": "b",
1175
+ "description": "Update branch name",
1176
+ "name": "branch",
1177
+ "required": false,
1178
+ "hasDynamicHelp": false,
1179
+ "multiple": false,
1180
+ "type": "option"
1181
+ },
1182
+ "instance_origin": {
1183
+ "char": "i",
1184
+ "description": "Update instance origin URL",
1185
+ "name": "instance_origin",
1186
+ "required": false,
1187
+ "hasDynamicHelp": false,
1188
+ "multiple": false,
1189
+ "type": "option"
1190
+ },
1191
+ "project": {
1192
+ "char": "j",
1193
+ "description": "Update project ID",
1194
+ "name": "project",
1195
+ "required": false,
1196
+ "hasDynamicHelp": false,
1197
+ "multiple": false,
1198
+ "type": "option"
1199
+ },
1200
+ "remove-branch": {
1201
+ "description": "Remove branch from profile",
1202
+ "name": "remove-branch",
1203
+ "required": false,
1204
+ "allowNo": false,
1205
+ "type": "boolean"
1206
+ },
1207
+ "remove-project": {
1208
+ "description": "Remove project from profile",
1209
+ "name": "remove-project",
1210
+ "required": false,
1211
+ "allowNo": false,
1212
+ "type": "boolean"
1213
+ },
1214
+ "remove-run-base-url": {
1215
+ "description": "Remove run_base_url from profile (use default)",
1216
+ "name": "remove-run-base-url",
1217
+ "required": false,
1218
+ "allowNo": false,
1219
+ "type": "boolean"
1220
+ },
1221
+ "remove-workspace": {
1222
+ "description": "Remove workspace from profile",
1223
+ "name": "remove-workspace",
1224
+ "required": false,
1225
+ "allowNo": false,
1226
+ "type": "boolean"
1227
+ },
1228
+ "run_base_url": {
1229
+ "char": "r",
1230
+ "description": "Update Xano Run API base URL",
1231
+ "name": "run_base_url",
1232
+ "required": false,
1233
+ "hasDynamicHelp": false,
1234
+ "multiple": false,
1235
+ "type": "option"
1236
+ },
1237
+ "workspace": {
1238
+ "char": "w",
1239
+ "description": "Update workspace name",
1240
+ "name": "workspace",
1013
1241
  "required": false,
1014
- "default": "summary",
1015
1242
  "hasDynamicHelp": false,
1016
1243
  "multiple": false,
1017
- "options": [
1018
- "summary",
1019
- "json"
1020
- ],
1244
+ "type": "option"
1245
+ }
1246
+ },
1247
+ "hasDynamicHelp": false,
1248
+ "hiddenAliases": [],
1249
+ "id": "profile:edit",
1250
+ "pluginAlias": "@xano/cli",
1251
+ "pluginName": "@xano/cli",
1252
+ "pluginType": "core",
1253
+ "strict": true,
1254
+ "enableJsonFlag": false,
1255
+ "isESM": true,
1256
+ "relativePath": [
1257
+ "dist",
1258
+ "commands",
1259
+ "profile",
1260
+ "edit",
1261
+ "index.js"
1262
+ ]
1263
+ },
1264
+ "profile:get-default": {
1265
+ "aliases": [],
1266
+ "args": {},
1267
+ "description": "Get the current default profile name",
1268
+ "examples": [
1269
+ "$ xano profile:get-default\nproduction\n",
1270
+ "$ xano profile:get-default\nNo default profile set\n"
1271
+ ],
1272
+ "flags": {},
1273
+ "hasDynamicHelp": false,
1274
+ "hiddenAliases": [],
1275
+ "id": "profile:get-default",
1276
+ "pluginAlias": "@xano/cli",
1277
+ "pluginName": "@xano/cli",
1278
+ "pluginType": "core",
1279
+ "strict": true,
1280
+ "enableJsonFlag": false,
1281
+ "isESM": true,
1282
+ "relativePath": [
1283
+ "dist",
1284
+ "commands",
1285
+ "profile",
1286
+ "get-default",
1287
+ "index.js"
1288
+ ]
1289
+ },
1290
+ "profile:list": {
1291
+ "aliases": [],
1292
+ "args": {},
1293
+ "description": "List all available profile configurations",
1294
+ "examples": [
1295
+ "$ xano profile:list\nAvailable profiles:\n - default\n - production\n - staging\n - development\n",
1296
+ "$ xano profile:list --details\nAvailable profiles:\n\nProfile: default\n Account Origin: https://account.xano.com\n Instance Origin: https://instance.xano.com\n Access Token: ***...***\n Workspace: my-workspace\n Branch: main\n Project: my-project\n\nProfile: production\n Account Origin: https://account.xano.com\n Instance Origin: https://prod-instance.xano.com\n Access Token: ***...***\n",
1297
+ "$ xano profile:list -d\nAvailable profiles:\n\nProfile: default\n Account Origin: https://account.xano.com\n Instance Origin: https://instance.xano.com\n Access Token: ***...***\n Workspace: my-workspace\n Branch: main\n Project: my-project\n"
1298
+ ],
1299
+ "flags": {
1300
+ "details": {
1301
+ "char": "d",
1302
+ "description": "Show detailed information for each profile",
1303
+ "name": "details",
1304
+ "required": false,
1305
+ "allowNo": false,
1306
+ "type": "boolean"
1307
+ }
1308
+ },
1309
+ "hasDynamicHelp": false,
1310
+ "hiddenAliases": [],
1311
+ "id": "profile:list",
1312
+ "pluginAlias": "@xano/cli",
1313
+ "pluginName": "@xano/cli",
1314
+ "pluginType": "core",
1315
+ "strict": true,
1316
+ "enableJsonFlag": false,
1317
+ "isESM": true,
1318
+ "relativePath": [
1319
+ "dist",
1320
+ "commands",
1321
+ "profile",
1322
+ "list",
1323
+ "index.js"
1324
+ ]
1325
+ },
1326
+ "profile:me": {
1327
+ "aliases": [],
1328
+ "args": {},
1329
+ "description": "Get information about the currently authenticated user",
1330
+ "examples": [
1331
+ "$ xano profile:me\nUser Information:\n ID: 1\n Name: John Doe\n Email: john@example.com\n",
1332
+ "$ xano profile:me --profile production\nUser Information:\n ID: 42\n Name: Admin User\n Email: admin@example.com\n",
1333
+ "$ xano profile:me --output json\n{\n \"id\": 1,\n \"name\": \"John Doe\",\n \"email\": \"john@example.com\"\n}\n"
1334
+ ],
1335
+ "flags": {
1336
+ "profile": {
1337
+ "char": "p",
1338
+ "description": "Profile to use for this command",
1339
+ "env": "XANO_PROFILE",
1340
+ "name": "profile",
1341
+ "required": false,
1342
+ "hasDynamicHelp": false,
1343
+ "multiple": false,
1344
+ "type": "option"
1345
+ },
1346
+ "verbose": {
1347
+ "char": "v",
1348
+ "description": "Show detailed request/response information",
1349
+ "env": "XANO_VERBOSE",
1350
+ "name": "verbose",
1351
+ "required": false,
1352
+ "allowNo": false,
1353
+ "type": "boolean"
1354
+ },
1355
+ "output": {
1356
+ "char": "o",
1357
+ "description": "Output format",
1358
+ "name": "output",
1359
+ "required": false,
1360
+ "default": "summary",
1361
+ "hasDynamicHelp": false,
1362
+ "multiple": false,
1363
+ "options": [
1364
+ "summary",
1365
+ "json"
1366
+ ],
1021
1367
  "type": "option"
1022
1368
  }
1023
1369
  },
@@ -1096,6 +1442,32 @@
1096
1442
  "index.js"
1097
1443
  ]
1098
1444
  },
1445
+ "profile:token": {
1446
+ "aliases": [],
1447
+ "args": {},
1448
+ "description": "Print the access token for the default profile",
1449
+ "examples": [
1450
+ "$ xano profile:token\neyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...\n",
1451
+ "$ xano profile:token | pbcopy\n# Copies the token to clipboard on macOS\n"
1452
+ ],
1453
+ "flags": {},
1454
+ "hasDynamicHelp": false,
1455
+ "hiddenAliases": [],
1456
+ "id": "profile:token",
1457
+ "pluginAlias": "@xano/cli",
1458
+ "pluginName": "@xano/cli",
1459
+ "pluginType": "core",
1460
+ "strict": true,
1461
+ "enableJsonFlag": false,
1462
+ "isESM": true,
1463
+ "relativePath": [
1464
+ "dist",
1465
+ "commands",
1466
+ "profile",
1467
+ "token",
1468
+ "index.js"
1469
+ ]
1470
+ },
1099
1471
  "profile:wizard": {
1100
1472
  "aliases": [],
1101
1473
  "args": {},
@@ -1141,44 +1513,282 @@
1141
1513
  "index.js"
1142
1514
  ]
1143
1515
  },
1144
- "profile:token": {
1516
+ "run:info": {
1145
1517
  "aliases": [],
1146
1518
  "args": {},
1147
- "description": "Print the access token for the default profile",
1519
+ "description": "Get information about a XanoScript document (type, inputs, env vars)",
1148
1520
  "examples": [
1149
- "$ xano profile:token\neyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...\n",
1150
- "$ xano profile:token | pbcopy\n# Copies the token to clipboard on macOS\n"
1521
+ "$ xano run info -f script.xs\nDocument Info:\n Type: job\n Inputs:\n - name (string, required)\n - count (number, optional)\n Environment Variables:\n - API_KEY\n - DEBUG\n",
1522
+ "$ cat script.xs | xano run info --stdin\nDocument Info:\n Type: service\n Inputs: none\n Environment Variables: none\n",
1523
+ "$ xano run info -f script.xs -o json\n{ \"type\": \"job\", \"input\": { \"name\": {...} }, \"env\": [\"API_KEY\"] }\n"
1151
1524
  ],
1152
- "flags": {},
1525
+ "flags": {
1526
+ "profile": {
1527
+ "char": "p",
1528
+ "description": "Profile to use for this command",
1529
+ "env": "XANO_PROFILE",
1530
+ "name": "profile",
1531
+ "required": false,
1532
+ "hasDynamicHelp": false,
1533
+ "multiple": false,
1534
+ "type": "option"
1535
+ },
1536
+ "verbose": {
1537
+ "char": "v",
1538
+ "description": "Show detailed request/response information",
1539
+ "env": "XANO_VERBOSE",
1540
+ "name": "verbose",
1541
+ "required": false,
1542
+ "allowNo": false,
1543
+ "type": "boolean"
1544
+ },
1545
+ "file": {
1546
+ "char": "f",
1547
+ "description": "Path or URL to file containing XanoScript code",
1548
+ "exclusive": [
1549
+ "stdin"
1550
+ ],
1551
+ "name": "file",
1552
+ "required": false,
1553
+ "hasDynamicHelp": false,
1554
+ "multiple": false,
1555
+ "type": "option"
1556
+ },
1557
+ "output": {
1558
+ "char": "o",
1559
+ "description": "Output format",
1560
+ "name": "output",
1561
+ "required": false,
1562
+ "default": "summary",
1563
+ "hasDynamicHelp": false,
1564
+ "multiple": false,
1565
+ "options": [
1566
+ "summary",
1567
+ "json"
1568
+ ],
1569
+ "type": "option"
1570
+ },
1571
+ "stdin": {
1572
+ "char": "s",
1573
+ "description": "Read XanoScript code from stdin",
1574
+ "exclusive": [
1575
+ "file"
1576
+ ],
1577
+ "name": "stdin",
1578
+ "required": false,
1579
+ "allowNo": false,
1580
+ "type": "boolean"
1581
+ }
1582
+ },
1153
1583
  "hasDynamicHelp": false,
1154
1584
  "hiddenAliases": [],
1155
- "id": "profile:token",
1585
+ "id": "run:info",
1156
1586
  "pluginAlias": "@xano/cli",
1157
1587
  "pluginName": "@xano/cli",
1158
1588
  "pluginType": "core",
1159
1589
  "strict": true,
1160
- "enableJsonFlag": false,
1161
1590
  "isESM": true,
1162
1591
  "relativePath": [
1163
1592
  "dist",
1164
1593
  "commands",
1165
- "profile",
1166
- "token",
1594
+ "run",
1595
+ "info",
1167
1596
  "index.js"
1168
1597
  ]
1169
1598
  },
1170
- "profile:get-default": {
1599
+ "run:exec": {
1600
+ "aliases": [],
1601
+ "args": {
1602
+ "path": {
1603
+ "description": "Path to file or directory containing XanoScript code (directory creates multidoc from .xs files)",
1604
+ "name": "path",
1605
+ "required": false
1606
+ }
1607
+ },
1608
+ "description": "Execute XanoScript code (job or service)",
1609
+ "examples": [
1610
+ "$ xano run exec script.xs\nExecuted successfully!\n...\n",
1611
+ "$ xano run exec ./my-workspace\n# Executes all .xs files in directory as multidoc\nExecuted successfully!\n...\n",
1612
+ "$ xano run exec script.xs --edit\n# Opens script.xs in $EDITOR, then executes\nExecuted successfully!\n...\n",
1613
+ "$ cat script.xs | xano run exec --stdin\nExecuted successfully!\n...\n",
1614
+ "$ xano run exec script.xs -o json\n{\n \"run\": { ... }\n}\n",
1615
+ "$ xano run exec script.xs -a args.json\n# Executes with input arguments from args.json\nExecuted successfully!\n...\n",
1616
+ "$ xano run exec script.xs --env API_KEY=secret --env DEBUG=true\n# Executes with environment variable overrides\nExecuted successfully!\n...\n"
1617
+ ],
1618
+ "flags": {
1619
+ "profile": {
1620
+ "char": "p",
1621
+ "description": "Profile to use for this command",
1622
+ "env": "XANO_PROFILE",
1623
+ "name": "profile",
1624
+ "required": false,
1625
+ "hasDynamicHelp": false,
1626
+ "multiple": false,
1627
+ "type": "option"
1628
+ },
1629
+ "verbose": {
1630
+ "char": "v",
1631
+ "description": "Show detailed request/response information",
1632
+ "env": "XANO_VERBOSE",
1633
+ "name": "verbose",
1634
+ "required": false,
1635
+ "allowNo": false,
1636
+ "type": "boolean"
1637
+ },
1638
+ "args": {
1639
+ "char": "a",
1640
+ "description": "Path or URL to JSON file containing input arguments",
1641
+ "name": "args",
1642
+ "required": false,
1643
+ "hasDynamicHelp": false,
1644
+ "multiple": false,
1645
+ "type": "option"
1646
+ },
1647
+ "edit": {
1648
+ "char": "e",
1649
+ "description": "Open file in editor before running (requires path argument or --file)",
1650
+ "name": "edit",
1651
+ "required": false,
1652
+ "allowNo": false,
1653
+ "type": "boolean"
1654
+ },
1655
+ "env": {
1656
+ "description": "Environment variable override (key=value)",
1657
+ "name": "env",
1658
+ "required": false,
1659
+ "hasDynamicHelp": false,
1660
+ "multiple": true,
1661
+ "type": "option"
1662
+ },
1663
+ "file": {
1664
+ "char": "f",
1665
+ "description": "Path or URL to file containing XanoScript code (deprecated: use path argument instead)",
1666
+ "exclusive": [
1667
+ "stdin"
1668
+ ],
1669
+ "name": "file",
1670
+ "required": false,
1671
+ "hasDynamicHelp": false,
1672
+ "multiple": false,
1673
+ "type": "option"
1674
+ },
1675
+ "output": {
1676
+ "char": "o",
1677
+ "description": "Output format",
1678
+ "name": "output",
1679
+ "required": false,
1680
+ "default": "summary",
1681
+ "hasDynamicHelp": false,
1682
+ "multiple": false,
1683
+ "options": [
1684
+ "summary",
1685
+ "json"
1686
+ ],
1687
+ "type": "option"
1688
+ },
1689
+ "stdin": {
1690
+ "char": "s",
1691
+ "description": "Read XanoScript code from stdin",
1692
+ "exclusive": [
1693
+ "file"
1694
+ ],
1695
+ "name": "stdin",
1696
+ "required": false,
1697
+ "allowNo": false,
1698
+ "type": "boolean"
1699
+ }
1700
+ },
1701
+ "hasDynamicHelp": false,
1702
+ "hiddenAliases": [],
1703
+ "id": "run:exec",
1704
+ "pluginAlias": "@xano/cli",
1705
+ "pluginName": "@xano/cli",
1706
+ "pluginType": "core",
1707
+ "strict": true,
1708
+ "isESM": true,
1709
+ "relativePath": [
1710
+ "dist",
1711
+ "commands",
1712
+ "run",
1713
+ "exec",
1714
+ "index.js"
1715
+ ]
1716
+ },
1717
+ "static_host:list": {
1171
1718
  "aliases": [],
1172
1719
  "args": {},
1173
- "description": "Get the current default profile name",
1720
+ "description": "List all static hosts in a workspace from the Xano Metadata API",
1174
1721
  "examples": [
1175
- "$ xano profile:get-default\nproduction\n",
1176
- "$ xano profile:get-default\nNo default profile set\n"
1722
+ "$ xano static_host:list -w 40\nAvailable static hosts:\n - my-static-host (ID: 1)\n - another-host (ID: 2)\n",
1723
+ "$ xano static_host:list --profile production\nAvailable static hosts:\n - my-static-host (ID: 1)\n - another-host (ID: 2)\n",
1724
+ "$ 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",
1725
+ "$ xano static_host:list -p staging -o json --page 2\n[\n {\n \"id\": 3,\n \"name\": \"static-host-3\"\n }\n]\n"
1177
1726
  ],
1178
- "flags": {},
1727
+ "flags": {
1728
+ "profile": {
1729
+ "char": "p",
1730
+ "description": "Profile to use for this command",
1731
+ "env": "XANO_PROFILE",
1732
+ "name": "profile",
1733
+ "required": false,
1734
+ "hasDynamicHelp": false,
1735
+ "multiple": false,
1736
+ "type": "option"
1737
+ },
1738
+ "verbose": {
1739
+ "char": "v",
1740
+ "description": "Show detailed request/response information",
1741
+ "env": "XANO_VERBOSE",
1742
+ "name": "verbose",
1743
+ "required": false,
1744
+ "allowNo": false,
1745
+ "type": "boolean"
1746
+ },
1747
+ "output": {
1748
+ "char": "o",
1749
+ "description": "Output format",
1750
+ "name": "output",
1751
+ "required": false,
1752
+ "default": "summary",
1753
+ "hasDynamicHelp": false,
1754
+ "multiple": false,
1755
+ "options": [
1756
+ "summary",
1757
+ "json"
1758
+ ],
1759
+ "type": "option"
1760
+ },
1761
+ "page": {
1762
+ "description": "Page number for pagination",
1763
+ "name": "page",
1764
+ "required": false,
1765
+ "default": 1,
1766
+ "hasDynamicHelp": false,
1767
+ "multiple": false,
1768
+ "type": "option"
1769
+ },
1770
+ "per_page": {
1771
+ "description": "Number of results per page",
1772
+ "name": "per_page",
1773
+ "required": false,
1774
+ "default": 50,
1775
+ "hasDynamicHelp": false,
1776
+ "multiple": false,
1777
+ "type": "option"
1778
+ },
1779
+ "workspace": {
1780
+ "char": "w",
1781
+ "description": "Workspace ID (optional if set in profile)",
1782
+ "name": "workspace",
1783
+ "required": false,
1784
+ "hasDynamicHelp": false,
1785
+ "multiple": false,
1786
+ "type": "option"
1787
+ }
1788
+ },
1179
1789
  "hasDynamicHelp": false,
1180
1790
  "hiddenAliases": [],
1181
- "id": "profile:get-default",
1791
+ "id": "static_host:list",
1182
1792
  "pluginAlias": "@xano/cli",
1183
1793
  "pluginName": "@xano/cli",
1184
1794
  "pluginType": "core",
@@ -1188,8 +1798,8 @@
1188
1798
  "relativePath": [
1189
1799
  "dist",
1190
1800
  "commands",
1191
- "profile",
1192
- "get-default",
1801
+ "static_host",
1802
+ "list",
1193
1803
  "index.js"
1194
1804
  ]
1195
1805
  },
@@ -1222,15 +1832,6 @@
1222
1832
  "allowNo": false,
1223
1833
  "type": "boolean"
1224
1834
  },
1225
- "name": {
1226
- "char": "n",
1227
- "description": "Name of the workspace",
1228
- "name": "name",
1229
- "required": true,
1230
- "hasDynamicHelp": false,
1231
- "multiple": false,
1232
- "type": "option"
1233
- },
1234
1835
  "description": {
1235
1836
  "char": "d",
1236
1837
  "description": "Description for the workspace",
@@ -1240,6 +1841,15 @@
1240
1841
  "multiple": false,
1241
1842
  "type": "option"
1242
1843
  },
1844
+ "name": {
1845
+ "char": "n",
1846
+ "description": "Name of the workspace",
1847
+ "name": "name",
1848
+ "required": true,
1849
+ "hasDynamicHelp": false,
1850
+ "multiple": false,
1851
+ "type": "option"
1852
+ },
1243
1853
  "output": {
1244
1854
  "char": "o",
1245
1855
  "description": "Output format",
@@ -1272,20 +1882,21 @@
1272
1882
  "index.js"
1273
1883
  ]
1274
1884
  },
1275
- "workspace:delete": {
1885
+ "workspace:edit": {
1276
1886
  "aliases": [],
1277
1887
  "args": {
1278
1888
  "workspace_id": {
1279
- "description": "Workspace ID to delete",
1889
+ "description": "Workspace ID to edit (uses profile workspace if not provided)",
1280
1890
  "name": "workspace_id",
1281
- "required": true
1891
+ "required": false
1282
1892
  }
1283
1893
  },
1284
- "description": "Delete a workspace via the Xano Metadata API. Cannot delete workspaces with active tenants.",
1894
+ "description": "Edit an existing workspace via the Xano Metadata API",
1285
1895
  "examples": [
1286
- "$ xano workspace delete 123\nAre you sure you want to delete workspace 123? This action cannot be undone. (y/N) y\nDeleted workspace 123\n",
1287
- "$ xano workspace delete 123 --force\nDeleted workspace 123\n",
1288
- "$ xano workspace delete 123 -f -o json\n{\n \"deleted\": true,\n \"workspace_id\": 123\n}\n"
1896
+ "$ xano workspace edit 123 --name \"new-name\"\nUpdated workspace: new-name (ID: 123)\n",
1897
+ "$ xano workspace edit --name \"updated-workspace\" --description \"Updated description\"\nUpdated workspace: updated-workspace (ID: 123)\n Description: Updated description\n",
1898
+ "$ xano workspace edit 123 --swagger --require-token\nUpdated workspace: my-workspace (ID: 123)\n Swagger: enabled\n Require Token: true\n",
1899
+ "$ xano workspace edit 123 --no-swagger -o json\n{\n \"id\": 123,\n \"name\": \"my-workspace\",\n \"swagger\": false\n}\n"
1289
1900
  ],
1290
1901
  "flags": {
1291
1902
  "profile": {
@@ -1307,13 +1918,23 @@
1307
1918
  "allowNo": false,
1308
1919
  "type": "boolean"
1309
1920
  },
1310
- "force": {
1311
- "char": "f",
1312
- "description": "Skip confirmation prompt",
1313
- "name": "force",
1921
+ "description": {
1922
+ "char": "d",
1923
+ "description": "New description for the workspace",
1924
+ "name": "description",
1314
1925
  "required": false,
1315
- "allowNo": false,
1316
- "type": "boolean"
1926
+ "hasDynamicHelp": false,
1927
+ "multiple": false,
1928
+ "type": "option"
1929
+ },
1930
+ "name": {
1931
+ "char": "n",
1932
+ "description": "New name for the workspace",
1933
+ "name": "name",
1934
+ "required": false,
1935
+ "hasDynamicHelp": false,
1936
+ "multiple": false,
1937
+ "type": "option"
1317
1938
  },
1318
1939
  "output": {
1319
1940
  "char": "o",
@@ -1328,11 +1949,25 @@
1328
1949
  "json"
1329
1950
  ],
1330
1951
  "type": "option"
1952
+ },
1953
+ "require-token": {
1954
+ "description": "Whether to require a token for documentation access",
1955
+ "name": "require-token",
1956
+ "required": false,
1957
+ "allowNo": true,
1958
+ "type": "boolean"
1959
+ },
1960
+ "swagger": {
1961
+ "description": "Enable or disable swagger documentation",
1962
+ "name": "swagger",
1963
+ "required": false,
1964
+ "allowNo": true,
1965
+ "type": "boolean"
1331
1966
  }
1332
1967
  },
1333
1968
  "hasDynamicHelp": false,
1334
1969
  "hiddenAliases": [],
1335
- "id": "workspace:delete",
1970
+ "id": "workspace:edit",
1336
1971
  "pluginAlias": "@xano/cli",
1337
1972
  "pluginName": "@xano/cli",
1338
1973
  "pluginType": "core",
@@ -1343,19 +1978,24 @@
1343
1978
  "dist",
1344
1979
  "commands",
1345
1980
  "workspace",
1346
- "delete",
1981
+ "edit",
1347
1982
  "index.js"
1348
1983
  ]
1349
1984
  },
1350
- "static_host:list": {
1985
+ "workspace:get": {
1351
1986
  "aliases": [],
1352
- "args": {},
1353
- "description": "List all static hosts in a workspace from the Xano Metadata API",
1987
+ "args": {
1988
+ "workspace_id": {
1989
+ "description": "Workspace ID to get details for (uses profile workspace if not provided)",
1990
+ "name": "workspace_id",
1991
+ "required": false
1992
+ }
1993
+ },
1994
+ "description": "Get details of a specific workspace from the Xano Metadata API",
1354
1995
  "examples": [
1355
- "$ xano static_host:list -w 40\nAvailable static hosts:\n - my-static-host (ID: 1)\n - another-host (ID: 2)\n",
1356
- "$ xano static_host:list --profile production\nAvailable static hosts:\n - my-static-host (ID: 1)\n - another-host (ID: 2)\n",
1357
- "$ 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",
1358
- "$ xano static_host:list -p staging -o json --page 2\n[\n {\n \"id\": 3,\n \"name\": \"static-host-3\"\n }\n]\n"
1996
+ "$ xano workspace get 123\nWorkspace: my-workspace (ID: 123)\n Description: My workspace description\n Created: 2024-01-15\n",
1997
+ "$ xano workspace get --output json\n{\n \"id\": 123,\n \"name\": \"my-workspace\",\n \"description\": \"My workspace description\"\n}\n",
1998
+ "$ xano workspace get 456 -p production -o json\n{\n \"id\": 456,\n \"name\": \"production-workspace\"\n}\n"
1359
1999
  ],
1360
2000
  "flags": {
1361
2001
  "profile": {
@@ -1377,15 +2017,6 @@
1377
2017
  "allowNo": false,
1378
2018
  "type": "boolean"
1379
2019
  },
1380
- "workspace": {
1381
- "char": "w",
1382
- "description": "Workspace ID (optional if set in profile)",
1383
- "name": "workspace",
1384
- "required": false,
1385
- "hasDynamicHelp": false,
1386
- "multiple": false,
1387
- "type": "option"
1388
- },
1389
2020
  "output": {
1390
2021
  "char": "o",
1391
2022
  "description": "Output format",
@@ -1399,29 +2030,11 @@
1399
2030
  "json"
1400
2031
  ],
1401
2032
  "type": "option"
1402
- },
1403
- "page": {
1404
- "description": "Page number for pagination",
1405
- "name": "page",
1406
- "required": false,
1407
- "default": 1,
1408
- "hasDynamicHelp": false,
1409
- "multiple": false,
1410
- "type": "option"
1411
- },
1412
- "per_page": {
1413
- "description": "Number of results per page",
1414
- "name": "per_page",
1415
- "required": false,
1416
- "default": 50,
1417
- "hasDynamicHelp": false,
1418
- "multiple": false,
1419
- "type": "option"
1420
2033
  }
1421
2034
  },
1422
2035
  "hasDynamicHelp": false,
1423
2036
  "hiddenAliases": [],
1424
- "id": "static_host:list",
2037
+ "id": "workspace:get",
1425
2038
  "pluginAlias": "@xano/cli",
1426
2039
  "pluginName": "@xano/cli",
1427
2040
  "pluginType": "core",
@@ -1431,26 +2044,20 @@
1431
2044
  "relativePath": [
1432
2045
  "dist",
1433
2046
  "commands",
1434
- "static_host",
1435
- "list",
2047
+ "workspace",
2048
+ "get",
1436
2049
  "index.js"
1437
2050
  ]
1438
2051
  },
1439
- "workspace:edit": {
2052
+ "workspace:list": {
1440
2053
  "aliases": [],
1441
- "args": {
1442
- "workspace_id": {
1443
- "description": "Workspace ID to edit (uses profile workspace if not provided)",
1444
- "name": "workspace_id",
1445
- "required": false
1446
- }
1447
- },
1448
- "description": "Edit an existing workspace via the Xano Metadata API",
2054
+ "args": {},
2055
+ "description": "List all workspaces from the Xano Metadata API",
1449
2056
  "examples": [
1450
- "$ xano workspace edit 123 --name \"new-name\"\nUpdated workspace: new-name (ID: 123)\n",
1451
- "$ xano workspace edit --name \"updated-workspace\" --description \"Updated description\"\nUpdated workspace: updated-workspace (ID: 123)\n Description: Updated description\n",
1452
- "$ xano workspace edit 123 --swagger --require-token\nUpdated workspace: my-workspace (ID: 123)\n Swagger: enabled\n Require Token: true\n",
1453
- "$ xano workspace edit 123 --no-swagger -o json\n{\n \"id\": 123,\n \"name\": \"my-workspace\",\n \"swagger\": false\n}\n"
2057
+ "$ xano workspace:list\nAvailable workspaces:\n - workspace-1 (ID: 1)\n - workspace-2 (ID: 2)\n - workspace-3 (ID: 3)\n",
2058
+ "$ xano workspace:list --profile production\nAvailable workspaces:\n - my-app (ID: 1)\n - staging-env (ID: 2)\n",
2059
+ "$ xano workspace:list --output json\n{\n \"workspaces\": [\n {\n \"id\": 1,\n \"name\": \"workspace-1\"\n },\n {\n \"id\": 2,\n \"name\": \"workspace-2\"\n }\n ]\n}\n",
2060
+ "$ xano workspace:list -p staging -o json\n{\n \"workspaces\": [\n {\n \"id\": 1,\n \"name\": \"my-app\"\n }\n ]\n}\n"
1454
2061
  ],
1455
2062
  "flags": {
1456
2063
  "profile": {
@@ -1472,38 +2079,6 @@
1472
2079
  "allowNo": false,
1473
2080
  "type": "boolean"
1474
2081
  },
1475
- "name": {
1476
- "char": "n",
1477
- "description": "New name for the workspace",
1478
- "name": "name",
1479
- "required": false,
1480
- "hasDynamicHelp": false,
1481
- "multiple": false,
1482
- "type": "option"
1483
- },
1484
- "description": {
1485
- "char": "d",
1486
- "description": "New description for the workspace",
1487
- "name": "description",
1488
- "required": false,
1489
- "hasDynamicHelp": false,
1490
- "multiple": false,
1491
- "type": "option"
1492
- },
1493
- "swagger": {
1494
- "description": "Enable or disable swagger documentation",
1495
- "name": "swagger",
1496
- "required": false,
1497
- "allowNo": true,
1498
- "type": "boolean"
1499
- },
1500
- "require-token": {
1501
- "description": "Whether to require a token for documentation access",
1502
- "name": "require-token",
1503
- "required": false,
1504
- "allowNo": true,
1505
- "type": "boolean"
1506
- },
1507
2082
  "output": {
1508
2083
  "char": "o",
1509
2084
  "description": "Output format",
@@ -1521,7 +2096,7 @@
1521
2096
  },
1522
2097
  "hasDynamicHelp": false,
1523
2098
  "hiddenAliases": [],
1524
- "id": "workspace:edit",
2099
+ "id": "workspace:list",
1525
2100
  "pluginAlias": "@xano/cli",
1526
2101
  "pluginName": "@xano/cli",
1527
2102
  "pluginType": "core",
@@ -1532,7 +2107,7 @@
1532
2107
  "dist",
1533
2108
  "commands",
1534
2109
  "workspace",
1535
- "edit",
2110
+ "list",
1536
2111
  "index.js"
1537
2112
  ]
1538
2113
  },
@@ -1571,15 +2146,6 @@
1571
2146
  "allowNo": false,
1572
2147
  "type": "boolean"
1573
2148
  },
1574
- "workspace": {
1575
- "char": "w",
1576
- "description": "Workspace ID (optional if set in profile)",
1577
- "name": "workspace",
1578
- "required": false,
1579
- "hasDynamicHelp": false,
1580
- "multiple": false,
1581
- "type": "option"
1582
- },
1583
2149
  "env": {
1584
2150
  "description": "Include environment variables",
1585
2151
  "name": "env",
@@ -1593,78 +2159,20 @@
1593
2159
  "required": false,
1594
2160
  "allowNo": false,
1595
2161
  "type": "boolean"
1596
- }
1597
- },
1598
- "hasDynamicHelp": false,
1599
- "hiddenAliases": [],
1600
- "id": "workspace:pull",
1601
- "pluginAlias": "@xano/cli",
1602
- "pluginName": "@xano/cli",
1603
- "pluginType": "core",
1604
- "strict": true,
1605
- "enableJsonFlag": false,
1606
- "isESM": true,
1607
- "relativePath": [
1608
- "dist",
1609
- "commands",
1610
- "workspace",
1611
- "pull",
1612
- "index.js"
1613
- ]
1614
- },
1615
- "workspace:get": {
1616
- "aliases": [],
1617
- "args": {
1618
- "workspace_id": {
1619
- "description": "Workspace ID to get details for (uses profile workspace if not provided)",
1620
- "name": "workspace_id",
1621
- "required": false
1622
- }
1623
- },
1624
- "description": "Get details of a specific workspace from the Xano Metadata API",
1625
- "examples": [
1626
- "$ xano workspace get 123\nWorkspace: my-workspace (ID: 123)\n Description: My workspace description\n Created: 2024-01-15\n",
1627
- "$ xano workspace get --output json\n{\n \"id\": 123,\n \"name\": \"my-workspace\",\n \"description\": \"My workspace description\"\n}\n",
1628
- "$ xano workspace get 456 -p production -o json\n{\n \"id\": 456,\n \"name\": \"production-workspace\"\n}\n"
1629
- ],
1630
- "flags": {
1631
- "profile": {
1632
- "char": "p",
1633
- "description": "Profile to use for this command",
1634
- "env": "XANO_PROFILE",
1635
- "name": "profile",
1636
- "required": false,
1637
- "hasDynamicHelp": false,
1638
- "multiple": false,
1639
- "type": "option"
1640
- },
1641
- "verbose": {
1642
- "char": "v",
1643
- "description": "Show detailed request/response information",
1644
- "env": "XANO_VERBOSE",
1645
- "name": "verbose",
1646
- "required": false,
1647
- "allowNo": false,
1648
- "type": "boolean"
1649
2162
  },
1650
- "output": {
1651
- "char": "o",
1652
- "description": "Output format",
1653
- "name": "output",
2163
+ "workspace": {
2164
+ "char": "w",
2165
+ "description": "Workspace ID (optional if set in profile)",
2166
+ "name": "workspace",
1654
2167
  "required": false,
1655
- "default": "summary",
1656
2168
  "hasDynamicHelp": false,
1657
2169
  "multiple": false,
1658
- "options": [
1659
- "summary",
1660
- "json"
1661
- ],
1662
2170
  "type": "option"
1663
2171
  }
1664
2172
  },
1665
2173
  "hasDynamicHelp": false,
1666
2174
  "hiddenAliases": [],
1667
- "id": "workspace:get",
2175
+ "id": "workspace:pull",
1668
2176
  "pluginAlias": "@xano/cli",
1669
2177
  "pluginName": "@xano/cli",
1670
2178
  "pluginType": "core",
@@ -1675,19 +2183,24 @@
1675
2183
  "dist",
1676
2184
  "commands",
1677
2185
  "workspace",
1678
- "get",
2186
+ "pull",
1679
2187
  "index.js"
1680
2188
  ]
1681
2189
  },
1682
- "workspace:list": {
2190
+ "workspace:push": {
1683
2191
  "aliases": [],
1684
- "args": {},
1685
- "description": "List all workspaces from the Xano Metadata API",
2192
+ "args": {
2193
+ "directory": {
2194
+ "description": "Directory containing documents to push (as produced by workspace pull)",
2195
+ "name": "directory",
2196
+ "required": true
2197
+ }
2198
+ },
2199
+ "description": "Push local documents to a workspace via the Xano Metadata API multidoc endpoint",
1686
2200
  "examples": [
1687
- "$ xano workspace:list\nAvailable workspaces:\n - workspace-1 (ID: 1)\n - workspace-2 (ID: 2)\n - workspace-3 (ID: 3)\n",
1688
- "$ xano workspace:list --profile production\nAvailable workspaces:\n - my-app (ID: 1)\n - staging-env (ID: 2)\n",
1689
- "$ xano workspace:list --output json\n{\n \"workspaces\": [\n {\n \"id\": 1,\n \"name\": \"workspace-1\"\n },\n {\n \"id\": 2,\n \"name\": \"workspace-2\"\n }\n ]\n}\n",
1690
- "$ xano workspace:list -p staging -o json\n{\n \"workspaces\": [\n {\n \"id\": 1,\n \"name\": \"my-app\"\n }\n ]\n}\n"
2201
+ "$ xano workspace push ./my-workspace\nPushed 42 documents from ./my-workspace\n",
2202
+ "$ xano workspace push ./output -w 40\nPushed 15 documents from ./output\n",
2203
+ "$ xano workspace push ./backup --profile production\nPushed 58 documents from ./backup\n"
1691
2204
  ],
1692
2205
  "flags": {
1693
2206
  "profile": {
@@ -1709,24 +2222,19 @@
1709
2222
  "allowNo": false,
1710
2223
  "type": "boolean"
1711
2224
  },
1712
- "output": {
1713
- "char": "o",
1714
- "description": "Output format",
1715
- "name": "output",
2225
+ "workspace": {
2226
+ "char": "w",
2227
+ "description": "Workspace ID (optional if set in profile)",
2228
+ "name": "workspace",
1716
2229
  "required": false,
1717
- "default": "summary",
1718
2230
  "hasDynamicHelp": false,
1719
2231
  "multiple": false,
1720
- "options": [
1721
- "summary",
1722
- "json"
1723
- ],
1724
2232
  "type": "option"
1725
2233
  }
1726
2234
  },
1727
2235
  "hasDynamicHelp": false,
1728
2236
  "hiddenAliases": [],
1729
- "id": "workspace:list",
2237
+ "id": "workspace:push",
1730
2238
  "pluginAlias": "@xano/cli",
1731
2239
  "pluginName": "@xano/cli",
1732
2240
  "pluginType": "core",
@@ -1737,24 +2245,23 @@
1737
2245
  "dist",
1738
2246
  "commands",
1739
2247
  "workspace",
1740
- "list",
2248
+ "push",
1741
2249
  "index.js"
1742
2250
  ]
1743
2251
  },
1744
- "workspace:push": {
2252
+ "run:env:delete": {
1745
2253
  "aliases": [],
1746
2254
  "args": {
1747
- "directory": {
1748
- "description": "Directory containing documents to push (as produced by workspace pull)",
1749
- "name": "directory",
2255
+ "name": {
2256
+ "description": "Environment variable name",
2257
+ "name": "name",
1750
2258
  "required": true
1751
2259
  }
1752
2260
  },
1753
- "description": "Push local documents to a workspace via the Xano Metadata API multidoc endpoint",
2261
+ "description": "Delete an environment variable",
1754
2262
  "examples": [
1755
- "$ xano workspace push ./my-workspace\nPushed 42 documents from ./my-workspace\n",
1756
- "$ xano workspace push ./output -w 40\nPushed 15 documents from ./output\n",
1757
- "$ xano workspace push ./backup --profile production\nPushed 58 documents from ./backup\n"
2263
+ "$ xano run env delete API_KEY\nAre you sure you want to delete environment variable 'API_KEY'? (y/N)\nEnvironment variable 'API_KEY' deleted successfully!\n",
2264
+ "$ xano run env delete API_KEY --force\nEnvironment variable 'API_KEY' deleted successfully!\n"
1758
2265
  ],
1759
2266
  "flags": {
1760
2267
  "profile": {
@@ -1776,40 +2283,45 @@
1776
2283
  "allowNo": false,
1777
2284
  "type": "boolean"
1778
2285
  },
1779
- "workspace": {
1780
- "char": "w",
1781
- "description": "Workspace ID (optional if set in profile)",
1782
- "name": "workspace",
2286
+ "force": {
2287
+ "char": "f",
2288
+ "description": "Skip confirmation prompt",
2289
+ "name": "force",
1783
2290
  "required": false,
1784
- "hasDynamicHelp": false,
1785
- "multiple": false,
1786
- "type": "option"
2291
+ "allowNo": false,
2292
+ "type": "boolean"
1787
2293
  }
1788
2294
  },
1789
2295
  "hasDynamicHelp": false,
1790
2296
  "hiddenAliases": [],
1791
- "id": "workspace:push",
2297
+ "id": "run:env:delete",
1792
2298
  "pluginAlias": "@xano/cli",
1793
2299
  "pluginName": "@xano/cli",
1794
2300
  "pluginType": "core",
1795
2301
  "strict": true,
1796
- "enableJsonFlag": false,
1797
2302
  "isESM": true,
1798
2303
  "relativePath": [
1799
2304
  "dist",
1800
2305
  "commands",
1801
- "workspace",
1802
- "push",
2306
+ "run",
2307
+ "env",
2308
+ "delete",
1803
2309
  "index.js"
1804
2310
  ]
1805
2311
  },
1806
- "run:env:list": {
2312
+ "run:env:get": {
1807
2313
  "aliases": [],
1808
- "args": {},
1809
- "description": "List all environment variable keys",
2314
+ "args": {
2315
+ "name": {
2316
+ "description": "Environment variable name",
2317
+ "name": "name",
2318
+ "required": true
2319
+ }
2320
+ },
2321
+ "description": "Get an environment variable value",
1810
2322
  "examples": [
1811
- "$ xano run env list\nEnvironment variables:\n - API_KEY\n - DATABASE_URL\n - DEBUG\n",
1812
- "$ xano run env list -o json\n{ \"env\": [\"API_KEY\", \"DATABASE_URL\", \"DEBUG\"] }\n"
2323
+ "$ xano run env get API_KEY\nmy-secret-api-key\n",
2324
+ "$ xano run env get API_KEY -o json\n{ \"name\": \"API_KEY\", \"value\": \"my-secret-api-key\" }\n"
1813
2325
  ],
1814
2326
  "flags": {
1815
2327
  "profile": {
@@ -1836,11 +2348,11 @@
1836
2348
  "description": "Output format",
1837
2349
  "name": "output",
1838
2350
  "required": false,
1839
- "default": "list",
2351
+ "default": "value",
1840
2352
  "hasDynamicHelp": false,
1841
2353
  "multiple": false,
1842
2354
  "options": [
1843
- "list",
2355
+ "value",
1844
2356
  "json"
1845
2357
  ],
1846
2358
  "type": "option"
@@ -1848,7 +2360,7 @@
1848
2360
  },
1849
2361
  "hasDynamicHelp": false,
1850
2362
  "hiddenAliases": [],
1851
- "id": "run:env:list",
2363
+ "id": "run:env:get",
1852
2364
  "pluginAlias": "@xano/cli",
1853
2365
  "pluginName": "@xano/cli",
1854
2366
  "pluginType": "core",
@@ -1859,23 +2371,17 @@
1859
2371
  "commands",
1860
2372
  "run",
1861
2373
  "env",
1862
- "list",
2374
+ "get",
1863
2375
  "index.js"
1864
2376
  ]
1865
2377
  },
1866
- "run:env:get": {
2378
+ "run:env:list": {
1867
2379
  "aliases": [],
1868
- "args": {
1869
- "name": {
1870
- "description": "Environment variable name",
1871
- "name": "name",
1872
- "required": true
1873
- }
1874
- },
1875
- "description": "Get an environment variable value",
2380
+ "args": {},
2381
+ "description": "List all environment variable keys",
1876
2382
  "examples": [
1877
- "$ xano run env get API_KEY\nmy-secret-api-key\n",
1878
- "$ xano run env get API_KEY -o json\n{ \"name\": \"API_KEY\", \"value\": \"my-secret-api-key\" }\n"
2383
+ "$ xano run env list\nEnvironment variables:\n - API_KEY\n - DATABASE_URL\n - DEBUG\n",
2384
+ "$ xano run env list -o json\n{ \"env\": [\"API_KEY\", \"DATABASE_URL\", \"DEBUG\"] }\n"
1879
2385
  ],
1880
2386
  "flags": {
1881
2387
  "profile": {
@@ -1902,11 +2408,11 @@
1902
2408
  "description": "Output format",
1903
2409
  "name": "output",
1904
2410
  "required": false,
1905
- "default": "value",
2411
+ "default": "list",
1906
2412
  "hasDynamicHelp": false,
1907
2413
  "multiple": false,
1908
2414
  "options": [
1909
- "value",
2415
+ "list",
1910
2416
  "json"
1911
2417
  ],
1912
2418
  "type": "option"
@@ -1914,7 +2420,7 @@
1914
2420
  },
1915
2421
  "hasDynamicHelp": false,
1916
2422
  "hiddenAliases": [],
1917
- "id": "run:env:get",
2423
+ "id": "run:env:list",
1918
2424
  "pluginAlias": "@xano/cli",
1919
2425
  "pluginName": "@xano/cli",
1920
2426
  "pluginType": "core",
@@ -1925,7 +2431,7 @@
1925
2431
  "commands",
1926
2432
  "run",
1927
2433
  "env",
1928
- "get",
2434
+ "list",
1929
2435
  "index.js"
1930
2436
  ]
1931
2437
  },
@@ -1986,19 +2492,20 @@
1986
2492
  "index.js"
1987
2493
  ]
1988
2494
  },
1989
- "run:env:delete": {
2495
+ "workspace:delete": {
1990
2496
  "aliases": [],
1991
2497
  "args": {
1992
- "name": {
1993
- "description": "Environment variable name",
1994
- "name": "name",
2498
+ "workspace_id": {
2499
+ "description": "Workspace ID to delete",
2500
+ "name": "workspace_id",
1995
2501
  "required": true
1996
2502
  }
1997
2503
  },
1998
- "description": "Delete an environment variable",
2504
+ "description": "Delete a workspace via the Xano Metadata API. Cannot delete workspaces with active tenants.",
1999
2505
  "examples": [
2000
- "$ xano run env delete API_KEY\nAre you sure you want to delete environment variable 'API_KEY'? (y/N)\nEnvironment variable 'API_KEY' deleted successfully!\n",
2001
- "$ xano run env delete API_KEY --force\nEnvironment variable 'API_KEY' deleted successfully!\n"
2506
+ "$ xano workspace delete 123\nAre you sure you want to delete workspace 123? This action cannot be undone. (y/N) y\nDeleted workspace 123\n",
2507
+ "$ xano workspace delete 123 --force\nDeleted workspace 123\n",
2508
+ "$ xano workspace delete 123 -f -o json\n{\n \"deleted\": true,\n \"workspace_id\": 123\n}\n"
2002
2509
  ],
2003
2510
  "flags": {
2004
2511
  "profile": {
@@ -2027,38 +2534,132 @@
2027
2534
  "required": false,
2028
2535
  "allowNo": false,
2029
2536
  "type": "boolean"
2537
+ },
2538
+ "output": {
2539
+ "char": "o",
2540
+ "description": "Output format",
2541
+ "name": "output",
2542
+ "required": false,
2543
+ "default": "summary",
2544
+ "hasDynamicHelp": false,
2545
+ "multiple": false,
2546
+ "options": [
2547
+ "summary",
2548
+ "json"
2549
+ ],
2550
+ "type": "option"
2030
2551
  }
2031
2552
  },
2032
2553
  "hasDynamicHelp": false,
2033
2554
  "hiddenAliases": [],
2034
- "id": "run:env:delete",
2555
+ "id": "workspace:delete",
2035
2556
  "pluginAlias": "@xano/cli",
2036
2557
  "pluginName": "@xano/cli",
2037
2558
  "pluginType": "core",
2038
2559
  "strict": true,
2560
+ "enableJsonFlag": false,
2039
2561
  "isESM": true,
2040
2562
  "relativePath": [
2041
2563
  "dist",
2042
2564
  "commands",
2043
- "run",
2044
- "env",
2565
+ "workspace",
2045
2566
  "delete",
2046
2567
  "index.js"
2047
2568
  ]
2048
2569
  },
2049
- "run:secrets:delete": {
2570
+ "run:projects:create": {
2050
2571
  "aliases": [],
2051
- "args": {
2572
+ "args": {},
2573
+ "description": "Create a new project",
2574
+ "examples": [
2575
+ "$ xano run projects create -n \"My Project\"\nProject created successfully!\n ID: abc123-def456-ghi789\n Name: My Project\n",
2576
+ "$ xano run projects create -n \"My Project\" -d \"Description here\"\nProject created successfully!\n ID: abc123-def456-ghi789\n Name: My Project\n",
2577
+ "$ xano run projects create -n \"My Project\" -o json\n{ \"id\": \"abc123-def456-ghi789\", \"name\": \"My Project\", ... }\n"
2578
+ ],
2579
+ "flags": {
2580
+ "profile": {
2581
+ "char": "p",
2582
+ "description": "Profile to use for this command",
2583
+ "env": "XANO_PROFILE",
2584
+ "name": "profile",
2585
+ "required": false,
2586
+ "hasDynamicHelp": false,
2587
+ "multiple": false,
2588
+ "type": "option"
2589
+ },
2590
+ "verbose": {
2591
+ "char": "v",
2592
+ "description": "Show detailed request/response information",
2593
+ "env": "XANO_VERBOSE",
2594
+ "name": "verbose",
2595
+ "required": false,
2596
+ "allowNo": false,
2597
+ "type": "boolean"
2598
+ },
2599
+ "description": {
2600
+ "char": "d",
2601
+ "description": "Project description",
2602
+ "name": "description",
2603
+ "required": false,
2604
+ "default": "",
2605
+ "hasDynamicHelp": false,
2606
+ "multiple": false,
2607
+ "type": "option"
2608
+ },
2052
2609
  "name": {
2053
- "description": "Secret name",
2610
+ "char": "n",
2611
+ "description": "Project name",
2054
2612
  "name": "name",
2613
+ "required": true,
2614
+ "hasDynamicHelp": false,
2615
+ "multiple": false,
2616
+ "type": "option"
2617
+ },
2618
+ "output": {
2619
+ "char": "o",
2620
+ "description": "Output format",
2621
+ "name": "output",
2622
+ "required": false,
2623
+ "default": "summary",
2624
+ "hasDynamicHelp": false,
2625
+ "multiple": false,
2626
+ "options": [
2627
+ "summary",
2628
+ "json"
2629
+ ],
2630
+ "type": "option"
2631
+ }
2632
+ },
2633
+ "hasDynamicHelp": false,
2634
+ "hiddenAliases": [],
2635
+ "id": "run:projects:create",
2636
+ "pluginAlias": "@xano/cli",
2637
+ "pluginName": "@xano/cli",
2638
+ "pluginType": "core",
2639
+ "strict": true,
2640
+ "isESM": true,
2641
+ "relativePath": [
2642
+ "dist",
2643
+ "commands",
2644
+ "run",
2645
+ "projects",
2646
+ "create",
2647
+ "index.js"
2648
+ ]
2649
+ },
2650
+ "run:projects:delete": {
2651
+ "aliases": [],
2652
+ "args": {
2653
+ "projectId": {
2654
+ "description": "Project ID to delete",
2655
+ "name": "projectId",
2055
2656
  "required": true
2056
2657
  }
2057
2658
  },
2058
- "description": "Delete a secret",
2659
+ "description": "Delete a project",
2059
2660
  "examples": [
2060
- "$ xano run secrets delete docker-registry\nAre you sure you want to delete secret 'docker-registry'? (y/N)\nSecret 'docker-registry' deleted successfully!\n",
2061
- "$ xano run secrets delete docker-registry --force\nSecret 'docker-registry' deleted successfully!\n"
2661
+ "$ xano run projects delete abc123-def456\nAre you sure you want to delete project 'abc123-def456'? (y/N)\nProject deleted successfully!\n",
2662
+ "$ xano run projects delete abc123-def456 --force\nProject deleted successfully!\n"
2062
2663
  ],
2063
2664
  "flags": {
2064
2665
  "profile": {
@@ -2091,7 +2692,7 @@
2091
2692
  },
2092
2693
  "hasDynamicHelp": false,
2093
2694
  "hiddenAliases": [],
2094
- "id": "run:secrets:delete",
2695
+ "id": "run:projects:delete",
2095
2696
  "pluginAlias": "@xano/cli",
2096
2697
  "pluginName": "@xano/cli",
2097
2698
  "pluginType": "core",
@@ -2101,18 +2702,18 @@
2101
2702
  "dist",
2102
2703
  "commands",
2103
2704
  "run",
2104
- "secrets",
2705
+ "projects",
2105
2706
  "delete",
2106
2707
  "index.js"
2107
2708
  ]
2108
2709
  },
2109
- "run:secrets:list": {
2710
+ "run:projects:list": {
2110
2711
  "aliases": [],
2111
2712
  "args": {},
2112
- "description": "List all secret keys",
2713
+ "description": "List all projects",
2113
2714
  "examples": [
2114
- "$ xano run secrets list\nNAME TYPE REPO\ndocker-registry kubernetes.io/dockerconfigjson ghcr.io\nservice-account kubernetes.io/service-account-token -\n",
2115
- "$ xano run secrets list -o json\n{ \"secrets\": [{ \"name\": \"docker-registry\", \"type\": \"kubernetes.io/dockerconfigjson\", \"repo\": \"ghcr.io\" }] }\n"
2715
+ "$ xano run projects list\nID NAME ACCESS\nabc123-def456-ghi789 My Project private\nxyz789-uvw456-rst123 Test Project public\n",
2716
+ "$ xano run projects list -o json\n[\n { \"id\": \"abc123-def456-ghi789\", \"name\": \"My Project\", ... }\n]\n"
2116
2717
  ],
2117
2718
  "flags": {
2118
2719
  "profile": {
@@ -2151,7 +2752,7 @@
2151
2752
  },
2152
2753
  "hasDynamicHelp": false,
2153
2754
  "hiddenAliases": [],
2154
- "id": "run:secrets:list",
2755
+ "id": "run:projects:list",
2155
2756
  "pluginAlias": "@xano/cli",
2156
2757
  "pluginName": "@xano/cli",
2157
2758
  "pluginType": "core",
@@ -2161,24 +2762,25 @@
2161
2762
  "dist",
2162
2763
  "commands",
2163
2764
  "run",
2164
- "secrets",
2765
+ "projects",
2165
2766
  "list",
2166
2767
  "index.js"
2167
2768
  ]
2168
2769
  },
2169
- "run:secrets:set": {
2770
+ "run:projects:update": {
2170
2771
  "aliases": [],
2171
2772
  "args": {
2172
- "name": {
2173
- "description": "Secret name",
2174
- "name": "name",
2773
+ "projectId": {
2774
+ "description": "Project ID to update",
2775
+ "name": "projectId",
2175
2776
  "required": true
2176
2777
  }
2177
2778
  },
2178
- "description": "Set a secret",
2779
+ "description": "Update a project",
2179
2780
  "examples": [
2180
- "$ xano run secrets set docker-registry -t dockerconfigjson -v '{\"auths\":{\"ghcr.io\":{\"auth\":\"...\"}}}' -r ghcr.io\nSecret 'docker-registry' set successfully!\n",
2181
- "$ xano run secrets set service-key -t service-account-token -v 'token-value-here'\nSecret 'service-key' set successfully!\n"
2781
+ "$ xano run projects update abc123-def456 -n \"New Name\"\nProject updated successfully!\n ID: abc123-def456\n Name: New Name\n",
2782
+ "$ xano run projects update abc123-def456 -d \"New description\"\nProject updated successfully!\n ID: abc123-def456\n Description: New description\n",
2783
+ "$ xano run projects update abc123-def456 -n \"New Name\" -o json\n{ \"id\": \"abc123-def456\", \"name\": \"New Name\", ... }\n"
2182
2784
  ],
2183
2785
  "flags": {
2184
2786
  "profile": {
@@ -2200,41 +2802,42 @@
2200
2802
  "allowNo": false,
2201
2803
  "type": "boolean"
2202
2804
  },
2203
- "type": {
2204
- "char": "t",
2205
- "description": "Secret type",
2206
- "name": "type",
2207
- "required": true,
2805
+ "description": {
2806
+ "char": "d",
2807
+ "description": "New project description",
2808
+ "name": "description",
2809
+ "required": false,
2208
2810
  "hasDynamicHelp": false,
2209
2811
  "multiple": false,
2210
- "options": [
2211
- "dockerconfigjson",
2212
- "service-account-token"
2213
- ],
2214
2812
  "type": "option"
2215
2813
  },
2216
- "value": {
2217
- "char": "v",
2218
- "description": "Secret value",
2219
- "name": "value",
2220
- "required": true,
2814
+ "name": {
2815
+ "char": "n",
2816
+ "description": "New project name",
2817
+ "name": "name",
2818
+ "required": false,
2221
2819
  "hasDynamicHelp": false,
2222
2820
  "multiple": false,
2223
2821
  "type": "option"
2224
2822
  },
2225
- "repo": {
2226
- "char": "r",
2227
- "description": "Repository (for dockerconfigjson type)",
2228
- "name": "repo",
2823
+ "output": {
2824
+ "char": "o",
2825
+ "description": "Output format",
2826
+ "name": "output",
2229
2827
  "required": false,
2828
+ "default": "summary",
2230
2829
  "hasDynamicHelp": false,
2231
2830
  "multiple": false,
2831
+ "options": [
2832
+ "summary",
2833
+ "json"
2834
+ ],
2232
2835
  "type": "option"
2233
2836
  }
2234
2837
  },
2235
2838
  "hasDynamicHelp": false,
2236
2839
  "hiddenAliases": [],
2237
- "id": "run:secrets:set",
2840
+ "id": "run:projects:update",
2238
2841
  "pluginAlias": "@xano/cli",
2239
2842
  "pluginName": "@xano/cli",
2240
2843
  "pluginType": "core",
@@ -2244,12 +2847,12 @@
2244
2847
  "dist",
2245
2848
  "commands",
2246
2849
  "run",
2247
- "secrets",
2248
- "set",
2850
+ "projects",
2851
+ "update",
2249
2852
  "index.js"
2250
2853
  ]
2251
2854
  },
2252
- "run:secrets:get": {
2855
+ "run:secrets:delete": {
2253
2856
  "aliases": [],
2254
2857
  "args": {
2255
2858
  "name": {
@@ -2258,10 +2861,10 @@
2258
2861
  "required": true
2259
2862
  }
2260
2863
  },
2261
- "description": "Get a secret value",
2864
+ "description": "Delete a secret",
2262
2865
  "examples": [
2263
- "$ xano run secrets get docker-registry\n{\"auths\":{\"ghcr.io\":{\"auth\":\"...\"}}}\n",
2264
- "$ xano run secrets get docker-registry -o json\n{ \"name\": \"docker-registry\", \"type\": \"kubernetes.io/dockerconfigjson\", \"value\": \"...\" }\n"
2866
+ "$ xano run secrets delete docker-registry\nAre you sure you want to delete secret 'docker-registry'? (y/N)\nSecret 'docker-registry' deleted successfully!\n",
2867
+ "$ xano run secrets delete docker-registry --force\nSecret 'docker-registry' deleted successfully!\n"
2265
2868
  ],
2266
2869
  "flags": {
2267
2870
  "profile": {
@@ -2283,24 +2886,18 @@
2283
2886
  "allowNo": false,
2284
2887
  "type": "boolean"
2285
2888
  },
2286
- "output": {
2287
- "char": "o",
2288
- "description": "Output format",
2289
- "name": "output",
2889
+ "force": {
2890
+ "char": "f",
2891
+ "description": "Skip confirmation prompt",
2892
+ "name": "force",
2290
2893
  "required": false,
2291
- "default": "value",
2292
- "hasDynamicHelp": false,
2293
- "multiple": false,
2294
- "options": [
2295
- "value",
2296
- "json"
2297
- ],
2298
- "type": "option"
2894
+ "allowNo": false,
2895
+ "type": "boolean"
2299
2896
  }
2300
2897
  },
2301
2898
  "hasDynamicHelp": false,
2302
2899
  "hiddenAliases": [],
2303
- "id": "run:secrets:get",
2900
+ "id": "run:secrets:delete",
2304
2901
  "pluginAlias": "@xano/cli",
2305
2902
  "pluginName": "@xano/cli",
2306
2903
  "pluginType": "core",
@@ -2311,97 +2908,23 @@
2311
2908
  "commands",
2312
2909
  "run",
2313
2910
  "secrets",
2314
- "get",
2911
+ "delete",
2315
2912
  "index.js"
2316
2913
  ]
2317
2914
  },
2318
- "run:projects:create": {
2915
+ "run:secrets:get": {
2319
2916
  "aliases": [],
2320
- "args": {},
2321
- "description": "Create a new project",
2322
- "examples": [
2323
- "$ xano run projects create -n \"My Project\"\nProject created successfully!\n ID: abc123-def456-ghi789\n Name: My Project\n",
2324
- "$ xano run projects create -n \"My Project\" -d \"Description here\"\nProject created successfully!\n ID: abc123-def456-ghi789\n Name: My Project\n",
2325
- "$ xano run projects create -n \"My Project\" -o json\n{ \"id\": \"abc123-def456-ghi789\", \"name\": \"My Project\", ... }\n"
2326
- ],
2327
- "flags": {
2328
- "profile": {
2329
- "char": "p",
2330
- "description": "Profile to use for this command",
2331
- "env": "XANO_PROFILE",
2332
- "name": "profile",
2333
- "required": false,
2334
- "hasDynamicHelp": false,
2335
- "multiple": false,
2336
- "type": "option"
2337
- },
2338
- "verbose": {
2339
- "char": "v",
2340
- "description": "Show detailed request/response information",
2341
- "env": "XANO_VERBOSE",
2342
- "name": "verbose",
2343
- "required": false,
2344
- "allowNo": false,
2345
- "type": "boolean"
2346
- },
2917
+ "args": {
2347
2918
  "name": {
2348
- "char": "n",
2349
- "description": "Project name",
2919
+ "description": "Secret name",
2350
2920
  "name": "name",
2351
- "required": true,
2352
- "hasDynamicHelp": false,
2353
- "multiple": false,
2354
- "type": "option"
2355
- },
2356
- "description": {
2357
- "char": "d",
2358
- "description": "Project description",
2359
- "name": "description",
2360
- "required": false,
2361
- "default": "",
2362
- "hasDynamicHelp": false,
2363
- "multiple": false,
2364
- "type": "option"
2365
- },
2366
- "output": {
2367
- "char": "o",
2368
- "description": "Output format",
2369
- "name": "output",
2370
- "required": false,
2371
- "default": "summary",
2372
- "hasDynamicHelp": false,
2373
- "multiple": false,
2374
- "options": [
2375
- "summary",
2376
- "json"
2377
- ],
2378
- "type": "option"
2921
+ "required": true
2379
2922
  }
2380
2923
  },
2381
- "hasDynamicHelp": false,
2382
- "hiddenAliases": [],
2383
- "id": "run:projects:create",
2384
- "pluginAlias": "@xano/cli",
2385
- "pluginName": "@xano/cli",
2386
- "pluginType": "core",
2387
- "strict": true,
2388
- "isESM": true,
2389
- "relativePath": [
2390
- "dist",
2391
- "commands",
2392
- "run",
2393
- "projects",
2394
- "create",
2395
- "index.js"
2396
- ]
2397
- },
2398
- "run:projects:list": {
2399
- "aliases": [],
2400
- "args": {},
2401
- "description": "List all projects",
2924
+ "description": "Get a secret value",
2402
2925
  "examples": [
2403
- "$ xano run projects list\nID NAME ACCESS\nabc123-def456-ghi789 My Project private\nxyz789-uvw456-rst123 Test Project public\n",
2404
- "$ xano run projects list -o json\n[\n { \"id\": \"abc123-def456-ghi789\", \"name\": \"My Project\", ... }\n]\n"
2926
+ "$ xano run secrets get docker-registry\n{\"auths\":{\"ghcr.io\":{\"auth\":\"...\"}}}\n",
2927
+ "$ xano run secrets get docker-registry -o json\n{ \"name\": \"docker-registry\", \"type\": \"kubernetes.io/dockerconfigjson\", \"value\": \"...\" }\n"
2405
2928
  ],
2406
2929
  "flags": {
2407
2930
  "profile": {
@@ -2428,11 +2951,11 @@
2428
2951
  "description": "Output format",
2429
2952
  "name": "output",
2430
2953
  "required": false,
2431
- "default": "table",
2954
+ "default": "value",
2432
2955
  "hasDynamicHelp": false,
2433
2956
  "multiple": false,
2434
2957
  "options": [
2435
- "table",
2958
+ "value",
2436
2959
  "json"
2437
2960
  ],
2438
2961
  "type": "option"
@@ -2440,7 +2963,7 @@
2440
2963
  },
2441
2964
  "hasDynamicHelp": false,
2442
2965
  "hiddenAliases": [],
2443
- "id": "run:projects:list",
2966
+ "id": "run:secrets:get",
2444
2967
  "pluginAlias": "@xano/cli",
2445
2968
  "pluginName": "@xano/cli",
2446
2969
  "pluginType": "core",
@@ -2450,25 +2973,18 @@
2450
2973
  "dist",
2451
2974
  "commands",
2452
2975
  "run",
2453
- "projects",
2454
- "list",
2976
+ "secrets",
2977
+ "get",
2455
2978
  "index.js"
2456
2979
  ]
2457
2980
  },
2458
- "run:projects:update": {
2981
+ "run:secrets:list": {
2459
2982
  "aliases": [],
2460
- "args": {
2461
- "projectId": {
2462
- "description": "Project ID to update",
2463
- "name": "projectId",
2464
- "required": true
2465
- }
2466
- },
2467
- "description": "Update a project",
2983
+ "args": {},
2984
+ "description": "List all secret keys",
2468
2985
  "examples": [
2469
- "$ xano run projects update abc123-def456 -n \"New Name\"\nProject updated successfully!\n ID: abc123-def456\n Name: New Name\n",
2470
- "$ xano run projects update abc123-def456 -d \"New description\"\nProject updated successfully!\n ID: abc123-def456\n Description: New description\n",
2471
- "$ xano run projects update abc123-def456 -n \"New Name\" -o json\n{ \"id\": \"abc123-def456\", \"name\": \"New Name\", ... }\n"
2986
+ "$ xano run secrets list\nNAME TYPE REPO\ndocker-registry kubernetes.io/dockerconfigjson ghcr.io\nservice-account kubernetes.io/service-account-token -\n",
2987
+ "$ xano run secrets list -o json\n{ \"secrets\": [{ \"name\": \"docker-registry\", \"type\": \"kubernetes.io/dockerconfigjson\", \"repo\": \"ghcr.io\" }] }\n"
2472
2988
  ],
2473
2989
  "flags": {
2474
2990
  "profile": {
@@ -2490,34 +3006,16 @@
2490
3006
  "allowNo": false,
2491
3007
  "type": "boolean"
2492
3008
  },
2493
- "name": {
2494
- "char": "n",
2495
- "description": "New project name",
2496
- "name": "name",
2497
- "required": false,
2498
- "hasDynamicHelp": false,
2499
- "multiple": false,
2500
- "type": "option"
2501
- },
2502
- "description": {
2503
- "char": "d",
2504
- "description": "New project description",
2505
- "name": "description",
2506
- "required": false,
2507
- "hasDynamicHelp": false,
2508
- "multiple": false,
2509
- "type": "option"
2510
- },
2511
3009
  "output": {
2512
3010
  "char": "o",
2513
3011
  "description": "Output format",
2514
3012
  "name": "output",
2515
3013
  "required": false,
2516
- "default": "summary",
3014
+ "default": "table",
2517
3015
  "hasDynamicHelp": false,
2518
3016
  "multiple": false,
2519
3017
  "options": [
2520
- "summary",
3018
+ "table",
2521
3019
  "json"
2522
3020
  ],
2523
3021
  "type": "option"
@@ -2525,7 +3023,7 @@
2525
3023
  },
2526
3024
  "hasDynamicHelp": false,
2527
3025
  "hiddenAliases": [],
2528
- "id": "run:projects:update",
3026
+ "id": "run:secrets:list",
2529
3027
  "pluginAlias": "@xano/cli",
2530
3028
  "pluginName": "@xano/cli",
2531
3029
  "pluginType": "core",
@@ -2535,24 +3033,24 @@
2535
3033
  "dist",
2536
3034
  "commands",
2537
3035
  "run",
2538
- "projects",
2539
- "update",
3036
+ "secrets",
3037
+ "list",
2540
3038
  "index.js"
2541
3039
  ]
2542
3040
  },
2543
- "run:projects:delete": {
3041
+ "run:secrets:set": {
2544
3042
  "aliases": [],
2545
3043
  "args": {
2546
- "projectId": {
2547
- "description": "Project ID to delete",
2548
- "name": "projectId",
3044
+ "name": {
3045
+ "description": "Secret name",
3046
+ "name": "name",
2549
3047
  "required": true
2550
3048
  }
2551
3049
  },
2552
- "description": "Delete a project",
3050
+ "description": "Set a secret",
2553
3051
  "examples": [
2554
- "$ xano run projects delete abc123-def456\nAre you sure you want to delete project 'abc123-def456'? (y/N)\nProject deleted successfully!\n",
2555
- "$ xano run projects delete abc123-def456 --force\nProject deleted successfully!\n"
3052
+ "$ xano run secrets set docker-registry -t dockerconfigjson -v '{\"auths\":{\"ghcr.io\":{\"auth\":\"...\"}}}' -r ghcr.io\nSecret 'docker-registry' set successfully!\n",
3053
+ "$ xano run secrets set service-key -t service-account-token -v 'token-value-here'\nSecret 'service-key' set successfully!\n"
2556
3054
  ],
2557
3055
  "flags": {
2558
3056
  "profile": {
@@ -2574,18 +3072,41 @@
2574
3072
  "allowNo": false,
2575
3073
  "type": "boolean"
2576
3074
  },
2577
- "force": {
2578
- "char": "f",
2579
- "description": "Skip confirmation prompt",
2580
- "name": "force",
3075
+ "repo": {
3076
+ "char": "r",
3077
+ "description": "Repository (for dockerconfigjson type)",
3078
+ "name": "repo",
2581
3079
  "required": false,
2582
- "allowNo": false,
2583
- "type": "boolean"
3080
+ "hasDynamicHelp": false,
3081
+ "multiple": false,
3082
+ "type": "option"
3083
+ },
3084
+ "type": {
3085
+ "char": "t",
3086
+ "description": "Secret type",
3087
+ "name": "type",
3088
+ "required": true,
3089
+ "hasDynamicHelp": false,
3090
+ "multiple": false,
3091
+ "options": [
3092
+ "dockerconfigjson",
3093
+ "service-account-token"
3094
+ ],
3095
+ "type": "option"
3096
+ },
3097
+ "value": {
3098
+ "char": "v",
3099
+ "description": "Secret value",
3100
+ "name": "value",
3101
+ "required": true,
3102
+ "hasDynamicHelp": false,
3103
+ "multiple": false,
3104
+ "type": "option"
2584
3105
  }
2585
3106
  },
2586
3107
  "hasDynamicHelp": false,
2587
3108
  "hiddenAliases": [],
2588
- "id": "run:projects:delete",
3109
+ "id": "run:secrets:set",
2589
3110
  "pluginAlias": "@xano/cli",
2590
3111
  "pluginName": "@xano/cli",
2591
3112
  "pluginType": "core",
@@ -2595,8 +3116,8 @@
2595
3116
  "dist",
2596
3117
  "commands",
2597
3118
  "run",
2598
- "projects",
2599
- "delete",
3119
+ "secrets",
3120
+ "set",
2600
3121
  "index.js"
2601
3122
  ]
2602
3123
  },
@@ -2726,19 +3247,13 @@
2726
3247
  "index.js"
2727
3248
  ]
2728
3249
  },
2729
- "run:sessions:start": {
3250
+ "run:sessions:list": {
2730
3251
  "aliases": [],
2731
- "args": {
2732
- "sessionId": {
2733
- "description": "Session ID",
2734
- "name": "sessionId",
2735
- "required": true
2736
- }
2737
- },
2738
- "description": "Start a session",
3252
+ "args": {},
3253
+ "description": "List all sessions for the project",
2739
3254
  "examples": [
2740
- "$ xano run sessions start abc123-def456\nSession started successfully!\n ID: abc123-def456\n State: running\n",
2741
- "$ xano run sessions start abc123-def456 -o json\n{ \"id\": \"abc123-def456\", \"state\": \"running\", ... }\n"
3255
+ "$ xano run sessions list\nID STATE CREATED\nabc123-def456-ghi789 running 2024-01-15T10:30:00Z\nxyz789-uvw456-rst123 stopped 2024-01-14T09:00:00Z\n",
3256
+ "$ xano run sessions list -o json\n{ \"items\": [{ \"id\": \"abc123-def456-ghi789\", \"state\": \"running\", ... }] }\n"
2742
3257
  ],
2743
3258
  "flags": {
2744
3259
  "profile": {
@@ -2765,11 +3280,11 @@
2765
3280
  "description": "Output format",
2766
3281
  "name": "output",
2767
3282
  "required": false,
2768
- "default": "summary",
3283
+ "default": "table",
2769
3284
  "hasDynamicHelp": false,
2770
3285
  "multiple": false,
2771
3286
  "options": [
2772
- "summary",
3287
+ "table",
2773
3288
  "json"
2774
3289
  ],
2775
3290
  "type": "option"
@@ -2777,7 +3292,7 @@
2777
3292
  },
2778
3293
  "hasDynamicHelp": false,
2779
3294
  "hiddenAliases": [],
2780
- "id": "run:sessions:start",
3295
+ "id": "run:sessions:list",
2781
3296
  "pluginAlias": "@xano/cli",
2782
3297
  "pluginName": "@xano/cli",
2783
3298
  "pluginType": "core",
@@ -2788,7 +3303,7 @@
2788
3303
  "commands",
2789
3304
  "run",
2790
3305
  "sessions",
2791
- "start",
3306
+ "list",
2792
3307
  "index.js"
2793
3308
  ]
2794
3309
  },
@@ -2858,13 +3373,19 @@
2858
3373
  "index.js"
2859
3374
  ]
2860
3375
  },
2861
- "run:sessions:list": {
3376
+ "run:sessions:start": {
2862
3377
  "aliases": [],
2863
- "args": {},
2864
- "description": "List all sessions for the project",
3378
+ "args": {
3379
+ "sessionId": {
3380
+ "description": "Session ID",
3381
+ "name": "sessionId",
3382
+ "required": true
3383
+ }
3384
+ },
3385
+ "description": "Start a session",
2865
3386
  "examples": [
2866
- "$ xano run sessions list\nID STATE CREATED\nabc123-def456-ghi789 running 2024-01-15T10:30:00Z\nxyz789-uvw456-rst123 stopped 2024-01-14T09:00:00Z\n",
2867
- "$ xano run sessions list -o json\n{ \"items\": [{ \"id\": \"abc123-def456-ghi789\", \"state\": \"running\", ... }] }\n"
3387
+ "$ xano run sessions start abc123-def456\nSession started successfully!\n ID: abc123-def456\n State: running\n",
3388
+ "$ xano run sessions start abc123-def456 -o json\n{ \"id\": \"abc123-def456\", \"state\": \"running\", ... }\n"
2868
3389
  ],
2869
3390
  "flags": {
2870
3391
  "profile": {
@@ -2891,11 +3412,11 @@
2891
3412
  "description": "Output format",
2892
3413
  "name": "output",
2893
3414
  "required": false,
2894
- "default": "table",
3415
+ "default": "summary",
2895
3416
  "hasDynamicHelp": false,
2896
3417
  "multiple": false,
2897
3418
  "options": [
2898
- "table",
3419
+ "summary",
2899
3420
  "json"
2900
3421
  ],
2901
3422
  "type": "option"
@@ -2903,7 +3424,7 @@
2903
3424
  },
2904
3425
  "hasDynamicHelp": false,
2905
3426
  "hiddenAliases": [],
2906
- "id": "run:sessions:list",
3427
+ "id": "run:sessions:start",
2907
3428
  "pluginAlias": "@xano/cli",
2908
3429
  "pluginName": "@xano/cli",
2909
3430
  "pluginType": "core",
@@ -2914,7 +3435,7 @@
2914
3435
  "commands",
2915
3436
  "run",
2916
3437
  "sessions",
2917
- "list",
3438
+ "start",
2918
3439
  "index.js"
2919
3440
  ]
2920
3441
  },
@@ -2984,7 +3505,7 @@
2984
3505
  "index.js"
2985
3506
  ]
2986
3507
  },
2987
- "static_host:build:list": {
3508
+ "static_host:build:create": {
2988
3509
  "aliases": [],
2989
3510
  "args": {
2990
3511
  "static_host": {
@@ -2993,12 +3514,11 @@
2993
3514
  "required": true
2994
3515
  }
2995
3516
  },
2996
- "description": "List all builds for a static host",
3517
+ "description": "Create a new build for a static host",
2997
3518
  "examples": [
2998
- "$ xano static_host:build:list default -w 40\nAvailable builds:\n - v1.0.0 (ID: 1) - Status: completed\n - v1.0.1 (ID: 2) - Status: pending\n",
2999
- "$ xano static_host:build:list myhost --profile production\nAvailable builds:\n - production (ID: 1) - Status: completed\n - staging (ID: 2) - Status: completed\n",
3000
- "$ xano static_host:build:list default -w 40 --output json\n[\n {\n \"id\": 1,\n \"name\": \"v1.0.0\",\n \"status\": \"completed\"\n }\n]\n",
3001
- "$ xano static_host:build:list default -p staging -o json --page 2\n[\n {\n \"id\": 3,\n \"name\": \"v1.0.2\"\n }\n]\n"
3519
+ "$ xano static_host:build:create default -f ./build.zip -n \"v1.0.0\"\nBuild created successfully!\nID: 123\nName: v1.0.0\nStatus: pending\n",
3520
+ "$ xano static_host:build:create default -w 40 -f ./dist.zip -n \"production\" -d \"Production build\"\nBuild created successfully!\nID: 124\nName: production\nDescription: Production build\n",
3521
+ "$ xano static_host:build:create myhost -f ./app.zip -n \"release-1.2\" -o json\n{\n \"id\": 125,\n \"name\": \"release-1.2\",\n \"status\": \"pending\"\n}\n"
3002
3522
  ],
3003
3523
  "flags": {
3004
3524
  "profile": {
@@ -3020,15 +3540,33 @@
3020
3540
  "allowNo": false,
3021
3541
  "type": "boolean"
3022
3542
  },
3023
- "workspace": {
3024
- "char": "w",
3025
- "description": "Workspace ID (optional if set in profile)",
3026
- "name": "workspace",
3543
+ "description": {
3544
+ "char": "d",
3545
+ "description": "Build description",
3546
+ "name": "description",
3027
3547
  "required": false,
3028
3548
  "hasDynamicHelp": false,
3029
3549
  "multiple": false,
3030
3550
  "type": "option"
3031
3551
  },
3552
+ "file": {
3553
+ "char": "f",
3554
+ "description": "Path to zip file to upload",
3555
+ "name": "file",
3556
+ "required": true,
3557
+ "hasDynamicHelp": false,
3558
+ "multiple": false,
3559
+ "type": "option"
3560
+ },
3561
+ "name": {
3562
+ "char": "n",
3563
+ "description": "Build name",
3564
+ "name": "name",
3565
+ "required": true,
3566
+ "hasDynamicHelp": false,
3567
+ "multiple": false,
3568
+ "type": "option"
3569
+ },
3032
3570
  "output": {
3033
3571
  "char": "o",
3034
3572
  "description": "Output format",
@@ -3043,20 +3581,11 @@
3043
3581
  ],
3044
3582
  "type": "option"
3045
3583
  },
3046
- "page": {
3047
- "description": "Page number for pagination",
3048
- "name": "page",
3049
- "required": false,
3050
- "default": 1,
3051
- "hasDynamicHelp": false,
3052
- "multiple": false,
3053
- "type": "option"
3054
- },
3055
- "per_page": {
3056
- "description": "Number of results per page",
3057
- "name": "per_page",
3584
+ "workspace": {
3585
+ "char": "w",
3586
+ "description": "Workspace ID (optional if set in profile)",
3587
+ "name": "workspace",
3058
3588
  "required": false,
3059
- "default": 50,
3060
3589
  "hasDynamicHelp": false,
3061
3590
  "multiple": false,
3062
3591
  "type": "option"
@@ -3064,7 +3593,7 @@
3064
3593
  },
3065
3594
  "hasDynamicHelp": false,
3066
3595
  "hiddenAliases": [],
3067
- "id": "static_host:build:list",
3596
+ "id": "static_host:build:create",
3068
3597
  "pluginAlias": "@xano/cli",
3069
3598
  "pluginName": "@xano/cli",
3070
3599
  "pluginType": "core",
@@ -3076,22 +3605,22 @@
3076
3605
  "commands",
3077
3606
  "static_host",
3078
3607
  "build",
3079
- "list",
3608
+ "create",
3080
3609
  "index.js"
3081
3610
  ]
3082
3611
  },
3083
3612
  "static_host:build:get": {
3084
3613
  "aliases": [],
3085
3614
  "args": {
3086
- "static_host": {
3087
- "description": "Static Host name",
3088
- "name": "static_host",
3089
- "required": true
3090
- },
3091
3615
  "build_id": {
3092
3616
  "description": "Build ID",
3093
3617
  "name": "build_id",
3094
3618
  "required": true
3619
+ },
3620
+ "static_host": {
3621
+ "description": "Static Host name",
3622
+ "name": "static_host",
3623
+ "required": true
3095
3624
  }
3096
3625
  },
3097
3626
  "description": "Get details of a specific build for a static host",
@@ -3121,15 +3650,6 @@
3121
3650
  "allowNo": false,
3122
3651
  "type": "boolean"
3123
3652
  },
3124
- "workspace": {
3125
- "char": "w",
3126
- "description": "Workspace ID (optional if set in profile)",
3127
- "name": "workspace",
3128
- "required": false,
3129
- "hasDynamicHelp": false,
3130
- "multiple": false,
3131
- "type": "option"
3132
- },
3133
3653
  "output": {
3134
3654
  "char": "o",
3135
3655
  "description": "Output format",
@@ -3143,6 +3663,15 @@
3143
3663
  "json"
3144
3664
  ],
3145
3665
  "type": "option"
3666
+ },
3667
+ "workspace": {
3668
+ "char": "w",
3669
+ "description": "Workspace ID (optional if set in profile)",
3670
+ "name": "workspace",
3671
+ "required": false,
3672
+ "hasDynamicHelp": false,
3673
+ "multiple": false,
3674
+ "type": "option"
3146
3675
  }
3147
3676
  },
3148
3677
  "hasDynamicHelp": false,
@@ -3163,7 +3692,7 @@
3163
3692
  "index.js"
3164
3693
  ]
3165
3694
  },
3166
- "static_host:build:create": {
3695
+ "static_host:build:list": {
3167
3696
  "aliases": [],
3168
3697
  "args": {
3169
3698
  "static_host": {
@@ -3172,11 +3701,12 @@
3172
3701
  "required": true
3173
3702
  }
3174
3703
  },
3175
- "description": "Create a new build for a static host",
3704
+ "description": "List all builds for a static host",
3176
3705
  "examples": [
3177
- "$ xano static_host:build:create default -f ./build.zip -n \"v1.0.0\"\nBuild created successfully!\nID: 123\nName: v1.0.0\nStatus: pending\n",
3178
- "$ xano static_host:build:create default -w 40 -f ./dist.zip -n \"production\" -d \"Production build\"\nBuild created successfully!\nID: 124\nName: production\nDescription: Production build\n",
3179
- "$ xano static_host:build:create myhost -f ./app.zip -n \"release-1.2\" -o json\n{\n \"id\": 125,\n \"name\": \"release-1.2\",\n \"status\": \"pending\"\n}\n"
3706
+ "$ xano static_host:build:list default -w 40\nAvailable builds:\n - v1.0.0 (ID: 1) - Status: completed\n - v1.0.1 (ID: 2) - Status: pending\n",
3707
+ "$ xano static_host:build:list myhost --profile production\nAvailable builds:\n - production (ID: 1) - Status: completed\n - staging (ID: 2) - Status: completed\n",
3708
+ "$ xano static_host:build:list default -w 40 --output json\n[\n {\n \"id\": 1,\n \"name\": \"v1.0.0\",\n \"status\": \"completed\"\n }\n]\n",
3709
+ "$ xano static_host:build:list default -p staging -o json --page 2\n[\n {\n \"id\": 3,\n \"name\": \"v1.0.2\"\n }\n]\n"
3180
3710
  ],
3181
3711
  "flags": {
3182
3712
  "profile": {
@@ -3198,60 +3728,51 @@
3198
3728
  "allowNo": false,
3199
3729
  "type": "boolean"
3200
3730
  },
3201
- "workspace": {
3202
- "char": "w",
3203
- "description": "Workspace ID (optional if set in profile)",
3204
- "name": "workspace",
3731
+ "output": {
3732
+ "char": "o",
3733
+ "description": "Output format",
3734
+ "name": "output",
3205
3735
  "required": false,
3736
+ "default": "summary",
3206
3737
  "hasDynamicHelp": false,
3207
3738
  "multiple": false,
3739
+ "options": [
3740
+ "summary",
3741
+ "json"
3742
+ ],
3208
3743
  "type": "option"
3209
3744
  },
3210
- "file": {
3211
- "char": "f",
3212
- "description": "Path to zip file to upload",
3213
- "name": "file",
3214
- "required": true,
3215
- "hasDynamicHelp": false,
3216
- "multiple": false,
3217
- "type": "option"
3218
- },
3219
- "name": {
3220
- "char": "n",
3221
- "description": "Build name",
3222
- "name": "name",
3223
- "required": true,
3745
+ "page": {
3746
+ "description": "Page number for pagination",
3747
+ "name": "page",
3748
+ "required": false,
3749
+ "default": 1,
3224
3750
  "hasDynamicHelp": false,
3225
3751
  "multiple": false,
3226
3752
  "type": "option"
3227
3753
  },
3228
- "description": {
3229
- "char": "d",
3230
- "description": "Build description",
3231
- "name": "description",
3754
+ "per_page": {
3755
+ "description": "Number of results per page",
3756
+ "name": "per_page",
3232
3757
  "required": false,
3758
+ "default": 50,
3233
3759
  "hasDynamicHelp": false,
3234
3760
  "multiple": false,
3235
3761
  "type": "option"
3236
3762
  },
3237
- "output": {
3238
- "char": "o",
3239
- "description": "Output format",
3240
- "name": "output",
3763
+ "workspace": {
3764
+ "char": "w",
3765
+ "description": "Workspace ID (optional if set in profile)",
3766
+ "name": "workspace",
3241
3767
  "required": false,
3242
- "default": "summary",
3243
3768
  "hasDynamicHelp": false,
3244
3769
  "multiple": false,
3245
- "options": [
3246
- "summary",
3247
- "json"
3248
- ],
3249
3770
  "type": "option"
3250
3771
  }
3251
3772
  },
3252
3773
  "hasDynamicHelp": false,
3253
3774
  "hiddenAliases": [],
3254
- "id": "static_host:build:create",
3775
+ "id": "static_host:build:list",
3255
3776
  "pluginAlias": "@xano/cli",
3256
3777
  "pluginName": "@xano/cli",
3257
3778
  "pluginType": "core",
@@ -3263,10 +3784,10 @@
3263
3784
  "commands",
3264
3785
  "static_host",
3265
3786
  "build",
3266
- "create",
3787
+ "list",
3267
3788
  "index.js"
3268
3789
  ]
3269
3790
  }
3270
3791
  },
3271
- "version": "0.0.21"
3792
+ "version": "0.0.23"
3272
3793
  }