Repository navigation
Conversation
Adds scripts/cli-drift-check.py and a workflow that compare the skill's command headings, example commands, example flags, and Options lists with the released CLI's own help (the hidden `docs generate` command), plus aliases from `--help`. Mirrors macstadium-docs#422. Documents running it locally in CONTRIBUTING.md. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
5 tasks
celanthe
added a commit
that referenced
this pull request
Oct 23, 2026
… as orka3 OK-6390 landed in releases/cluster/4.0: the binary is orka, and the 4.0 package leaves orka3 installed as the 3.6 CLI. Follows the convention in macstadium-docs #402 and #406. - SKILL.md: new "Which CLI" section. orka is the 4.x CLI, orka3 stays the 3.6 CLI, both install side by side and share the config file and the orka kubeconfig context. No alias ships. Running the 4.0 CLI as orka3 warns on stderr only (verified in main.go). Optional symlink bridge and its caveats as #406 words them; no orka Homebrew cask yet; the legacy 2.x orka note. - Command examples, headings, and anchors across orka3-cli/ now use orka. Intel-only and removed commands and flags, the Intel to Apple silicon migration, the 3.6 AWS post-upgrade step, the 3.6 rb fallback, and the quoted GitLab doc stay orka3. - Workflow examples use orka rbac --role dev instead of the deprecated, hidden rolebinding (rb), with a 3.6 note. vm-config Intel flags are labeled removed in 4.0. Both found by the CLI drift check (skill PR #19) against the 4.0.0 CLI. - Shell completion filenames follow the new command name. - README: CLI usage text mentions both CLIs. The skill name, directory, frontmatter name, and repo are unchanged. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What changed
scripts/cli-drift-check.py(Python standard library only) runs the CLI's hiddendocs generatecommand, reads each command's aliases from--help, and checks every Markdown file underorka3-cli/:## orka3 <command>heading, an example command, an example flag, or an Options list entry that the CLI doesn't have.**Options:**list leaves out. These fail only with--strict.orka3ororka, including inside$(...), after a pipe,&&, or;, with\continuations joined. Aliases such assa,rb,ic,vmc, andregcredresolve to their commands.##group intro are skipped, since Cobra hides deprecated commands from the generated help.--binary-name orka|orka3sets which CLI name is being checked (default: read from the generated help). Against a 4.xorkaCLI,orka3lines and headings are treated as 3.x-only and skipped. Against a 3.x CLI,orkalines are skipped. The summary reports how many were skipped..github/workflows/cli-drift-check.ymlruns on pull requests that touchorka3-cli/**(or the check itself), every Monday, and onworkflow_dispatchwith an optionalcli_versionoverride. It downloads the Linux CLI fromcli-builds-publicthe same way macstadium-docs#422 does. Findings show as PR annotations and in the job summary.Why
Customers' agents ran emulator flags that don't exist (
--device,--cpu,--memory,emulator list --vm), because the skill documented them and nothing compared the skill with the CLI. This mirrors macstadium-docs#422, which does the same for the docs site's CLI reference pages, and reuses its approach: download the released CLI for aCLI_VERSION, generate the help, and compare.Tested
Ran locally against
origin/mainwith the macOS arm64 builds fromcli-builds-public(expanded withpkgutil, not installed). 26 files, 521 example commands.Errors against 3.7.0-alpha:
SKILL.md:88,emulator-commands.md:35,36,37emulator deployexamples use--device,--cpu,--memory(the CLI has--device-profile, and no CPU or memory flags)emulator-commands.md:14emulator deployOptions lists--device,--cpu,--memorySKILL.md:89,emulator-commands.md:48,64emulator listdocuments and uses--vmSKILL.md:154orka3 regcred delete: the subcommand isremoveimage-commands.md:28orka3 image list --arch amd64:image listhas no--archcicd-workflows.md:34,45vm-config create --namespace: VM configs live only inorka-default, andvm-config createhas no--namespaceThe emulator hits are the expected ones and are fixed in other open PRs. The
regcred delete,image list --arch, andvm-config create --namespacehits are new.Warnings against 3.7.0-alpha:
emulator deployOptions leaves out--device-profile,--generate-name,--namespace,--output;emulator listleaves out--namespace;vm deployandvm-config createleave out--display-dpi,--display-height,--display-width,--legacy-io, andvm-config createalso--node.Against 3.6.4 the extra errors are the emulator commands themselves, which 3.6.4 doesn't have. Also checked:
--binary-name orkaskips all 573orka3lines and headings, and a fixture file confirmed that a "Removed in Orka" section is skipped, unknown subcommands are reported, and flags after$(...), pipes, and\continuations are attributed correctly.Notes
3.7.0-alpha, not 3.6.4.latest.jsonreports 3.6.4 as the current release, but the skill documents the 3.7.0-alpha emulator commands, and #422 uses 3.7.0-alpha too. Against 3.6.4 every emulator heading and example fails, so the check would stay red. Say so if you want 3.6.4 instead; it is a one-line change.orka3-cli/references/commands/, and only for commands that have an Options list, so a command with no list isn't warned about.-o,-n) are checked too. Combined short flags like-abcare skipped.🤖 Generated with Claude Code