@xano/developer-mcp 1.0.60 → 1.0.61

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,2 @@
1
+ import type { TopicDoc } from "../types.js";
2
+ export declare const updateDoc: TopicDoc;
@@ -0,0 +1,29 @@
1
+ export const updateDoc = {
2
+ topic: "update",
3
+ title: "Xano CLI - Update",
4
+ description: `The update command lets you check for and install CLI updates.`,
5
+ ai_hints: `**When to suggest updating:**
6
+ - User encounters unexpected behavior that might be fixed in a newer version
7
+ - User asks about new features
8
+ - Before troubleshooting CLI issues
9
+
10
+ **Update uses npm** - runs \`npm install -g @xano/cli\` under the hood.
11
+ **Beta channel** - use \`--beta\` to get pre-release versions for testing new features.`,
12
+ related_topics: ["start"],
13
+ commands: [
14
+ {
15
+ name: "update",
16
+ description: "Update the Xano CLI to the latest version",
17
+ usage: "xano update [options]",
18
+ flags: [
19
+ { name: "check", type: "boolean", required: false, description: "Check for updates without installing" },
20
+ { name: "beta", type: "boolean", required: false, description: "Update to the latest beta version" }
21
+ ],
22
+ examples: [
23
+ "xano update",
24
+ "xano update --check",
25
+ "xano update --beta"
26
+ ]
27
+ }
28
+ ]
29
+ };
@@ -0,0 +1,2 @@
1
+ import type { TopicDoc } from "../types.js";
2
+ export declare const workflowTestDoc: TopicDoc;
@@ -0,0 +1,119 @@
1
+ export const workflowTestDoc = {
2
+ topic: "workflow_test",
3
+ title: "Xano CLI - Workflow Test Management",
4
+ description: `Workflow test commands let you run end-to-end tests that exercise multi-step workflows. Unlike unit tests which test individual functions, workflow tests validate complete request flows.
5
+
6
+ ## Key Concepts
7
+
8
+ - **Workflow tests** are more comprehensive than unit tests, testing full request flows.
9
+ - Tests are created and configured in the Xano dashboard; the CLI is for listing, viewing, and running them.
10
+ - The \`get\` command supports \`xs\` output format for viewing test XanoScript.
11
+ - Use \`run_all\` in CI/CD pipelines for automated end-to-end validation.`,
12
+ ai_hints: `**Key concepts:**
13
+ - Workflow tests are more comprehensive than unit tests, testing full request flows
14
+ - Tests are created in the Xano dashboard; the CLI is for running them
15
+ - \`workflow_test:get\` supports \`xs\` output format for viewing test XanoScript
16
+ - Use \`workflow_test:run_all\` in CI/CD pipelines for automated testing
17
+
18
+ **CI/CD integration:**
19
+ - Use \`workflow_test:run_all -o json\` for machine-readable output
20
+ - Combine with \`unit_test:run_all\` for full test coverage
21
+ - Filter by branch with \`--branch\` to test specific branches
22
+
23
+ **Viewing test details:**
24
+ - Use \`workflow_test:get <id> -o xs\` to view the test XanoScript
25
+ - Use \`--include-draft\` to view draft versions of tests`,
26
+ related_topics: ["unit_test", "workspace", "branch"],
27
+ commands: [
28
+ {
29
+ name: "workflow_test:list",
30
+ description: "List workflow tests in the workspace",
31
+ usage: "xano workflow_test:list [options]",
32
+ flags: [
33
+ { name: "branch", short: "b", type: "string", required: false, description: "Branch to list tests from" },
34
+ { name: "workspace", short: "w", type: "string", required: false, description: "Workspace ID" },
35
+ { name: "output", short: "o", type: "string", required: false, default: "summary", description: "Output format: summary or json" }
36
+ ],
37
+ examples: [
38
+ "xano workflow_test:list",
39
+ "xano workflow_test:list --branch dev",
40
+ "xano workflow_test:list -o json"
41
+ ]
42
+ },
43
+ {
44
+ name: "workflow_test:get",
45
+ description: "Get details for a specific workflow test",
46
+ usage: "xano workflow_test:get <workflow_test_id> [options]",
47
+ args: [
48
+ { name: "workflow_test_id", required: true, description: "ID of the workflow test to retrieve" }
49
+ ],
50
+ flags: [
51
+ { name: "include-draft", type: "boolean", required: false, description: "Include draft version if available" },
52
+ { name: "output", short: "o", type: "string", required: false, default: "summary", description: "Output format: xs or json" },
53
+ { name: "workspace", short: "w", type: "string", required: false, description: "Workspace ID" }
54
+ ],
55
+ examples: [
56
+ "xano workflow_test:get 456",
57
+ "xano workflow_test:get 456 -o xs",
58
+ "xano workflow_test:get 456 --include-draft -o json"
59
+ ]
60
+ },
61
+ {
62
+ name: "workflow_test:run",
63
+ description: "Run a single workflow test by ID",
64
+ usage: "xano workflow_test:run <workflow_test_id> [options]",
65
+ args: [
66
+ { name: "workflow_test_id", required: true, description: "ID of the workflow test to run" }
67
+ ],
68
+ flags: [
69
+ { name: "workspace", short: "w", type: "string", required: false, description: "Workspace ID" },
70
+ { name: "output", short: "o", type: "string", required: false, default: "summary", description: "Output format: summary or json" }
71
+ ],
72
+ examples: [
73
+ "xano workflow_test:run 456",
74
+ "xano workflow_test:run 456 -o json"
75
+ ]
76
+ },
77
+ {
78
+ name: "workflow_test:run_all",
79
+ description: "Run all workflow tests in the workspace",
80
+ usage: "xano workflow_test:run_all [options]",
81
+ flags: [
82
+ { name: "branch", short: "b", type: "string", required: false, description: "Branch to run tests against" },
83
+ { name: "workspace", short: "w", type: "string", required: false, description: "Workspace ID" },
84
+ { name: "output", short: "o", type: "string", required: false, default: "summary", description: "Output format: summary or json" }
85
+ ],
86
+ examples: [
87
+ "xano workflow_test:run_all",
88
+ "xano workflow_test:run_all --branch dev -o json"
89
+ ]
90
+ },
91
+ {
92
+ name: "workflow_test:delete",
93
+ description: "Delete a workflow test by ID",
94
+ usage: "xano workflow_test:delete <workflow_test_id> [options]",
95
+ args: [
96
+ { name: "workflow_test_id", required: true, description: "ID of the workflow test to delete" }
97
+ ],
98
+ flags: [
99
+ { name: "workspace", short: "w", type: "string", required: false, description: "Workspace ID" }
100
+ ],
101
+ examples: [
102
+ "xano workflow_test:delete 456"
103
+ ]
104
+ }
105
+ ],
106
+ workflows: [
107
+ {
108
+ name: "Validate Workflows Before Deploy",
109
+ description: "Run all workflow tests to validate before deployment",
110
+ steps: [
111
+ "List available tests: `xano workflow_test:list`",
112
+ "Run all tests: `xano workflow_test:run_all`",
113
+ "Check results for PASS/FAIL status"
114
+ ],
115
+ example: `xano workflow_test:list
116
+ xano workflow_test:run_all -o json`
117
+ }
118
+ ]
119
+ };
@@ -78,8 +78,20 @@ After \`workspace:pull\`, files are organized using snake_case naming:
78
78
 
79
79
  **Branch handling:**
80
80
  - Use \`-b\` flag or set branch in profile
81
- - Pull from one branch, push to another is supported`,
82
- related_topics: ["start", "function", "integration"],
81
+ - Pull from one branch, push to another is supported
82
+
83
+ **Push modes:**
84
+ - Default (partial): Only pushes changed files
85
+ - \`--sync\`: Full push of all files
86
+ - \`--sync --delete\`: Full push AND removes remote objects not in local
87
+ - \`--dry-run\`: Preview what would change without applying
88
+ - \`--include/-i\` and \`--exclude/-e\`: Glob patterns for selective push
89
+
90
+ **Git integration:**
91
+ - \`workspace:git:pull\` pulls XanoScript directly from GitHub/GitLab repos
92
+ - Supports private repos with \`--token\` flag
93
+ - Can pull from a specific subdirectory with \`--path\``,
94
+ related_topics: ["start", "branch", "function", "release", "integration"],
83
95
  commands: [
84
96
  {
85
97
  name: "workspace:list",
@@ -162,37 +174,72 @@ After \`workspace:pull\`, files are organized using snake_case naming:
162
174
  },
163
175
  {
164
176
  name: "workspace:pull",
165
- description: "Download workspace code to local directory",
177
+ description: "Download workspace code to local directory. Splits multidoc into individual .xs files organized by type.",
166
178
  usage: "xano workspace:pull <directory> [options]",
167
179
  args: [
168
180
  { name: "directory", required: true, description: "Local directory to save files" }
169
181
  ],
170
182
  flags: [
171
183
  { name: "workspace", short: "w", type: "string", required: false, description: "Workspace ID (uses profile default if not set)" },
172
- { name: "branch", short: "b", type: "string", required: false, description: "Branch ID to pull from" },
184
+ { name: "branch", short: "b", type: "string", required: false, description: "Branch label to pull from" },
173
185
  { name: "env", type: "boolean", required: false, description: "Include environment variables" },
186
+ { name: "draft", type: "boolean", required: false, description: "Include draft versions of functions" },
174
187
  { name: "records", type: "boolean", required: false, description: "Include table records" }
175
188
  ],
176
189
  examples: [
177
190
  "xano workspace:pull ./my-app",
178
- "xano workspace:pull ./staging-code -b 2",
179
- "xano workspace:pull ./backup --env --records"
191
+ "xano workspace:pull ./staging-code -b dev",
192
+ "xano workspace:pull ./backup --env --records --draft"
180
193
  ]
181
194
  },
182
195
  {
183
196
  name: "workspace:push",
184
- description: "Upload local XanoScript files to workspace",
197
+ description: "Upload local XanoScript files to workspace. By default only pushes changed files (partial push). Use --sync for a full push.",
185
198
  usage: "xano workspace:push <directory> [options]",
186
199
  args: [
187
200
  { name: "directory", required: true, description: "Local directory containing .xs files" }
188
201
  ],
189
202
  flags: [
190
203
  { name: "workspace", short: "w", type: "string", required: false, description: "Workspace ID (uses profile default if not set)" },
191
- { name: "branch", short: "b", type: "string", required: false, description: "Branch ID to push to" }
204
+ { name: "branch", short: "b", type: "string", required: false, description: "Branch label to push to" },
205
+ { name: "sync", type: "boolean", required: false, description: "Full push (default is partial/changed-only)" },
206
+ { name: "delete", type: "boolean", required: false, description: "Delete remote objects not in local files (requires --sync)" },
207
+ { name: "dry-run", type: "boolean", required: false, description: "Preview changes without applying" },
208
+ { name: "force", type: "boolean", required: false, description: "Skip confirmation prompt" },
209
+ { name: "env", type: "boolean", required: false, description: "Include environment variables" },
210
+ { name: "records", type: "boolean", required: false, description: "Include table records" },
211
+ { name: "truncate", type: "boolean", required: false, description: "Truncate tables before importing records" },
212
+ { name: "transaction", type: "boolean", required: false, default: "true", description: "Wrap push in database transaction (--no-transaction to disable)" },
213
+ { name: "guids", type: "boolean", required: false, default: "true", description: "Write GUIDs back to local files after push (--no-guids to disable)" },
214
+ { name: "include", short: "i", type: "string", required: false, description: "Glob pattern to include specific files (repeatable)" },
215
+ { name: "exclude", short: "e", type: "string", required: false, description: "Glob pattern to exclude specific files (repeatable)" }
192
216
  ],
193
217
  examples: [
194
218
  "xano workspace:push ./my-app",
195
- "xano workspace:push ./my-app -b 2"
219
+ "xano workspace:push ./my-app -b dev",
220
+ "xano workspace:push ./my-app --dry-run",
221
+ "xano workspace:push ./my-app --sync --delete --force",
222
+ "xano workspace:push ./my-app -i 'api/**' -i 'function/**'",
223
+ "xano workspace:push ./my-app -e 'table/**' --records --truncate"
224
+ ]
225
+ },
226
+ {
227
+ name: "workspace:git:pull",
228
+ description: "Pull XanoScript files directly from a git repository (GitHub, GitLab, etc.)",
229
+ usage: "xano workspace:git:pull <directory> --repo <url> [options]",
230
+ args: [
231
+ { name: "directory", required: true, description: "Local directory to save files" }
232
+ ],
233
+ flags: [
234
+ { name: "repo", short: "r", type: "string", required: true, description: "Git repository URL (HTTPS or SSH)" },
235
+ { name: "branch", short: "b", type: "string", required: false, description: "Git branch, tag, or ref to pull from" },
236
+ { name: "path", type: "string", required: false, description: "Subdirectory within the repo to pull from" },
237
+ { name: "token", short: "t", type: "string", required: false, description: "Personal access token for private repos" }
238
+ ],
239
+ examples: [
240
+ "xano workspace:git:pull ./code -r https://github.com/org/repo.git",
241
+ "xano workspace:git:pull ./code -r https://github.com/org/repo.git -b main --path src/xano",
242
+ "xano workspace:git:pull ./code -r https://github.com/org/private-repo.git -t ghp_token123"
196
243
  ]
197
244
  }
198
245
  ],
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xano/developer-mcp",
3
- "version": "1.0.60",
3
+ "version": "1.0.61",
4
4
  "description": "MCP server and library for Xano development - XanoScript validation, Meta API, Run API, and CLI documentation",
5
5
  "type": "module",
6
6
  "main": "dist/lib.js",