You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
> _(Optional)_ If you want the CLI globally available during development:
44
-
> ```
45
-
> pnpm link
46
-
> ```
47
-
> **Note:** If you use `pnpm link`, remember to `pnpm unlink --global` when done to avoid version confusion.
48
-
49
-
! See the [documentation](/docs/README.md) for available commands and arguments.
50
-
51
-
## 🤖 Using in GitHub Actions
52
-
53
-
You can use this CLI as a GitHub Action to automate your Xano workflows.
54
-
55
-
Here is an example job that checks out your repository and uses the local composite action (`./dist/actions/master-action.yml`), which in turn securely downloads and runs the Caly-Xano CLI as npm package via the npx command.
56
-
57
-
```yaml
58
-
jobs:
59
-
sync:
60
-
runs-on: ubuntu-latest
61
-
62
-
steps:
63
-
- uses: actions/checkout@v4
64
-
65
-
# 1. Setup Node.js and authenticate to the npm registry
66
-
- uses: actions/setup-node@v4
67
-
with:
68
-
node-version: '20'
69
-
registry-url: 'https://registry.npmjs.org'
70
-
71
-
# 2. Use the Xano CLI Action from your repository
72
-
# This composite action handles setup and (multiple or single) command execution by calling the published npm package.
73
-
- name: Run Caly-Xano Commands
74
-
uses: ./dist/actions/master-action.yml
75
-
with:
76
-
# Xano Instance name, used to identify the created configuration during command execution
77
-
instance-name: 'production'
78
-
instance-url: ${{ secrets.XANO_URL }}
79
-
# Xano Metadata API token. Make sure to set it up as a secret
80
-
api-token: ${{ secrets.XANO_API_TOKEN }}
81
-
version: 'latest' # or a specific version like '0.1.1'
82
-
# You can specify multiple commands in new lines and the action will execute them in order.
83
-
# See the [documentation](/docs/README.md) for command docs.
84
-
run: |
85
-
generate-oas --all
86
-
```
44
+
>
45
+
> ```
46
+
> pnpm link
47
+
> ```
48
+
>
49
+
> **Note:** If you use `pnpm link`, remember to `pnpm unlink --global` when done to avoid version confusion.
50
+
51
+
! See the [documentation](https://calycode.com/cli/docs) for available commands and arguments.
87
52
88
53
---
89
54
90
55
### Xano Registry **(WIP)**
91
56
92
-
I have been astonished by the shadcn/ui CLI and the core principles of code distribution implemented in that tool. While that is primarily for frontend developers, their attempt to generalise their registry pointed me into the direction where I have started rebuilding a registry system for Xano powered by `xanoscript`. The reason for this is to overcome the bugs of Xano Snippets, avoid dependency of external providers of Xano Actions and in general to allow any team to build their own registries. These registries should also server as guidance for LLMs to eventually start generating more and more reliable `xanoscript`.
57
+
I have been astonished by the shadcn/ui CLI and the core principles of code distribution implemented in that tool. While that is primarily for frontend developers, their attempt to generalise their registry pointed me into the direction where I have started rebuilding a registry system for Xano powered by `xanoscript`. The reason for this is to overcome the bugs of Xano Snippets, avoid dependency of external providers of Xano Actions and in general to allow any team to build their own registries with ease. These registries should also serve as guidance for LLMs to eventually start generating more and more reliable `xanoscript`.
93
58
94
59
<details>
95
60
<summary>How to use the registry feature?</summary>
@@ -109,10 +74,10 @@ I have been astonished by the shadcn/ui CLI and the core principles of code dist
> Currently there is no way of automatically build out the registry from a collection of `xanoscript` files, so this is why
77
+
> [!NOTE] > **Notes:**
78
+
> Currently there is no way of automatically building the registry from a collection of `xanoscript` files, so this is why
114
79
> it is important to always keep the registry/definitions/index.json and the individual definition files in sync.
115
-
> Currently there is theoretic support for registry:function and registry:table components, registry:query but registry:snippet is planned.
80
+
> Currently there is theoretic support for registry:function and registry:table components, registry:query but registry:snippet is planned to allow installing multiple items at once in predefined order.
116
81
> With the registry:snippet I aim to have a shot at fixing Xano's Snippets and make it searchable and reusable by also LLMs.
117
82
118
83
</details>
@@ -129,16 +94,15 @@ I have been astonished by the shadcn/ui CLI and the core principles of code dist
129
94
## ✔️ What Works Now?
130
95
131
96
- [x] Allow multi-user multi workspace setup.
132
-
-[x] Add context-switching to the configuration options.
133
-
-[x] Generate improved **OpenAPI sepcification + Scalar** Reference html (hostable anywhere and viewable locally).
134
-
-[x]**Generate code** from the backend API groups, powered by openapi tools generator CLI.
135
-
-[x]**Processing Xano** queries, functions, and tables **into a browsable repo** structure
97
+
- [x] Generate improved **OpenAPI sepcification + Scalar (as UI)** Reference html (hostable anywhere and viewable locally).
98
+
- [x] **Generate code** from the backend API groups, powered by openapi tools generator CLI (orval with tanstack query support is coming).
99
+
- [x] **Processing Xano** queries, functions, and tables **into a browsable repo** structure (Xano json, not yet `xanoscript`)
136
100
- [x] **Export and restore backups** via Metadata API
101
+
- [x] Exporting all available `xanoscript` from your instance via metadata API _\*(important note: not all pieces of logic can be exported via metadata API, this especially is fragile on older and bigger instances)_.
137
102
- [x] **Scaffolding a registry** of reusable Xano components
138
-
-[x] Exporting all available `xanoscript` from your instance via metadata API _*(important note: not all pieces of logic can be exported via metadata API, this especially is fragile on older and bigger instances)_.
139
103
- [x] Adding components to Xano from a registry (only functions, tables, queries for now)
140
104
- [x] Automated test runner with assertion configuration
141
105
142
106
---
143
107
144
-
**Contributions, feedback, and ideas are welcome!** Open an issue, or reach out to me on [State Change](https://statechange.ai/) or [Snappy Community](https://www.skool.com/@mihaly-toth-2040?g=snappy).
108
+
**Contributions, feedback, and ideas are welcome!** Open an issue, or reach out to us on [our Discord](https://mee6.xyz/i/8a9p4ORFtm), on [State Change](https://statechange.ai/) or [Snappy Community](https://www.skool.com/@mihaly-toth-2040?g=snappy).
@@ -29,7 +29,7 @@ Supercharge your Xano workflow: automate backups, docs, testing, and version con
29
29
30
30
---
31
31
32
-
## 🚀 Quick Start
32
+
## 🚀 [Dev]Quick Start
33
33
34
34
```
35
35
# 1. Clone the repo
@@ -38,62 +38,27 @@ Supercharge your Xano workflow: automate backups, docs, testing, and version con
38
38
pnpm install
39
39
40
40
# 3. Build the CLI
41
-
pnpm build:packages
41
+
pnpm build
42
42
43
43
# 4. Run any command
44
44
xano
45
45
```
46
46
47
47
> _(Optional)_ If you want the CLI globally available during development:
48
-
> ```
49
-
> pnpm link
50
-
> ```
51
-
> **Note:** If you use `pnpm link`, remember to `pnpm unlink --global` when done to avoid version confusion.
52
-
53
-
! See the [documentation](/docs/README.md) for available commands and arguments.
54
-
55
-
## 🤖 Using in GitHub Actions
56
-
57
-
You can use this CLI as a GitHub Action to automate your Xano workflows.
58
-
59
-
Here is an example job that checks out your repository and uses the local composite action (`./dist/actions/master-action.yml`), which in turn securely downloads and runs the Caly-Xano CLI as npm package via the npx command.
60
-
61
-
```yaml
62
-
jobs:
63
-
sync:
64
-
runs-on: ubuntu-latest
65
-
66
-
steps:
67
-
- uses: actions/checkout@v4
68
-
69
-
# 1. Setup Node.js and authenticate to the npm registry
70
-
- uses: actions/setup-node@v4
71
-
with:
72
-
node-version: '20'
73
-
registry-url: 'https://registry.npmjs.org'
74
-
75
-
# 2. Use the Xano CLI Action from your repository
76
-
# This composite action handles setup and (multiple or single) command execution by calling the published npm package.
77
-
- name: Run Caly-Xano Commands
78
-
uses: ./dist/actions/master-action.yml
79
-
with:
80
-
# Xano Instance name, used to identify the created configuration during command execution
81
-
instance-name: 'production'
82
-
instance-url: ${{ secrets.XANO_URL }}
83
-
# Xano Metadata API token. Make sure to set it up as a secret
84
-
api-token: ${{ secrets.XANO_API_TOKEN }}
85
-
version: 'latest' # or a specific version like '0.1.1'
86
-
# You can specify multiple commands in new lines and the action will execute them in order.
87
-
# See the [documentation](/docs/README.md) for command docs.
88
-
run: |
89
-
generate-oas --all
90
-
```
48
+
>
49
+
> ```
50
+
> pnpm link
51
+
> ```
52
+
>
53
+
> **Note:** If you use `pnpm link`, remember to `pnpm unlink --global` when done to avoid version confusion.
54
+
55
+
! See the [documentation](https://calycode.com/cli/docs) for available commands and arguments.
91
56
92
57
---
93
58
94
59
### Xano Registry **(WIP)**
95
60
96
-
I have been astonished by the shadcn/ui CLI and the core principles of code distribution implemented in that tool. While that is primarily for frontend developers, their attempt to generalise their registry pointed me into the direction where I have started rebuilding a registry system for Xano powered by `xanoscript`. The reason for this is to overcome the bugs of Xano Snippets, avoid dependency of external providers of Xano Actions and in general to allow any team to build their own registries. These registries should also server as guidance for LLMs to eventually start generating more and more reliable `xanoscript`.
61
+
I have been astonished by the shadcn/ui CLI and the core principles of code distribution implemented in that tool. While that is primarily for frontend developers, their attempt to generalise their registry pointed me into the direction where I have started rebuilding a registry system for Xano powered by `xanoscript`. The reason for this is to overcome the bugs of Xano Snippets, avoid dependency of external providers of Xano Actions and in general to allow any team to build their own registries with ease. These registries should also serve as guidance for LLMs to eventually start generating more and more reliable `xanoscript`.
97
62
98
63
<details>
99
64
<summary>How to use the registry feature?</summary>
@@ -113,10 +78,10 @@ I have been astonished by the shadcn/ui CLI and the core principles of code dist
> Currently there is no way of automatically build out the registry from a collection of `xanoscript` files, so this is why
81
+
> [!NOTE] > **Notes:**
82
+
> Currently there is no way of automatically building the registry from a collection of `xanoscript` files, so this is why
118
83
> it is important to always keep the registry/definitions/index.json and the individual definition files in sync.
119
-
> Currently there is theoretic support for registry:function and registry:table components, registry:query but registry:snippet is planned.
84
+
> Currently there is theoretic support for registry:function and registry:table components, registry:query but registry:snippet is planned to allow installing multiple items at once in predefined order.
120
85
> With the registry:snippet I aim to have a shot at fixing Xano's Snippets and make it searchable and reusable by also LLMs.
121
86
122
87
</details>
@@ -133,19 +98,18 @@ I have been astonished by the shadcn/ui CLI and the core principles of code dist
133
98
## ✔️ What Works Now?
134
99
135
100
- [x] Allow multi-user multi workspace setup.
136
-
-[x] Add context-switching to the configuration options.
137
-
-[x] Generate improved **OpenAPI sepcification + Scalar** Reference html (hostable anywhere and viewable locally).
138
-
-[x]**Generate code** from the backend API groups, powered by openapi tools generator CLI.
139
-
-[x]**Processing Xano** queries, functions, and tables **into a browsable repo** structure
101
+
- [x] Generate improved **OpenAPI sepcification + Scalar (as UI)** Reference html (hostable anywhere and viewable locally).
102
+
- [x] **Generate code** from the backend API groups, powered by openapi tools generator CLI (orval with tanstack query support is coming).
103
+
- [x] **Processing Xano** queries, functions, and tables **into a browsable repo** structure (Xano json, not yet `xanoscript`)
140
104
- [x] **Export and restore backups** via Metadata API
105
+
- [x] Exporting all available `xanoscript` from your instance via metadata API _\*(important note: not all pieces of logic can be exported via metadata API, this especially is fragile on older and bigger instances)_.
141
106
- [x] **Scaffolding a registry** of reusable Xano components
142
-
-[x] Exporting all available `xanoscript` from your instance via metadata API _*(important note: not all pieces of logic can be exported via metadata API, this especially is fragile on older and bigger instances)_.
143
107
- [x] Adding components to Xano from a registry (only functions, tables, queries for now)
144
108
- [x] Automated test runner with assertion configuration
145
109
146
110
---
147
111
148
-
**Contributions, feedback, and ideas are welcome!** Open an issue, or reach out to me on [State Change](https://statechange.ai/) or [Snappy Community](https://www.skool.com/@mihaly-toth-2040?g=snappy).
112
+
**Contributions, feedback, and ideas are welcome!** Open an issue, or reach out to us on [our Discord](https://mee6.xyz/i/8a9p4ORFtm), on [State Change](https://statechange.ai/) or [Snappy Community](https://www.skool.com/@mihaly-toth-2040?g=snappy).
149
113
150
114
151
115
Need further help? Visit [GitHub](https://github.com/calycode/xano-tools) or reach out to Mihály Tóth on [State Change](https://statechange.ai/) or [Snappy Community](https://www.skool.com/@mihaly-toth-2040?g=snappy)
0 commit comments