cli: rewrite help text for AI-driven discovery
Frontier models tend to discover a CLI by running --help, scanning the Long description, and inferring the dominant workflow from the examples. Today's banger help reads like a man page index — every verb has a one-line Short and nothing else. This rewrites the groups (banger, vm, vm workspace, image, kernel, system, ssh-config) so each landing page answers "what is this for, what's the 80% command, what comes next" in three to ten lines, with runnable examples. Also disambiguates the near-twin lifecycle commands so a model reading the subcommand index can tell stop/kill/delete apart at a glance: start Start a stopped VM stop Stop a running VM gracefully restart Stop then start a VM kill Force-kill a VM (use when 'vm stop' hangs) delete Stop a VM and remove its disks (irreversible) vm create / vm ssh / vm logs / vm show pick up Long descriptions and examples for the same reason. No behaviour changes; help text only. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
41ced66a54
commit
35bfac3f13
6 changed files with 251 additions and 30 deletions
|
|
@ -15,8 +15,31 @@ import (
|
|||
func (d *deps) newKernelCommand() *cobra.Command {
|
||||
cmd := &cobra.Command{
|
||||
Use: "kernel",
|
||||
Short: "Manage the local kernel catalog",
|
||||
RunE: helpNoArgs,
|
||||
Short: "Pull and manage Firecracker-compatible kernels",
|
||||
Long: strings.TrimSpace(`
|
||||
Banger boots guests with a separate kernel artifact (vmlinux, plus
|
||||
optional initrd + modules). Kernels are tracked by name in a local
|
||||
catalog so multiple images can share one.
|
||||
|
||||
Most users never run these commands directly: 'banger image pull'
|
||||
auto-pulls the kernel referenced by the catalog entry. Use these
|
||||
commands when you want to inspect what's installed, switch a VM to
|
||||
a different kernel via 'image register --kernel-ref', or import a
|
||||
kernel built locally with scripts/make-*-kernel.sh.
|
||||
|
||||
Subcommands:
|
||||
pull download a cataloged kernel by name
|
||||
list show what's installed (or --available for the catalog)
|
||||
show inspect one entry as JSON
|
||||
rm remove a local kernel
|
||||
import register a kernel built from scripts/make-*-kernel.sh
|
||||
`),
|
||||
Example: strings.TrimSpace(`
|
||||
banger kernel list --available
|
||||
banger kernel pull generic-6.12
|
||||
banger kernel import void-kernel --from build/manual/void-kernel
|
||||
`),
|
||||
RunE: helpNoArgs,
|
||||
}
|
||||
cmd.AddCommand(
|
||||
d.newKernelListCommand(),
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue