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
|
|
@ -2,6 +2,7 @@ package cli
|
|||
|
||||
import (
|
||||
"fmt"
|
||||
"strings"
|
||||
|
||||
"banger/internal/config"
|
||||
"banger/internal/daemon"
|
||||
|
|
@ -21,7 +22,7 @@ func newSSHConfigCommand() *cobra.Command {
|
|||
)
|
||||
cmd := &cobra.Command{
|
||||
Use: "ssh-config",
|
||||
Short: "Manage the optional `ssh <name>.vm` shortcut",
|
||||
Short: "Enable plain 'ssh <name>.vm' from any terminal",
|
||||
Long: `Banger keeps a self-contained SSH client config under its own config
|
||||
directory (never touching ~/.ssh/config on its own). Opt in to the
|
||||
convenience shortcut that lets you run 'ssh <name>.vm' from any
|
||||
|
|
@ -30,7 +31,15 @@ terminal, bypassing 'banger vm ssh':
|
|||
banger ssh-config # print status + copy-paste snippet
|
||||
banger ssh-config --install # add an Include line to ~/.ssh/config
|
||||
banger ssh-config --uninstall # remove banger's Include from ~/.ssh/config
|
||||
|
||||
After --install, 'ssh agent.vm' works the same as 'banger vm ssh
|
||||
agent', including for tools like rsync, scp, and editor remotes.
|
||||
`,
|
||||
Example: strings.TrimSpace(`
|
||||
banger ssh-config --install
|
||||
ssh agent.vm
|
||||
rsync -avz ./code agent.vm:/root/repo/
|
||||
`),
|
||||
Args: noArgsUsage("usage: banger ssh-config [--install|--uninstall]"),
|
||||
RunE: func(cmd *cobra.Command, args []string) error {
|
||||
if install && uninstall {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue