@xano/developer-mcp 1.0.25 → 1.0.27
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.
- package/README.md +50 -0
- package/dist/cli_docs/format.d.ts +12 -0
- package/dist/cli_docs/format.js +98 -0
- package/dist/{api_docs → cli_docs}/index.d.ts +6 -11
- package/dist/cli_docs/index.js +86 -0
- package/dist/cli_docs/topics/function.js +114 -0
- package/dist/cli_docs/topics/integration.d.ts +2 -0
- package/dist/cli_docs/topics/integration.js +157 -0
- package/dist/{api_docs/topics/agent.d.ts → cli_docs/topics/profile.d.ts} +1 -1
- package/dist/cli_docs/topics/profile.js +153 -0
- package/dist/{api_docs/topics/api.d.ts → cli_docs/topics/run.d.ts} +1 -1
- package/dist/cli_docs/topics/run.js +248 -0
- package/dist/cli_docs/topics/start.js +111 -0
- package/dist/cli_docs/topics/static_host.d.ts +2 -0
- package/dist/cli_docs/topics/static_host.js +77 -0
- package/dist/cli_docs/topics/workspace.js +119 -0
- package/dist/cli_docs/types.d.ts +44 -0
- package/dist/cli_docs/types.js +4 -0
- package/dist/index.js +42 -0
- package/dist/xanoscript_docs/README.md +78 -64
- package/dist/xanoscript_docs/apis.md +81 -27
- package/dist/xanoscript_docs/branch.md +13 -13
- package/dist/xanoscript_docs/database.md +57 -17
- package/dist/xanoscript_docs/functions.md +43 -71
- package/dist/xanoscript_docs/performance.md +14 -23
- package/dist/xanoscript_docs/tables.md +47 -1
- package/dist/xanoscript_docs/tools.md +9 -7
- package/dist/xanoscript_docs/types.md +12 -10
- package/package.json +1 -1
- package/dist/api_docs/format.d.ts +0 -5
- package/dist/api_docs/format.js +0 -171
- package/dist/api_docs/index.js +0 -111
- package/dist/api_docs/topics/agent.js +0 -142
- package/dist/api_docs/topics/api.js +0 -176
- package/dist/api_docs/topics/apigroup.d.ts +0 -2
- package/dist/api_docs/topics/apigroup.js +0 -124
- package/dist/api_docs/topics/authentication.d.ts +0 -2
- package/dist/api_docs/topics/authentication.js +0 -61
- package/dist/api_docs/topics/branch.d.ts +0 -2
- package/dist/api_docs/topics/branch.js +0 -73
- package/dist/api_docs/topics/file.d.ts +0 -2
- package/dist/api_docs/topics/file.js +0 -70
- package/dist/api_docs/topics/function.js +0 -164
- package/dist/api_docs/topics/history.d.ts +0 -2
- package/dist/api_docs/topics/history.js +0 -149
- package/dist/api_docs/topics/mcp_server.d.ts +0 -2
- package/dist/api_docs/topics/mcp_server.js +0 -139
- package/dist/api_docs/topics/middleware.d.ts +0 -2
- package/dist/api_docs/topics/middleware.js +0 -156
- package/dist/api_docs/topics/realtime.d.ts +0 -2
- package/dist/api_docs/topics/realtime.js +0 -112
- package/dist/api_docs/topics/start.js +0 -107
- package/dist/api_docs/topics/table.d.ts +0 -2
- package/dist/api_docs/topics/table.js +0 -195
- package/dist/api_docs/topics/task.d.ts +0 -2
- package/dist/api_docs/topics/task.js +0 -165
- package/dist/api_docs/topics/tool.d.ts +0 -2
- package/dist/api_docs/topics/tool.js +0 -150
- package/dist/api_docs/topics/workflows.d.ts +0 -2
- package/dist/api_docs/topics/workflows.js +0 -131
- package/dist/api_docs/topics/workspace.js +0 -153
- package/dist/api_docs/types.d.ts +0 -79
- package/dist/api_docs/types.js +0 -4
- package/dist/templates/init-workspace.d.ts +0 -10
- package/dist/templates/init-workspace.js +0 -278
- package/dist/templates/xanoscript-index.d.ts +0 -11
- package/dist/templates/xanoscript-index.js +0 -72
- package/dist/xanoscript_docs/ephemeral.md +0 -330
- package/dist/xanoscript_docs_auto/README.md +0 -119
- package/dist/xanoscript_docs_auto/agents.md +0 -446
- package/dist/xanoscript_docs_auto/apis.md +0 -517
- package/dist/xanoscript_docs_auto/control-flow.md +0 -543
- package/dist/xanoscript_docs_auto/database.md +0 -551
- package/dist/xanoscript_docs_auto/debugging.md +0 -527
- package/dist/xanoscript_docs_auto/filters.md +0 -464
- package/dist/xanoscript_docs_auto/functions.md +0 -431
- package/dist/xanoscript_docs_auto/integrations.md +0 -657
- package/dist/xanoscript_docs_auto/mcp-servers.md +0 -408
- package/dist/xanoscript_docs_auto/operators.md +0 -368
- package/dist/xanoscript_docs_auto/syntax.md +0 -287
- package/dist/xanoscript_docs_auto/tables.md +0 -447
- package/dist/xanoscript_docs_auto/tasks.md +0 -479
- package/dist/xanoscript_docs_auto/testing.md +0 -574
- package/dist/xanoscript_docs_auto/tools.md +0 -485
- package/dist/xanoscript_docs_auto/triggers.md +0 -595
- package/dist/xanoscript_docs_auto/types.md +0 -323
- package/dist/xanoscript_docs_auto/variables.md +0 -462
- package/dist/xanoscript_docs_auto/version.json +0 -5
- /package/dist/{api_docs → cli_docs}/topics/function.d.ts +0 -0
- /package/dist/{api_docs → cli_docs}/topics/start.d.ts +0 -0
- /package/dist/{api_docs → cli_docs}/topics/workspace.d.ts +0 -0
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
export const workspaceDoc = {
|
|
2
|
+
topic: "workspace",
|
|
3
|
+
title: "Xano CLI - Workspace Operations",
|
|
4
|
+
description: `Workspace commands let you sync XanoScript code between your local filesystem and Xano. This enables version control, local editing, and CI/CD workflows.
|
|
5
|
+
|
|
6
|
+
## Multidoc Format
|
|
7
|
+
|
|
8
|
+
Xano uses a "multidoc" format where multiple XanoScript documents are separated by \`---\`:
|
|
9
|
+
|
|
10
|
+
\`\`\`xanoscript
|
|
11
|
+
# functions/auth.xs
|
|
12
|
+
---
|
|
13
|
+
function: validate_token
|
|
14
|
+
...
|
|
15
|
+
---
|
|
16
|
+
function: refresh_token
|
|
17
|
+
...
|
|
18
|
+
\`\`\`
|
|
19
|
+
|
|
20
|
+
When you pull, the CLI splits these into individual \`.xs\` files organized by type.`,
|
|
21
|
+
ai_hints: `**Key concepts:**
|
|
22
|
+
- \`pull\` downloads workspace code and splits into organized .xs files
|
|
23
|
+
- \`push\` combines .xs files and uploads to Xano
|
|
24
|
+
- Files are organized by type: functions/, apis/, tasks/, etc.
|
|
25
|
+
|
|
26
|
+
**Typical workflow:**
|
|
27
|
+
1. \`xano workspace:pull ./xano-code\` - download
|
|
28
|
+
2. Edit .xs files with your editor/IDE
|
|
29
|
+
3. \`xano workspace:push ./xano-code\` - deploy
|
|
30
|
+
|
|
31
|
+
**Version control:**
|
|
32
|
+
- The pulled directory structure is git-friendly
|
|
33
|
+
- Commit changes to track history
|
|
34
|
+
- Use branches for different environments
|
|
35
|
+
|
|
36
|
+
**Branch handling:**
|
|
37
|
+
- Use \`-b\` flag or set branch in profile
|
|
38
|
+
- Pull from one branch, push to another is supported`,
|
|
39
|
+
related_topics: ["start", "function", "integration"],
|
|
40
|
+
commands: [
|
|
41
|
+
{
|
|
42
|
+
name: "workspace:list",
|
|
43
|
+
description: "List all workspaces accessible to your account",
|
|
44
|
+
usage: "xano workspace:list [-p <profile>]",
|
|
45
|
+
examples: ["xano workspace:list", "xano workspace:list -p production"]
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
name: "workspace:pull",
|
|
49
|
+
description: "Download workspace code to local directory",
|
|
50
|
+
usage: "xano workspace:pull <directory> [options]",
|
|
51
|
+
args: [
|
|
52
|
+
{ name: "directory", required: true, description: "Local directory to save files" }
|
|
53
|
+
],
|
|
54
|
+
flags: [
|
|
55
|
+
{ name: "workspace", short: "w", type: "string", required: false, description: "Workspace ID (uses profile default if not set)" },
|
|
56
|
+
{ name: "branch", short: "b", type: "string", required: false, description: "Branch ID to pull from" },
|
|
57
|
+
{ name: "env", type: "boolean", required: false, description: "Include environment variables" },
|
|
58
|
+
{ name: "records", type: "boolean", required: false, description: "Include table records" }
|
|
59
|
+
],
|
|
60
|
+
examples: [
|
|
61
|
+
"xano workspace:pull ./my-app",
|
|
62
|
+
"xano workspace:pull ./staging-code -b 2",
|
|
63
|
+
"xano workspace:pull ./backup --env --records"
|
|
64
|
+
]
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
name: "workspace:push",
|
|
68
|
+
description: "Upload local XanoScript files to workspace",
|
|
69
|
+
usage: "xano workspace:push <directory> [options]",
|
|
70
|
+
args: [
|
|
71
|
+
{ name: "directory", required: true, description: "Local directory containing .xs files" }
|
|
72
|
+
],
|
|
73
|
+
flags: [
|
|
74
|
+
{ name: "workspace", short: "w", type: "string", required: false, description: "Workspace ID (uses profile default if not set)" },
|
|
75
|
+
{ name: "branch", short: "b", type: "string", required: false, description: "Branch ID to push to" }
|
|
76
|
+
],
|
|
77
|
+
examples: [
|
|
78
|
+
"xano workspace:push ./my-app",
|
|
79
|
+
"xano workspace:push ./my-app -b 2"
|
|
80
|
+
]
|
|
81
|
+
}
|
|
82
|
+
],
|
|
83
|
+
workflows: [
|
|
84
|
+
{
|
|
85
|
+
name: "Local Development Cycle",
|
|
86
|
+
description: "Edit Xano code locally with your preferred tools",
|
|
87
|
+
steps: [
|
|
88
|
+
"Pull workspace: `xano workspace:pull ./code`",
|
|
89
|
+
"Edit .xs files in your IDE",
|
|
90
|
+
"Validate changes: Use xanoscript_docs MCP tool",
|
|
91
|
+
"Push changes: `xano workspace:push ./code`",
|
|
92
|
+
"Test in Xano dashboard or via API"
|
|
93
|
+
],
|
|
94
|
+
example: `xano workspace:pull ./my-app
|
|
95
|
+
# Edit files...
|
|
96
|
+
xano workspace:push ./my-app`
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
name: "Version Control Setup",
|
|
100
|
+
description: "Track Xano code changes in git",
|
|
101
|
+
steps: [
|
|
102
|
+
"Pull workspace: `xano workspace:pull ./xano`",
|
|
103
|
+
"Initialize git: `cd xano && git init`",
|
|
104
|
+
"Add files: `git add . && git commit -m 'Initial import'`",
|
|
105
|
+
"Make changes and commit regularly",
|
|
106
|
+
"Push to Xano when ready: `xano workspace:push ./xano`"
|
|
107
|
+
]
|
|
108
|
+
},
|
|
109
|
+
{
|
|
110
|
+
name: "Cross-Branch Deployment",
|
|
111
|
+
description: "Promote code from staging to production",
|
|
112
|
+
steps: [
|
|
113
|
+
"Pull from staging: `xano workspace:pull ./deploy -b staging`",
|
|
114
|
+
"Review changes",
|
|
115
|
+
"Push to production: `xano workspace:push ./deploy -b production`"
|
|
116
|
+
]
|
|
117
|
+
}
|
|
118
|
+
]
|
|
119
|
+
};
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Type definitions for Xano CLI documentation
|
|
3
|
+
*/
|
|
4
|
+
export interface CommandDoc {
|
|
5
|
+
name: string;
|
|
6
|
+
description: string;
|
|
7
|
+
usage: string;
|
|
8
|
+
flags?: FlagDoc[];
|
|
9
|
+
args?: ArgDoc[];
|
|
10
|
+
examples?: string[];
|
|
11
|
+
}
|
|
12
|
+
export interface FlagDoc {
|
|
13
|
+
name: string;
|
|
14
|
+
short?: string;
|
|
15
|
+
type: string;
|
|
16
|
+
required?: boolean;
|
|
17
|
+
default?: string;
|
|
18
|
+
description: string;
|
|
19
|
+
}
|
|
20
|
+
export interface ArgDoc {
|
|
21
|
+
name: string;
|
|
22
|
+
required?: boolean;
|
|
23
|
+
description: string;
|
|
24
|
+
}
|
|
25
|
+
export interface WorkflowDoc {
|
|
26
|
+
name: string;
|
|
27
|
+
description: string;
|
|
28
|
+
steps: string[];
|
|
29
|
+
example?: string;
|
|
30
|
+
}
|
|
31
|
+
export interface TopicDoc {
|
|
32
|
+
topic: string;
|
|
33
|
+
title: string;
|
|
34
|
+
description: string;
|
|
35
|
+
commands?: CommandDoc[];
|
|
36
|
+
workflows?: WorkflowDoc[];
|
|
37
|
+
related_topics?: string[];
|
|
38
|
+
ai_hints?: string;
|
|
39
|
+
}
|
|
40
|
+
export type DetailLevel = "overview" | "detailed" | "examples";
|
|
41
|
+
export interface CliDocsArgs {
|
|
42
|
+
topic: string;
|
|
43
|
+
detail_level?: DetailLevel;
|
|
44
|
+
}
|
package/dist/index.js
CHANGED
|
@@ -9,6 +9,7 @@ import { xanoscriptParser } from "@xano/xanoscript-language-server/parser/parser
|
|
|
9
9
|
import { getSchemeFromContent } from "@xano/xanoscript-language-server/utils.js";
|
|
10
10
|
import { metaApiDocsToolDefinition, handleMetaApiDocs } from "./meta_api_docs/index.js";
|
|
11
11
|
import { runApiDocsToolDefinition, handleRunApiDocs } from "./run_api_docs/index.js";
|
|
12
|
+
import { cliDocsToolDefinition, handleCliDocs } from "./cli_docs/index.js";
|
|
12
13
|
import { XANOSCRIPT_DOCS_V2, readXanoscriptDocsV2, getXanoscriptDocsVersion, getTopicDescriptions, } from "./xanoscript.js";
|
|
13
14
|
const __filename = fileURLToPath(import.meta.url);
|
|
14
15
|
const __dirname = dirname(__filename);
|
|
@@ -146,6 +147,7 @@ server.setRequestHandler(ListToolsRequestSchema, async () => {
|
|
|
146
147
|
},
|
|
147
148
|
metaApiDocsToolDefinition,
|
|
148
149
|
runApiDocsToolDefinition,
|
|
150
|
+
cliDocsToolDefinition,
|
|
149
151
|
],
|
|
150
152
|
};
|
|
151
153
|
});
|
|
@@ -322,6 +324,46 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
|
322
324
|
};
|
|
323
325
|
}
|
|
324
326
|
}
|
|
327
|
+
if (request.params.name === "cli_docs") {
|
|
328
|
+
const args = request.params.arguments;
|
|
329
|
+
if (!args?.topic) {
|
|
330
|
+
return {
|
|
331
|
+
content: [
|
|
332
|
+
{
|
|
333
|
+
type: "text",
|
|
334
|
+
text: "Error: 'topic' parameter is required. Use cli_docs with topic='start' for overview.",
|
|
335
|
+
},
|
|
336
|
+
],
|
|
337
|
+
isError: true,
|
|
338
|
+
};
|
|
339
|
+
}
|
|
340
|
+
try {
|
|
341
|
+
const documentation = handleCliDocs({
|
|
342
|
+
topic: args.topic,
|
|
343
|
+
detail_level: args.detail_level,
|
|
344
|
+
});
|
|
345
|
+
return {
|
|
346
|
+
content: [
|
|
347
|
+
{
|
|
348
|
+
type: "text",
|
|
349
|
+
text: documentation,
|
|
350
|
+
},
|
|
351
|
+
],
|
|
352
|
+
};
|
|
353
|
+
}
|
|
354
|
+
catch (error) {
|
|
355
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
356
|
+
return {
|
|
357
|
+
content: [
|
|
358
|
+
{
|
|
359
|
+
type: "text",
|
|
360
|
+
text: `Error retrieving CLI documentation: ${errorMessage}`,
|
|
361
|
+
},
|
|
362
|
+
],
|
|
363
|
+
isError: true,
|
|
364
|
+
};
|
|
365
|
+
}
|
|
366
|
+
}
|
|
325
367
|
return {
|
|
326
368
|
content: [
|
|
327
369
|
{
|
|
@@ -4,21 +4,21 @@ XanoScript is the declarative scripting language for [Xano](https://xano.com), a
|
|
|
4
4
|
|
|
5
5
|
## Quick Reference
|
|
6
6
|
|
|
7
|
-
| Construct
|
|
8
|
-
|
|
9
|
-
| `table`
|
|
10
|
-
| `function`
|
|
11
|
-
| `query`
|
|
12
|
-
| `task`
|
|
13
|
-
| `*_trigger`
|
|
14
|
-
| `agent`
|
|
15
|
-
| `tool`
|
|
16
|
-
| `mcp_server`
|
|
17
|
-
| `addon`
|
|
18
|
-
| `middleware`
|
|
19
|
-
| `branch`
|
|
20
|
-
| `workspace`
|
|
21
|
-
| `realtime_channel` | Configuration
|
|
7
|
+
| Construct | File Location | Purpose |
|
|
8
|
+
| ------------------ | --------------------- | ----------------------------- |
|
|
9
|
+
| `table` | `tables/*.xs` | Database schema definition |
|
|
10
|
+
| `function` | `functions/**/*.xs` | Reusable logic blocks |
|
|
11
|
+
| `query` | `apis/<group>/*.xs` | HTTP API endpoints |
|
|
12
|
+
| `task` | `tasks/*.xs` | Scheduled/cron jobs |
|
|
13
|
+
| `*_trigger` | `triggers/**/*.xs` | Event-driven handlers |
|
|
14
|
+
| `agent` | `agents/**/*.xs` | AI-powered agents |
|
|
15
|
+
| `tool` | `tools/**/*.xs` | Tools for AI agents |
|
|
16
|
+
| `mcp_server` | `mcp_servers/**/*.xs` | MCP server definitions |
|
|
17
|
+
| `addon` | `addons/*.xs` | Subqueries for related data |
|
|
18
|
+
| `middleware` | `middleware/**/*.xs` | Request/response interceptors |
|
|
19
|
+
| `branch` | `branch.xs` | Branch-level configuration |
|
|
20
|
+
| `workspace` | `workspace.xs` | Workspace-level configuration |
|
|
21
|
+
| `realtime_channel` | Configuration | Realtime channel settings |
|
|
22
22
|
|
|
23
23
|
**Important:** Each `.xs` file must contain exactly one definition. You cannot define multiple tables, functions, queries, or other constructs in a single file.
|
|
24
24
|
|
|
@@ -47,21 +47,22 @@ project/
|
|
|
47
47
|
|
|
48
48
|
Access with `$env.<name>`. Built-in variables:
|
|
49
49
|
|
|
50
|
-
| Variable
|
|
51
|
-
|
|
52
|
-
| `$env.$remote_ip`
|
|
53
|
-
| `$env.$http_headers`
|
|
54
|
-
| `$env.$request_uri`
|
|
55
|
-
| `$env.$request_method`
|
|
56
|
-
| `$env.$request_querystring` | Query string
|
|
57
|
-
| `$env.$datasource`
|
|
58
|
-
| `$env.$branch`
|
|
50
|
+
| Variable | Description |
|
|
51
|
+
| --------------------------- | ----------------------------- |
|
|
52
|
+
| `$env.$remote_ip` | Client IP address |
|
|
53
|
+
| `$env.$http_headers` | Request headers array |
|
|
54
|
+
| `$env.$request_uri` | Request URI |
|
|
55
|
+
| `$env.$request_method` | HTTP method (GET, POST, etc.) |
|
|
56
|
+
| `$env.$request_querystring` | Query string |
|
|
57
|
+
| `$env.$datasource` | Current datasource |
|
|
58
|
+
| `$env.$branch` | Current branch |
|
|
59
59
|
|
|
60
60
|
Custom environment variables are set in the Xano dashboard and accessed as `$env.MY_VAR`.
|
|
61
61
|
|
|
62
62
|
## Core Syntax Patterns
|
|
63
63
|
|
|
64
64
|
### Block Structure
|
|
65
|
+
|
|
65
66
|
```xs
|
|
66
67
|
<construct> "<name>" {
|
|
67
68
|
input { ... } // Parameters (optional)
|
|
@@ -71,6 +72,7 @@ Custom environment variables are set in the Xano dashboard and accessed as `$env
|
|
|
71
72
|
```
|
|
72
73
|
|
|
73
74
|
### Variable Access
|
|
75
|
+
|
|
74
76
|
```xs
|
|
75
77
|
$input.field // Input parameters
|
|
76
78
|
$var.field // Stack variables
|
|
@@ -83,14 +85,18 @@ $this // Current item in loops/maps
|
|
|
83
85
|
**Note:** `$response` is a reserved word and cannot be used as a variable name.
|
|
84
86
|
|
|
85
87
|
### Comments
|
|
88
|
+
|
|
86
89
|
```xs
|
|
87
90
|
// Single-line comment
|
|
88
|
-
var $total {
|
|
91
|
+
var $total {
|
|
92
|
+
value = 0
|
|
93
|
+
}
|
|
89
94
|
```
|
|
90
95
|
|
|
91
96
|
**Note:** XanoScript only supports `//` for comments. Other comment styles like `#` are not supported.
|
|
92
97
|
|
|
93
98
|
### Filters (Pipe Syntax)
|
|
99
|
+
|
|
94
100
|
```xs
|
|
95
101
|
$value|trim|lower // Chain filters
|
|
96
102
|
$input.name|strlen // Get length
|
|
@@ -115,58 +121,66 @@ This helps AI tools apply the correct documentation based on the file being edit
|
|
|
115
121
|
Use `xanoscript_docs({ topic: "<topic>" })` to retrieve documentation.
|
|
116
122
|
|
|
117
123
|
### Core Language
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
|
121
|
-
| `
|
|
122
|
-
| `
|
|
123
|
-
| `
|
|
124
|
+
|
|
125
|
+
| Topic | Description |
|
|
126
|
+
| ----------- | ------------------------------------------------- |
|
|
127
|
+
| `syntax` | Expressions, operators, filters, system variables |
|
|
128
|
+
| `types` | Data types, validation, input blocks |
|
|
129
|
+
| `functions` | Reusable function stacks, async, loops |
|
|
130
|
+
| `schema` | Runtime schema parsing and validation |
|
|
124
131
|
|
|
125
132
|
### Data
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
|
129
|
-
| `
|
|
130
|
-
| `
|
|
131
|
-
| `
|
|
133
|
+
|
|
134
|
+
| Topic | Description |
|
|
135
|
+
| ----------- | ---------------------------------------------------------- |
|
|
136
|
+
| `tables` | Database schema definitions with indexes and relationships |
|
|
137
|
+
| `database` | All db.\* operations: query, get, add, edit, patch, delete |
|
|
138
|
+
| `addons` | Reusable subqueries for fetching related data |
|
|
139
|
+
| `streaming` | Streaming data from files, requests, and responses |
|
|
132
140
|
|
|
133
141
|
### APIs & Endpoints
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
|
137
|
-
| `
|
|
138
|
-
| `
|
|
139
|
-
| `
|
|
142
|
+
|
|
143
|
+
| Topic | Description |
|
|
144
|
+
| ---------- | --------------------------------------------------------------- |
|
|
145
|
+
| `apis` | HTTP endpoint definitions with authentication and CRUD patterns |
|
|
146
|
+
| `tasks` | Scheduled and cron jobs |
|
|
147
|
+
| `triggers` | Event-driven handlers (table, realtime, workspace, agent, MCP) |
|
|
148
|
+
| `realtime` | Real-time channels and events for push updates |
|
|
140
149
|
|
|
141
150
|
### AI & Agents
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
|
145
|
-
| `
|
|
146
|
-
| `
|
|
151
|
+
|
|
152
|
+
| Topic | Description |
|
|
153
|
+
| ------------- | --------------------------------------------------- |
|
|
154
|
+
| `agents` | AI agent configuration with LLM providers and tools |
|
|
155
|
+
| `tools` | AI tools for agents and MCP servers |
|
|
156
|
+
| `mcp-servers` | MCP server definitions exposing tools |
|
|
147
157
|
|
|
148
158
|
### Integrations
|
|
149
|
-
|
|
150
|
-
|
|
159
|
+
|
|
160
|
+
| Topic | Description |
|
|
161
|
+
| -------------- | ------------------------------------------------- |
|
|
151
162
|
| `integrations` | Cloud storage, Redis, security, and external APIs |
|
|
152
163
|
|
|
153
164
|
### Configuration
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
|
157
|
-
| `
|
|
165
|
+
|
|
166
|
+
| Topic | Description |
|
|
167
|
+
| ------------ | ---------------------------------------------------------------------- |
|
|
168
|
+
| `workspace` | Workspace-level settings: environment variables, preferences, realtime |
|
|
169
|
+
| `branch` | Branch-level settings: middleware, history retention, visual styling |
|
|
158
170
|
| `middleware` | Request/response interceptors for functions, queries, tasks, and tools |
|
|
159
171
|
|
|
160
172
|
### Development
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
|
164
|
-
| `
|
|
165
|
-
| `
|
|
166
|
-
| `
|
|
173
|
+
|
|
174
|
+
| Topic | Description |
|
|
175
|
+
| ----------- | ---------------------------------------------------------- |
|
|
176
|
+
| `testing` | Unit tests, mocks, and assertions |
|
|
177
|
+
| `debugging` | Logging, inspecting, and debugging XanoScript execution |
|
|
178
|
+
| `frontend` | Static frontend development and deployment |
|
|
179
|
+
| `run` | Run job and service configurations for the Xano Job Runner |
|
|
167
180
|
|
|
168
181
|
### Best Practices
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
|
172
|
-
| `
|
|
182
|
+
|
|
183
|
+
| Topic | Description |
|
|
184
|
+
| ------------- | ------------------------------------------------------------ |
|
|
185
|
+
| `performance` | Performance optimization best practices |
|
|
186
|
+
| `security` | Security best practices for authentication and authorization |
|