Conversation
Rename the published binary and help output to avoid conflicts with Xano's official CLI, and provide explicit legacy guidance for old invocations. Update docs/installers/guides plus a changeset so users can migrate scripts and CI safely.
🦋 Changeset detectedLatest commit: 037ca67 The changes in this PR will be included in the next version bump. This PR includes changesets to release 2 packages
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
|
Important Review skippedAuto incremental reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
WalkthroughThe pull request renames the CLI executable from Changes
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~25 minutes Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 2 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (2 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 14
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (5)
packages/xano-skills/README.md (1)
16-18:⚠️ Potential issue | 🟠 MajorUpdate command examples to use
caly-xano.These examples still reference the legacy
xanocommand instead ofcaly-xano, which is inconsistent with the PR's CLI rename. Users following this documentation will encounter errors.📝 Proposed fix
### Via CalyCode CLI ```bash -xano oc init # Includes skills installation +caly-xano oc init # Includes skills installation # Or separately: -xano oc skills install +caly-xano oc skills install</details> <details> <summary>🤖 Prompt for AI Agents</summary>Verify each finding against the current code and only fix it if needed.
In
@packages/xano-skills/README.mdaround lines 16 - 18, Replace the legacy CLI
command examples in the README so they use the renamed command; update
occurrences of thexanoCLI in the shown examples tocaly-xano(specifically
change the example commandsxano oc initandxano oc skills installto
caly-xano oc initandcaly-xano oc skills install) ensuring any surrounding
comment text remains accurate and the formatting/markdown is preserved.</details> </blockquote></details> <details> <summary>util-resources/docs-template/guides/opencode-setup.md (2)</summary><blockquote> `36-43`: _⚠️ Potential issue_ | _🟠 Major_ **Inconsistent command name in Quick Start examples.** The Quick Start section still uses `xano` instead of `caly-xano` for command examples (lines 36, 39, 42), which is inconsistent with the PR's objective to rename the CLI command. All other documentation files in this PR have been updated to use `caly-xano`. <details> <summary>📝 Proposed fix to update command examples</summary> ```diff # 1. Install the CLI globally npm install -g `@calycode/cli` # 2. Set up OpenCode with agents, commands, and skills -xano oc setup +caly-xano oc setup # 3. Run OpenCode interactively -xano oc run +caly-xano oc run # 4. Or run with a specific agent -xano oc run "@xano-planner Plan a user authentication system" +caly-xano oc run "@xano-planner Plan a user authentication system"🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@util-resources/docs-template/guides/opencode-setup.md` around lines 36 - 43, Update the Quick Start examples to use the new CLI name by replacing the occurrences of the command strings "xano oc setup", "xano oc run" and the example run with agent "xano oc run \"@xano-planner Plan a user authentication system\"" to use "caly-xano" instead (e.g., "caly-xano oc setup", "caly-xano oc run", "caly-xano oc run \"@xano-planner ...\"") so the commands match the PR-wide rename of the CLI.
50-104:⚠️ Potential issue | 🟠 MajorUpdate all
xano occommands tocaly-xano octhroughout the document.The file contains 30+ instances of the old
xano occommand syntax scattered across the document (lines 36, 39, 42, 50, 100, 103, 114, 117, 126, 129, 132, 141, 144, 147, 172, 175, 178, 181, 205, 208, 211, 246, 248, 311, 323, 377, 394, 402, 415, 418 and others). All of these need to be updated to usecaly-xano octo match the CLI rename.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@util-resources/docs-template/guides/opencode-setup.md` around lines 50 - 104, Replace every instance of the old CLI token "xano oc" with the new token "caly-xano oc" throughout the document (including inline text, fenced code blocks, examples like "xano oc setup" and "xano oc update", option examples, and any usage snippets); ensure you update standalone occurrences of "xano oc" and compound commands (e.g., "xano oc setup", "xano oc update", "xano oc [options]") while preserving surrounding formatting and flags, then scan the file for remaining occurrences to ensure no instances remain.package.json (1)
19-54:⚠️ Potential issue | 🟠 MajorMissing Node runtime constraint in workspace manifest.
Please add an
engines.nodeentry so package consumers and CI can enforce the minimum supported runtime.Suggested fix
"private": true, + "engines": { + "node": ">=18.0.0" + }, "publishConfig": {As per coding guidelines "package.json: Require Node.js >= 18.0.0 as minimum runtime version".
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@package.json` around lines 19 - 54, Add a top-level "engines.node" entry to the package.json manifest to require Node.js >=18.0.0 (e.g., set engines.node to ">=18.0.0") so consumers and CI can enforce the minimum runtime; update the root package.json (add an "engines" object with the node constraint) and ensure it is valid JSON and consistent with the existing "packageManager" field.packages/opencode-templates/agents/xano-ai-builder.md (1)
110-112:⚠️ Potential issue | 🟡 MinorOrphaned parameter table appears to be a remnant from removed Anthropic section.
This
send_reasoningparameter table now appears disconnected after the OpenAI section. Based on the AI summary, this was part of the Anthropic Claude provider documentation that was removed. The table should either be removed entirely or moved to an appropriate context.🧹 Proposed fix: Remove orphaned table
| `reasoning_effort` | `"low"`, `"medium"`, `"high"` for reasoning models | | `baseURL` | Custom endpoint (Groq, Mistral, OpenRouter) | -| Parameter | Description | -| ---------------- | ----------------------------------- | -| `send_reasoning` | Include thinking blocks in response | - ## Dynamic Variables🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@packages/opencode-templates/agents/xano-ai-builder.md` around lines 110 - 112, Remove the orphaned markdown parameter table referencing `send_reasoning` that remains after the Anthropic/Claude content was removed; either delete the table entirely or move the `send_reasoning` row into the correct provider section (e.g., restore it under the Anthropic/Claude provider if intended), and ensure there are no remaining stray references to `send_reasoning` elsewhere in the document so the OpenAI section is not left with an unrelated parameter table.
🧹 Nitpick comments (6)
scripts/generate-caly-cli-docs.ts (1)
60-64: Remove$prefix in generated command examples to avoid recurring MD014 warnings.The generator currently emits prompt-prefixed commands in docs snippets, which is triggering markdownlint across generated pages.
Proposed patch
- `$ caly-xano ${name} [options]`, + `caly-xano ${name} [options]`, @@ - `\`\`\`term\n$ caly-xano ${name} --help`, + `\`\`\`term\ncaly-xano ${name} --help`,🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@scripts/generate-caly-cli-docs.ts` around lines 60 - 64, The generated docs include a leading "$ " in command examples which triggers MD014; remove the shell prompt prefix by replacing occurrences of `$ caly-xano ${name} ...` with `caly-xano ${name} ...` (and similarly for the `--help` example) inside the generator (update the string templates in scripts/generate-caly-cli-docs.ts that currently build the lines `\`$ caly-xano ${name} [options]\``, `\`$ caly-xano ${name} --help\`` and any other templates using `$ caly-xano`) so the emitted code fences contain bare commands without the `$` prefix.packages/cli/scripts/installer/install.ps1 (1)
278-281: Uninstall should not depend oncaly-xanobeing in PATH.Line 278 can skip package removal when PATH is misconfigured. Run
npm uninstall -g $PackageNameunconditionally, then handle non-zero exit with a warning.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@packages/cli/scripts/installer/install.ps1` around lines 278 - 281, Remove the conditional that checks Get-Command caly-xano and always attempt to run npm uninstall -g $PackageName; after the uninstall command, check the external command exit status (e.g. $LASTEXITCODE or the equivalent) and if it is non-zero call Write-Log with a warning including the exit code and package name (use existing Write-Log and $PackageName symbols) so a failed uninstall is reported instead of silently skipped.packages/cli/package.json (1)
23-24: Consider adding a publishedxanoshim bin for better UX during migration.Line 23 removes the
xanobin from the published CLI package entirely. Users upgrading@calycode/cliglobally will encounter a bare "command not found" forxanoinstead of migration guidance—the legacy-xano-command.mjs at the repo root provides good guidance but is only available to repo-local scripts, not globally installed users.Adding
xanoas a temporary bin entry that references a legacy shim would help users discovercaly-xanoon first invocation:{ "bin": { + "xano": "dist/legacy-xano.cjs", "caly-xano": "dist/index.cjs" },The shim can reuse or mirror the messaging already defined in scripts/legacy-xano-command.mjs (print guidance, exit non-zero).
Also applies to: 68-69
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@packages/cli/package.json` around lines 23 - 24, Restore a temporary "xano" bin entry in package.json that points to the repository's legacy shim so globally-upgraded users get guidance instead of "command not found"; add a "xano": "scripts/legacy-xano-command.mjs" (or a small published shim that mirrors scripts/legacy-xano-command.mjs behavior) alongside the existing "caly-xano" bin, ensure the shim prints the same migration guidance and exits non-zero, and keep the mapping consistent with the existing legacy-xano-command.mjs message/behavior so users are directed to run caly-xano.packages/cli/scripts/installer/install.sh (1)
100-103: Uninstall detection should not rely only on PATH binary lookup.If
@calycode/cliis installed butcaly-xanois not currently resolvable in PATH, uninstall is skipped. Consider checking global npm package presence as a fallback.Suggested hardening
- if command -v caly-xano >/dev/null 2>&1; then + if command -v caly-xano >/dev/null 2>&1 || npm list -g --depth=0 `@calycode/cli` >/dev/null 2>&1; then log "Removing `@calycode/cli` package..." npm uninstall -g `@calycode/cli` 2>/dev/null || sudo npm uninstall -g `@calycode/cli` 2>/dev/null || true fi🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@packages/cli/scripts/installer/install.sh` around lines 100 - 103, The uninstall logic currently only checks for the presence of the caly-xano binary via `command -v caly-xano`, which misses global installs where the binary is not on PATH; update the conditional to also detect a globally installed npm package by querying npm (e.g., `npm list -g --depth=0 `@calycode/cli`` or `npm -g ls --parseable `@calycode/cli``) and run the same uninstall sequence if that check succeeds; modify the block around the `if command -v caly-xano` check so it falls back to the npm global-list check before skipping the uninstall, keeping the existing `log`, `npm uninstall -g `@calycode/cli` 2>/dev/null || sudo npm uninstall -g `@calycode/cli` 2>/dev/null || true` commands.docs/guides/opencode-setup.md (1)
5-8: Minor: Consider merging the blockquotes or adding content between them.The static analysis flagged a blank line between two blockquotes (MD028). While both notes are valid and intentionally separate, you could either:
- Merge them into a single blockquote if they relate closely
- Leave as-is since they serve different purposes (migration note vs. attribution disclaimer)
This is a minor stylistic consideration and the current structure is acceptable.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@docs/guides/opencode-setup.md` around lines 5 - 8, There are two adjacent blockquotes (the migration note starting with "**Note:** The CLI binary name changed..." and the attribution block starting with "[!NOTE] CalyCode integrates with [OpenCode]...") which triggers MD028; either merge them into a single combined blockquote that includes both the CLI migration note and the OpenCode attribution/disclaimer, or insert a short explanatory line between the two blockquotes to justify their separation; update the markdown so the two comment blocks are either one blockquote containing both messages or clearly separated by content to eliminate the blank-line warning while keeping the "caly-xano"/"xano" migration note and the OpenCode attribution/disclaimer intact.packages/cli/src/utils/legacy-command-guard.ts (1)
5-7: Consider tightening the native host detection.The current check
args.includes('opencode') && args.includes('native-host')could theoretically match if these strings appear as argument values elsewhere. A more precise check would verify they appear consecutively as a subcommand:♻️ Optional: More precise native host detection
function isNativeHostInvocation(args: string[]): boolean { - return args.includes('opencode') && args.includes('native-host'); + const argStr = args.slice(2).join(' '); + return argStr.includes('opencode native-host') || argStr.includes('oc native-host'); }This is optional since the current implementation is unlikely to cause issues in practice.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@packages/cli/src/utils/legacy-command-guard.ts` around lines 5 - 7, The native-host detection in isNativeHostInvocation currently returns true if 'opencode' and 'native-host' appear anywhere in args; tighten it by checking they appear consecutively as a subcommand sequence: locate the index of 'opencode' (e.g., via args.findIndex) and return true only if args[index + 1] === 'native-host' (or scan for the exact consecutive pair using a loop or array-slice comparison) so the function only matches the subcommand sequence and not arbitrary argument values.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In @.changeset/rapid-lions-jump.md:
- Around line 2-5: The changeset for "@calycode/cli" declares a BREAKING CHANGE
(renaming CLI command from `xano` to `caly-xano`) but is labeled `minor`; verify
the repository policy for pre-1.0 semantic versioning and then update the
changeset accordingly: if breaking changes must use `major` bumps, change the
version tag from `minor` to `major` in the .changeset entry for "@calycode/cli";
if the repo intentionally treats pre-1.0 breaks as `minor`, add/update
documentation (or a CONTRIBUTING/RELEASE note) stating that pre-1.0 breaking
changes are released as `minor` and add an inline comment in the changeset
explaining this decision to avoid confusion.
In `@docs/commands/generate-codegen.md`:
- Line 6: The fenced code block contains a shell prompt marker ("$ caly-xano
generate codegen [options]") which triggers markdownlint MD014; remove the
leading "$ " so the block contains "caly-xano generate codegen [options]"
instead, i.e., update the command-only fenced block in
docs/commands/generate-codegen.md to omit the shell prompt marker.
In `@docs/commands/oc-skills-status.md`:
- Around line 2-7: Replace the H4 header "#### Show the status of installed
skills." with a plain paragraph heading (e.g., "Show the status of installed
skills.") to avoid MD001, and in the command block remove the leading "$" so the
command reads "caly-xano oc skills status [options]" (ensure the fenced code
block contains the command only, not a shell prompt or "$" and keep the fence
language neutral or omitted).
In `@docs/commands/oc-skills.md`:
- Line 23: The help entry for the command "clear-cache" is truncated
("re-downloaded on n..."); update the docs entry that renders the command list
so it uses the full description string for the clear-cache command (the same
full help/description used by the command implementation or help generator)
instead of a shortened/truncated excerpt; locate where the command metadata for
"clear-cache" or the renderer for command summaries is built (look for the
"clear-cache" label or the function that builds the command list) and replace
the truncated summary with the complete description text.
- Line 6: The command example line currently includes a leading shell prompt (“$
caly-xano oc skills [options]”) which triggers markdownlint MD014; remove the
leading "$" so the example reads "caly-xano oc skills [options]" (update the
code block containing that command string) to make it a command-only example
without the prompt marker.
- Around line 2-3: The note block beginning with [!NOTE|label:Description]
contains a "#### Manage Xano skills for AI agents (database optimization,
security, best practices)." heading which breaks markdown heading increment
rules; replace the fourth-level heading with either plain emphasized text (e.g.,
italicize the sentence) or use a top-level/second-level heading (e.g., "##
Manage Xano skills for AI agents...") so the note block uses valid heading
nesting; update the line containing the heading text accordingly.
In `@docs/commands/registry-add.md`:
- Line 6: The markdown code block uses a shell prompt marker causing MD014;
remove the leading "$" from the snippet or wrap the command in a fenced code
block with language "term" so the line reads the literal command "caly-xano
registry add [options]" (e.g., replace "$ caly-xano registry add [options]" with
"caly-xano registry add [options]" or wrap it in ```term ... ```), updating the
snippet that contains "caly-xano registry add [options]".
In `@docs/guides/git-workflow.md`:
- Around line 240-251: Normalize the YAML list-item indentation for the GitHub
Actions steps so all `- name:` entries align consistently with their sibling
`steps` list items; specifically, adjust the indentation of the "Install Xano
CLI" and "Generate Repository" step blocks so the leading `-` and `name:` line
up with other steps in the workflow, and ensure nested keys like `run:` and
`env:` are indented relative to their parent step; apply the same normalization
to the other inconsistent blocks referenced (around the blocks currently at
290-305 and 328-334) to prevent YAML parsing errors when copied into workflows.
In `@docs/guides/testing.md`:
- Around line 429-441: The CI YAML example has incorrect indentation for the job
fields (the "name: Run API Tests", the "env:" mapping including
XANO_TEST_EMAIL/XANO_TEST_PASSWORD/XANO_TOKEN_PRODUCTION, and the "run:" block
that invokes "caly-xano test run") — dedent those keys so they align with other
top-level job keys (same level as other job "name"/"env"/"run" entries) rather
than being nested one level too deep; update the other affected example (the
block containing the same "env:" keys at the second occurrence) the same way so
both examples become valid YAML.
In `@docs/README.md`:
- Around line 72-79: Add a fence language to the fenced code blocks for the
registry examples and fix the typo "coma" to "comma" in the registry-add
example; specifically, update the code fences around the caly-xano
serve-registry and caly-xano registry-add blocks to include a language label
(e.g., "term") and change the placeholder in the caly-xano registry-add
--components <coma separated component names> --registry <registry url> to
<comma separated component names> so the MD040 lint warning is resolved.
In `@packages/cli/scripts/installer/install.ps1`:
- Around line 257-265: After calling the native command caly-xano opencode init
in the try block, explicitly check PowerShell's $LASTEXITCODE and treat any
non-zero value as failure: if $LASTEXITCODE -ne 0, log an error (using
Write-Log) including the exit code and any relevant output, then return $false
(or throw) instead of returning $true; only return $true when $LASTEXITCODE is
0. This change should be made in the try block immediately after invoking
caly-xano opencode init to ensure failures from the native executable are not
treated as success.
In `@packages/cli/scripts/installer/install.sh`:
- Around line 331-334: The check for the 'caly-xano' binary currently calls
"return 1" after issuing warnings, which under set -e aborts the whole install;
update the caly-xano existence branch (the block that runs "if ! command -v
caly-xano >/dev/null 2>&1; then") to not return a non-zero status—replace
"return 1" with a non-failing outcome (e.g., "return 0" or simply omit the
return) so the script continues the install flow while still emitting the
warning.
In `@README.md`:
- Around line 64-75: Update the README command examples to the current CLI
syntax: replace the hyphenated commands "caly-xano registry-scaffold",
"caly-xano serve-registry", and "caly-xano registry-add --components <...>" with
space-separated subcommands and positional components, e.g. "caly-xano registry
scaffold", "caly-xano registry serve" (or the correct subcommand name for
serving), and "caly-xano registry add <comma-separated component names>
--registry <registry url>", and also fix the typo "coma" -> "comma-separated".
- Around line 68-73: Update the fenced code blocks in README.md around the
caly-xano examples to declare a language (use "bash") and apply the corrected
command text from the proposal: change "caly-xano serve-registry" to "caly-xano
serve registry" and ensure the other block shows "caly-xano registry add
<comma-separated component names> --registry <registry url>" inside a ```bash
fenced block; edit the two code fences enclosing those commands accordingly.
---
Outside diff comments:
In `@package.json`:
- Around line 19-54: Add a top-level "engines.node" entry to the package.json
manifest to require Node.js >=18.0.0 (e.g., set engines.node to ">=18.0.0") so
consumers and CI can enforce the minimum runtime; update the root package.json
(add an "engines" object with the node constraint) and ensure it is valid JSON
and consistent with the existing "packageManager" field.
In `@packages/opencode-templates/agents/xano-ai-builder.md`:
- Around line 110-112: Remove the orphaned markdown parameter table referencing
`send_reasoning` that remains after the Anthropic/Claude content was removed;
either delete the table entirely or move the `send_reasoning` row into the
correct provider section (e.g., restore it under the Anthropic/Claude provider
if intended), and ensure there are no remaining stray references to
`send_reasoning` elsewhere in the document so the OpenAI section is not left
with an unrelated parameter table.
In `@packages/xano-skills/README.md`:
- Around line 16-18: Replace the legacy CLI command examples in the README so
they use the renamed command; update occurrences of the `xano` CLI in the shown
examples to `caly-xano` (specifically change the example commands `xano oc init`
and `xano oc skills install` to `caly-xano oc init` and `caly-xano oc skills
install`) ensuring any surrounding comment text remains accurate and the
formatting/markdown is preserved.
In `@util-resources/docs-template/guides/opencode-setup.md`:
- Around line 36-43: Update the Quick Start examples to use the new CLI name by
replacing the occurrences of the command strings "xano oc setup", "xano oc run"
and the example run with agent "xano oc run \"@xano-planner Plan a user
authentication system\"" to use "caly-xano" instead (e.g., "caly-xano oc setup",
"caly-xano oc run", "caly-xano oc run \"@xano-planner ...\"") so the commands
match the PR-wide rename of the CLI.
- Around line 50-104: Replace every instance of the old CLI token "xano oc" with
the new token "caly-xano oc" throughout the document (including inline text,
fenced code blocks, examples like "xano oc setup" and "xano oc update", option
examples, and any usage snippets); ensure you update standalone occurrences of
"xano oc" and compound commands (e.g., "xano oc setup", "xano oc update", "xano
oc [options]") while preserving surrounding formatting and flags, then scan the
file for remaining occurrences to ensure no instances remain.
---
Nitpick comments:
In `@docs/guides/opencode-setup.md`:
- Around line 5-8: There are two adjacent blockquotes (the migration note
starting with "**Note:** The CLI binary name changed..." and the attribution
block starting with "[!NOTE] CalyCode integrates with [OpenCode]...") which
triggers MD028; either merge them into a single combined blockquote that
includes both the CLI migration note and the OpenCode attribution/disclaimer, or
insert a short explanatory line between the two blockquotes to justify their
separation; update the markdown so the two comment blocks are either one
blockquote containing both messages or clearly separated by content to eliminate
the blank-line warning while keeping the "caly-xano"/"xano" migration note and
the OpenCode attribution/disclaimer intact.
In `@packages/cli/package.json`:
- Around line 23-24: Restore a temporary "xano" bin entry in package.json that
points to the repository's legacy shim so globally-upgraded users get guidance
instead of "command not found"; add a "xano": "scripts/legacy-xano-command.mjs"
(or a small published shim that mirrors scripts/legacy-xano-command.mjs
behavior) alongside the existing "caly-xano" bin, ensure the shim prints the
same migration guidance and exits non-zero, and keep the mapping consistent with
the existing legacy-xano-command.mjs message/behavior so users are directed to
run caly-xano.
In `@packages/cli/scripts/installer/install.ps1`:
- Around line 278-281: Remove the conditional that checks Get-Command caly-xano
and always attempt to run npm uninstall -g $PackageName; after the uninstall
command, check the external command exit status (e.g. $LASTEXITCODE or the
equivalent) and if it is non-zero call Write-Log with a warning including the
exit code and package name (use existing Write-Log and $PackageName symbols) so
a failed uninstall is reported instead of silently skipped.
In `@packages/cli/scripts/installer/install.sh`:
- Around line 100-103: The uninstall logic currently only checks for the
presence of the caly-xano binary via `command -v caly-xano`, which misses global
installs where the binary is not on PATH; update the conditional to also detect
a globally installed npm package by querying npm (e.g., `npm list -g --depth=0
`@calycode/cli`` or `npm -g ls --parseable `@calycode/cli``) and run the same
uninstall sequence if that check succeeds; modify the block around the `if
command -v caly-xano` check so it falls back to the npm global-list check before
skipping the uninstall, keeping the existing `log`, `npm uninstall -g
`@calycode/cli` 2>/dev/null || sudo npm uninstall -g `@calycode/cli` 2>/dev/null ||
true` commands.
In `@packages/cli/src/utils/legacy-command-guard.ts`:
- Around line 5-7: The native-host detection in isNativeHostInvocation currently
returns true if 'opencode' and 'native-host' appear anywhere in args; tighten it
by checking they appear consecutively as a subcommand sequence: locate the index
of 'opencode' (e.g., via args.findIndex) and return true only if args[index + 1]
=== 'native-host' (or scan for the exact consecutive pair using a loop or
array-slice comparison) so the function only matches the subcommand sequence and
not arbitrary argument values.
In `@scripts/generate-caly-cli-docs.ts`:
- Around line 60-64: The generated docs include a leading "$ " in command
examples which triggers MD014; remove the shell prompt prefix by replacing
occurrences of `$ caly-xano ${name} ...` with `caly-xano ${name} ...` (and
similarly for the `--help` example) inside the generator (update the string
templates in scripts/generate-caly-cli-docs.ts that currently build the lines
`\`$ caly-xano ${name} [options]\``, `\`$ caly-xano ${name} --help\`` and any
other templates using `$ caly-xano`) so the emitted code fences contain bare
commands without the `$` prefix.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: 93aeb6fb-59c0-4b83-8763-97607cb3f99b
📒 Files selected for processing (77)
.changeset/nasty-facts-hammer.md.changeset/rapid-lions-jump.mdREADME.mddocs/README.mddocs/_sidebar.mddocs/commands/backup-export.mddocs/commands/backup-restore.mddocs/commands/backup.mddocs/commands/context-show.mddocs/commands/context.mddocs/commands/generate-codegen.mddocs/commands/generate-docs.mddocs/commands/generate-repo.mddocs/commands/generate-spec.mddocs/commands/generate-xanoscript.mddocs/commands/generate.mddocs/commands/init.mddocs/commands/oc-init.mddocs/commands/oc-native-host.mddocs/commands/oc-run.mddocs/commands/oc-serve.mddocs/commands/oc-skills-clear-cache.mddocs/commands/oc-skills-install.mddocs/commands/oc-skills-status.mddocs/commands/oc-skills-update.mddocs/commands/oc-skills.mddocs/commands/oc-templates-clear-cache.mddocs/commands/oc-templates-install.mddocs/commands/oc-templates-status.mddocs/commands/oc-templates-update.mddocs/commands/oc-templates.mddocs/commands/oc.mddocs/commands/registry-add.mddocs/commands/registry-scaffold.mddocs/commands/registry.mddocs/commands/serve-registry.mddocs/commands/serve-spec.mddocs/commands/serve.mddocs/commands/test-run.mddocs/commands/test.mddocs/guides/git-workflow.mddocs/guides/opencode-setup.mddocs/guides/patterns.mddocs/guides/registry-authoring.mddocs/guides/scaffolding.mddocs/guides/testing.mddocs/guides/xanoscript.mddocs/xano.mdpackage.jsonpackages/cli/README.mdpackages/cli/package.jsonpackages/cli/scripts/README.mdpackages/cli/scripts/dev/install-unix.shpackages/cli/scripts/dev/install-win.batpackages/cli/scripts/installer/install.ps1packages/cli/scripts/installer/install.shpackages/cli/src/commands/opencode/index.tspackages/cli/src/index-bundled.tspackages/cli/src/index.tspackages/cli/src/program.tspackages/cli/src/utils/commands/main-program-utils.tspackages/cli/src/utils/legacy-command-guard.tspackages/opencode-templates/agents/api-designer.mdpackages/opencode-templates/agents/debug-helper.mdpackages/opencode-templates/agents/xano-addon-writer.mdpackages/opencode-templates/agents/xano-ai-builder.mdpackages/opencode-templates/agents/xano-api-writer.mdpackages/opencode-templates/agents/xano-function-writer.mdpackages/opencode-templates/agents/xano-planner.mdpackages/opencode-templates/agents/xano-table-designer.mdpackages/opencode-templates/agents/xano-task-writer.mdpackages/opencode-templates/opencode.jsonpackages/xano-skills/README.mdpackages/xano-skills/package.jsonscripts/generate-caly-cli-docs.tsscripts/legacy-xano-command.mjsutil-resources/docs-template/guides/opencode-setup.md
| "@calycode/cli": minor | ||
| --- | ||
|
|
||
| refactor: **BREAKING CHANGE** rename CLI command from `xano` to `caly-xano`; update scripts, CI, and docs to use `caly-xano` |
There was a problem hiding this comment.
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
# Verify historical convention for breaking changes in this repo's changesets
# Expected: determine whether BREAKING CHANGE entries have been released as major or minor.
rg -n -C2 'BREAKING CHANGE|\"@calycode/cli\": (major|minor|patch)' .changesetRepository: calycode/xano-tools
Length of output: 199
🏁 Script executed:
#!/bin/bash
# List all changeset files and their contents to understand breaking change patterns
echo "=== Changeset files with BREAKING CHANGE ==="
rg -l "BREAKING CHANGE" .changeset/*.md
echo -e "\n=== Content of all changeset files ==="
find .changeset -name "*.md" -type f ! -name "package.json" ! -name "config.json" | while read file; do
echo "--- $file ---"
cat "$file"
echo ""
doneRepository: calycode/xano-tools
Length of output: 2290
Confirm whether breaking changes in pre-1.0 packages use minor or major bumps.
This changeset marks the CLI command rename as a breaking change but declares @calycode/cli as minor. While the repository has historically not used major bumps (all changes are patch or minor), this is the first entry with a BREAKING CHANGE marker. If breaking changes should release as major, this should be corrected before publishing. Alternatively, if the repo intentionally treats pre-1.0 breaking changes as minor, this should be explicitly documented.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In @.changeset/rapid-lions-jump.md around lines 2 - 5, The changeset for
"@calycode/cli" declares a BREAKING CHANGE (renaming CLI command from `xano` to
`caly-xano`) but is labeled `minor`; verify the repository policy for pre-1.0
semantic versioning and then update the changeset accordingly: if breaking
changes must use `major` bumps, change the version tag from `minor` to `major`
in the .changeset entry for "@calycode/cli"; if the repo intentionally treats
pre-1.0 breaks as `minor`, add/update documentation (or a CONTRIBUTING/RELEASE
note) stating that pre-1.0 breaking changes are released as `minor` and add an
inline comment in the changeset explaining this decision to avoid confusion.
There was a problem hiding this comment.
It's fine we are far from anything like a major release, and there's no actual user anyways just yet other than internal team members.
There was a problem hiding this comment.
@MihalyToth20, understood! That's a perfectly reasonable approach for a pre-1.0 package with only internal consumers. I'll note this for future reviews.
✏️ Learnings added
Learnt from: MihalyToth20
Repo: calycode/xano-tools PR: 188
File: .changeset/rapid-lions-jump.md:2-5
Timestamp: 2026-04-10T08:03:44.875Z
Learning: In the calycode/xano-tools repository, breaking changes for `calycode/cli` and other packages are intentionally released as `minor` (not `major`) bumps because the packages are pre-1.0 and currently only used by internal team members. Do not flag `minor` changesets for breaking changes as incorrect in this repo.
Note: Learnings are effective only in the context of similar code segments. To apply general coding guidelines, please configure review instructions. You can manage existing learnings in the app.
🧠 Learnings used
Learnt from: CR
Repo: calycode/xano-tools PR: 0
File: packages/xano-skills/AGENTS.md:0-0
Timestamp: 2026-02-08T03:34:24.694Z
Learning: Use the caly-xano-cli skill for CalyCode CLI commands and Xano automation
Learnt from: CR
Repo: calycode/xano-tools PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-02-08T03:34:16.104Z
Learning: Use Changesets for semantic versioning and changelog management
|
|
||
| ```term | ||
| $ xano generate codegen [options] | ||
| $ caly-xano generate codegen [options] |
There was a problem hiding this comment.
Remove shell prompt marker in command-only fenced block.
Line 6 triggers MD014 (commands-show-output). Keep command-only examples without $ to avoid markdownlint noise/failures.
💡 Suggested patch
- $ caly-xano generate codegen [options]
+ caly-xano generate codegen [options]📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| $ caly-xano generate codegen [options] | |
| caly-xano generate codegen [options] |
🧰 Tools
🪛 markdownlint-cli2 (0.22.0)
[warning] 6-6: Dollar signs used before commands without showing output
(MD014, commands-show-output)
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@docs/commands/generate-codegen.md` at line 6, The fenced code block contains
a shell prompt marker ("$ caly-xano generate codegen [options]") which triggers
markdownlint MD014; remove the leading "$ " so the block contains "caly-xano
generate codegen [options]" instead, i.e., update the command-only fenced block
in docs/commands/generate-codegen.md to omit the shell prompt marker.
There was a problem hiding this comment.
That's just used for styling. The term is a custom identifier for a docsify.js plugin that creates animated terminal-like documentation block. So no issues here.
There was a problem hiding this comment.
@MihalyToth20, thanks for the clarification! That makes sense — since term is a custom docsify.js plugin identifier for animated terminal-like blocks, the $ prefix is intentional styling and MD014 doesn't apply here. I'll remember this for future reviews.
✏️ Learnings added
Learnt from: MihalyToth20
Repo: calycode/xano-tools PR: 188
File: docs/commands/generate-codegen.md:6-6
Timestamp: 2026-04-10T08:04:27.109Z
Learning: In calycode/xano-tools, fenced code blocks with the `term` identifier (e.g., ```term) are rendered by a custom docsify.js plugin as animated terminal-like documentation blocks. The `$` shell prompt marker inside these blocks is intentional for styling purposes and is NOT a markdownlint MD014 violation. Do not flag `$` prefixes in `term` fenced blocks.
Note: Learnings are effective only in the context of similar code segments. To apply general coding guidelines, please configure review instructions. You can manage existing learnings in the app.
🧠 Learnings used
Learnt from: CR
Repo: calycode/xano-tools PR: 0
File: packages/xano-skills/AGENTS.md:0-0
Timestamp: 2026-02-08T03:34:24.694Z
Learning: Use the caly-xano-cli skill for CalyCode CLI commands and Xano automation
Learnt from: MihalyToth20
Repo: calycode/xano-tools PR: 188
File: .changeset/rapid-lions-jump.md:2-5
Timestamp: 2026-04-10T08:03:44.875Z
Learning: In the calycode/xano-tools repository, breaking changes for `calycode/cli` and other packages are intentionally released as `minor` (not `major`) bumps because the packages are pre-1.0 and currently only used by internal team members. Do not flag `minor` changesets for breaking changes as incorrect in this repo.
Learnt from: CR
Repo: calycode/xano-tools PR: 0
File: packages/opencode-templates/AGENTS.md:0-0
Timestamp: 2026-02-08T03:34:25.992Z
Learning: Applies to packages/opencode-templates/**/*.xano : Add descriptions to all fields and parameters in XanoScript tables, functions, and APIs
| >[!NOTE|label:Description] | ||
| > #### Show the status of installed skills. | ||
|
|
||
| ```term | ||
| $ caly-xano oc skills status [options] | ||
| ``` |
There was a problem hiding this comment.
Address markdownlint issues in the new command doc.
Line 3 uses an H4 directly after H1 context (MD001), and Line 6 uses $ in a command-only block (MD014).
💡 Suggested patch
>[!NOTE|label:Description]
-> #### Show the status of installed skills.
+> Show the status of installed skills.
```term
-$ caly-xano oc skills status [options]
+caly-xano oc skills status [options]</details>
<!-- suggestion_start -->
<details>
<summary>📝 Committable suggestion</summary>
> ‼️ **IMPORTANT**
> Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
```suggestion
>[!NOTE|label:Description]
> Show the status of installed skills.
🧰 Tools
🪛 markdownlint-cli2 (0.22.0)
[warning] 3-3: Heading levels should only increment by one level at a time
Expected: h2; Actual: h4
(MD001, heading-increment)
[warning] 6-6: Dollar signs used before commands without showing output
(MD014, commands-show-output)
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@docs/commands/oc-skills-status.md` around lines 2 - 7, Replace the H4 header
"#### Show the status of installed skills." with a plain paragraph heading
(e.g., "Show the status of installed skills.") to avoid MD001, and in the
command block remove the leading "$" so the command reads "caly-xano oc skills
status [options]" (ensure the fenced code block contains the command only, not a
shell prompt or "$" and keep the fence language neutral or omitted).
There was a problem hiding this comment.
Same, this is unique expected syntax for docsify.js
There was a problem hiding this comment.
@MihalyToth20, understood! Both the #### H4 heading inside >[!NOTE|label:Description] blocks and the $ prefix in ```term ``` blocks are intentional custom docsify.js rendering syntax — not standard Markdown violations. I'll disregard MD001 for H4 headings inside those note callouts going forward.
✏️ Learnings added
Learnt from: MihalyToth20
Repo: calycode/xano-tools PR: 188
File: docs/commands/oc-skills-status.md:2-7
Timestamp: 2026-04-10T08:04:58.987Z
Learning: In calycode/xano-tools documentation, H4 headings (e.g., `#### Description text`) inside `>[!NOTE|label:Description]` callout blocks are intentional custom docsify.js syntax for styled note callouts. Do NOT flag these as MD001 (heading-increment) violations, as the H4 is rendered specially by the docsify plugin and is not a standard heading hierarchy issue.
Note: Learnings are effective only in the context of similar code segments. To apply general coding guidelines, please configure review instructions. You can manage existing learnings in the app.
🧠 Learnings used
Learnt from: MihalyToth20
Repo: calycode/xano-tools PR: 188
File: docs/commands/generate-codegen.md:6-6
Timestamp: 2026-04-10T08:04:27.109Z
Learning: In calycode/xano-tools documentation, fenced code blocks using the `term` info string (e.g., ```term) are rendered by the custom docsify.js terminal plugin. In these `term` blocks, `$` shell prompt markers are intentional for styling and should NOT be flagged as an MD014 markdownlint violation (do not apply MD014 to `$` prefixes inside `term` fenced blocks).
Learnt from: CR
Repo: calycode/xano-tools PR: 0
File: packages/xano-skills/AGENTS.md:0-0
Timestamp: 2026-02-08T03:34:24.694Z
Learning: Use the caly-xano-cli skill for CalyCode CLI commands and Xano automation
Learnt from: MihalyToth20
Repo: calycode/xano-tools PR: 188
File: .changeset/rapid-lions-jump.md:2-5
Timestamp: 2026-04-10T08:03:44.875Z
Learning: In the calycode/xano-tools repository, breaking changes for `calycode/cli` and other packages are intentionally released as `minor` (not `major`) bumps because the packages are pre-1.0 and currently only used by internal team members. Do not flag `minor` changesets for breaking changes as incorrect in this repo.
| >[!NOTE|label:Description] | ||
| > #### Manage Xano skills for AI agents (database optimization, security, best practices). |
There was a problem hiding this comment.
Heading nesting in the note block violates markdown heading increment rules.
Use plain emphasized text (or an h2-level heading) instead of #### here.
Suggested fix
>[!NOTE|label:Description]
-> #### Manage Xano skills for AI agents (database optimization, security, best practices).
+> **Manage Xano skills for AI agents (database optimization, security, best practices).**📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| >[!NOTE|label:Description] | |
| > #### Manage Xano skills for AI agents (database optimization, security, best practices). | |
| >[!NOTE|label:Description] | |
| > **Manage Xano skills for AI agents (database optimization, security, best practices).** |
🧰 Tools
🪛 markdownlint-cli2 (0.22.0)
[warning] 3-3: Heading levels should only increment by one level at a time
Expected: h2; Actual: h4
(MD001, heading-increment)
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@docs/commands/oc-skills.md` around lines 2 - 3, The note block beginning with
[!NOTE|label:Description] contains a "#### Manage Xano skills for AI agents
(database optimization, security, best practices)." heading which breaks
markdown heading increment rules; replace the fourth-level heading with either
plain emphasized text (e.g., italicize the sentence) or use a
top-level/second-level heading (e.g., "## Manage Xano skills for AI agents...")
so the note block uses valid heading nesting; update the line containing the
heading text accordingly.
docs/commands/oc-skills.md
Outdated
| > #### Manage Xano skills for AI agents (database optimization, security, best practices). | ||
|
|
||
| ```term | ||
| $ caly-xano oc skills [options] |
There was a problem hiding this comment.
Command block style triggers markdownlint MD014.
For command-only examples, remove the leading $ prompt marker.
Suggested fix
-$ caly-xano oc skills [options]
+caly-xano oc skills [options]📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| $ caly-xano oc skills [options] | |
| caly-xano oc skills [options] |
🧰 Tools
🪛 markdownlint-cli2 (0.22.0)
[warning] 6-6: Dollar signs used before commands without showing output
(MD014, commands-show-output)
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@docs/commands/oc-skills.md` at line 6, The command example line currently
includes a leading shell prompt (“$ caly-xano oc skills [options]”) which
triggers markdownlint MD014; remove the leading "$" so the example reads
"caly-xano oc skills [options]" (update the code block containing that command
string) to make it a command-only example without the prompt marker.
| ``` | ||
| xano serve-registry | ||
| caly-xano serve-registry | ||
| ``` | ||
|
|
||
| 3. Use the registry and it's content in `xano` | ||
| 3. Use the registry and it's content in `caly-xano` | ||
| ``` | ||
| xano registry-add --components <coma separated component names> --registry <registry url> | ||
| caly-xano registry-add --components <coma separated component names> --registry <registry url> | ||
| ``` |
There was a problem hiding this comment.
Fix fenced code language and typo in registry example.
Line 72/77 should include a fence language (MD040), and Line 78 should say “comma separated”.
💡 Suggested patch
- ```
+ ```term
caly-xano serve-registry
```
3. Use the registry and it's content in `caly-xano`
- ```
- caly-xano registry-add --components <coma separated component names> --registry <registry url>
+ ```term
+ caly-xano registry-add --components <comma separated component names> --registry <registry url>
```📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| ``` | |
| xano serve-registry | |
| caly-xano serve-registry | |
| ``` | |
| 3. Use the registry and it's content in `xano` | |
| 3. Use the registry and it's content in `caly-xano` | |
| ``` | |
| xano registry-add --components <coma separated component names> --registry <registry url> | |
| caly-xano registry-add --components <coma separated component names> --registry <registry url> | |
| ``` |
🧰 Tools
🪛 markdownlint-cli2 (0.22.0)
[warning] 72-72: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
[warning] 77-77: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@docs/README.md` around lines 72 - 79, Add a fence language to the fenced code
blocks for the registry examples and fix the typo "coma" to "comma" in the
registry-add example; specifically, update the code fences around the caly-xano
serve-registry and caly-xano registry-add blocks to include a language label
(e.g., "term") and change the placeholder in the caly-xano registry-add
--components <coma separated component names> --registry <registry url> to
<comma separated component names> so the MD040 lint warning is resolved.
| if (-not (Get-Command caly-xano -ErrorAction SilentlyContinue)) { | ||
| Write-Log "Cannot configure native host: 'caly-xano' command not found in PATH" "WARN" | ||
| Write-Log "Please restart your terminal and run: caly-xano opencode init" "WARN" | ||
| return $false | ||
| } | ||
|
|
||
| try { | ||
| xano opencode init | ||
| caly-xano opencode init | ||
| return $true |
There was a problem hiding this comment.
🧩 Analysis chain
🌐 Web query:
In PowerShell 5.1, does a non-zero exit code from a native executable inside try/catch trigger catch automatically, or must scripts explicitly check $LASTEXITCODE?
💡 Result:
In Windows PowerShell 5.1, a non-zero exit code from a native executable does not automatically trigger catch. try/catch only handles terminating PowerShell errors/exceptions. [1]
For native executables, PowerShell records the status in $LASTEXITCODE (and sets $? to $false when $LASTEXITCODE is non-zero), so scripts must explicitly check $LASTEXITCODE (or $?) and throw if they want catch to run. [2]
(Automatic integration of non-zero native exit codes with $ErrorActionPreference only exists in newer PowerShell via $PSNativeCommandUseErrorActionPreference; it isn’t a Windows PowerShell 5.1 feature.) [3]
Sources: [1] [2] [3]
Add explicit exit-code check after caly-xano opencode init.
The native command at line 264 can fail silently. In PowerShell 5.1, non-zero exit codes from native executables do not automatically trigger catch—they are recorded in $LASTEXITCODE only. The script must explicitly check this variable before returning success.
Required fix
try {
caly-xano opencode init
+ if ($LASTEXITCODE -ne 0) {
+ Write-Log "Native host configuration command failed with exit code $LASTEXITCODE" "ERROR"
+ return $false
+ }
return $true
}📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| if (-not (Get-Command caly-xano -ErrorAction SilentlyContinue)) { | |
| Write-Log "Cannot configure native host: 'caly-xano' command not found in PATH" "WARN" | |
| Write-Log "Please restart your terminal and run: caly-xano opencode init" "WARN" | |
| return $false | |
| } | |
| try { | |
| xano opencode init | |
| caly-xano opencode init | |
| return $true | |
| if (-not (Get-Command caly-xano -ErrorAction SilentlyContinue)) { | |
| Write-Log "Cannot configure native host: 'caly-xano' command not found in PATH" "WARN" | |
| Write-Log "Please restart your terminal and run: caly-xano opencode init" "WARN" | |
| return $false | |
| } | |
| try { | |
| caly-xano opencode init | |
| if ($LASTEXITCODE -ne 0) { | |
| Write-Log "Native host configuration command failed with exit code $LASTEXITCODE" "ERROR" | |
| return $false | |
| } | |
| return $true | |
| } |
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@packages/cli/scripts/installer/install.ps1` around lines 257 - 265, After
calling the native command caly-xano opencode init in the try block, explicitly
check PowerShell's $LASTEXITCODE and treat any non-zero value as failure: if
$LASTEXITCODE -ne 0, log an error (using Write-Log) including the exit code and
any relevant output, then return $false (or throw) instead of returning $true;
only return $true when $LASTEXITCODE is 0. This change should be made in the try
block immediately after invoking caly-xano opencode init to ensure failures from
the native executable are not treated as success.
| if ! command -v caly-xano >/dev/null 2>&1; then | ||
| warn "Cannot configure native host: 'caly-xano' command not found in PATH" | ||
| warn "Please restart your terminal and run: caly-xano opencode init" | ||
| return 1 |
There was a problem hiding this comment.
Non-zero return here aborts install flow unexpectedly.
At Line 334, return 1 causes the script to exit (because set -e is enabled) even though this path is framed as a warning/retry-later case.
Suggested fix
- if ! command -v caly-xano >/dev/null 2>&1; then
+ if ! command -v caly-xano >/dev/null 2>&1; then
warn "Cannot configure native host: 'caly-xano' command not found in PATH"
warn "Please restart your terminal and run: caly-xano opencode init"
- return 1
+ return 0
fi📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| if ! command -v caly-xano >/dev/null 2>&1; then | |
| warn "Cannot configure native host: 'caly-xano' command not found in PATH" | |
| warn "Please restart your terminal and run: caly-xano opencode init" | |
| return 1 | |
| if ! command -v caly-xano >/dev/null 2>&1; then | |
| warn "Cannot configure native host: 'caly-xano' command not found in PATH" | |
| warn "Please restart your terminal and run: caly-xano opencode init" | |
| return 0 | |
| fi |
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@packages/cli/scripts/installer/install.sh` around lines 331 - 334, The check
for the 'caly-xano' binary currently calls "return 1" after issuing warnings,
which under set -e aborts the whole install; update the caly-xano existence
branch (the block that runs "if ! command -v caly-xano >/dev/null 2>&1; then")
to not return a non-zero status—replace "return 1" with a non-failing outcome
(e.g., "return 0" or simply omit the return) so the script continues the install
flow while still emitting the warning.
| caly-xano registry-scaffold | ||
| ``` | ||
| 2. Serve your registry locally or host it on an object storage (or [advanced] recreate a Xano api that would deliver the required JSON objects on demand --> this could allow you to add auth as well) | ||
|
|
||
| ``` | ||
| xano serve-registry | ||
| caly-xano serve-registry | ||
| ``` | ||
|
|
||
| 3. Use the registry and it's content in `xano` | ||
| 3. Use the registry and it's content in `caly-xano` | ||
| ``` | ||
| xano registry-add --components <coma separated component names> --registry <registry url> | ||
| caly-xano registry-add --components <coma separated component names> --registry <registry url> | ||
| ``` |
There was a problem hiding this comment.
Use the current command syntax in registry examples (these forms are stale).
The README still shows hyphenated forms (registry-scaffold, serve-registry, registry-add) and --components, while current docs/CLI usage is space-separated subcommands with positional components (e.g., registry add [components...]). This will mislead users and can fail on copy-paste.
Proposed fix
- caly-xano registry-scaffold
+ caly-xano registry scaffold
@@
- caly-xano serve-registry
+ caly-xano serve registry
@@
-3. Use the registry and it's content in `caly-xano`
+3. Use the registry and its content in `caly-xano`
```
- caly-xano registry-add --components <coma separated component names> --registry <registry url>
+ caly-xano registry add <comma-separated component names> --registry <registry url>
```📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| caly-xano registry-scaffold | |
| ``` | |
| 2. Serve your registry locally or host it on an object storage (or [advanced] recreate a Xano api that would deliver the required JSON objects on demand --> this could allow you to add auth as well) | |
| ``` | |
| xano serve-registry | |
| caly-xano serve-registry | |
| ``` | |
| 3. Use the registry and it's content in `xano` | |
| 3. Use the registry and it's content in `caly-xano` | |
| ``` | |
| xano registry-add --components <coma separated component names> --registry <registry url> | |
| caly-xano registry-add --components <coma separated component names> --registry <registry url> | |
| ``` |
🧰 Tools
🪛 markdownlint-cli2 (0.22.0)
[warning] 68-68: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
[warning] 73-73: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@README.md` around lines 64 - 75, Update the README command examples to the
current CLI syntax: replace the hyphenated commands "caly-xano
registry-scaffold", "caly-xano serve-registry", and "caly-xano registry-add
--components <...>" with space-separated subcommands and positional components,
e.g. "caly-xano registry scaffold", "caly-xano registry serve" (or the correct
subcommand name for serving), and "caly-xano registry add <comma-separated
component names> --registry <registry url>", and also fix the typo "coma" ->
"comma-separated".
| ``` | ||
| xano serve-registry | ||
| caly-xano serve-registry | ||
| ``` | ||
|
|
||
| 3. Use the registry and it's content in `xano` | ||
| 3. Use the registry and it's content in `caly-xano` | ||
| ``` |
There was a problem hiding this comment.
Add fenced code languages to satisfy markdownlint MD040.
The updated fenced blocks in this section should declare a language.
Proposed fix
- ```
+ ```bash
caly-xano serve registry
```
@@
- ```
+ ```bash
caly-xano registry add <comma-separated component names> --registry <registry url>
```🧰 Tools
🪛 markdownlint-cli2 (0.22.0)
[warning] 68-68: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
[warning] 73-73: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@README.md` around lines 68 - 73, Update the fenced code blocks in README.md
around the caly-xano examples to declare a language (use "bash") and apply the
corrected command text from the proposal: change "caly-xano serve-registry" to
"caly-xano serve registry" and ensure the other block shows "caly-xano registry
add <comma-separated component names> --registry <registry url>" inside a
```bash fenced block; edit the two code fences enclosing those commands
accordingly.
xanotocaly-xanoto clearly separate the current project from the core Xano CLI.Summary by CodeRabbit
Release Notes
Breaking Changes
xanotocaly-xano. Update your workflows and scripts accordingly.New Features
Documentation
Chores