Skip to content

feat: shipnode completion — shell completion for bash/zsh/fish #11

Description

@devalade

What to build

Add a shipnode completion <bash|zsh|fish> command that emits a shell-completion script to stdout, following the standard pattern (e.g. kubectl completion zsh, gh completion -s zsh).

Completion should cover:

  • Subcommands and their subsubcommands (env pull, backup list, user remove, config show, etc.)
  • All flags, with descriptions where helpful (--dry-run, --follow, --source, --file, --lines, --steps, etc.)
  • Dynamic values where cheap to compute:

Static completion (subcommands + flags) is enough to ship v1; dynamic completions can land as a follow-up.

Acceptance criteria

  • shipnode completion bash | source enables completion in the current bash session
  • shipnode completion zsh > \"${fpath[1]}/_shipnode\" works, then compinit picks it up
  • shipnode completion fish | source works in fish
  • Tab-completing shipnode <TAB> lists all top-level subcommands
  • Tab-completing shipnode env <TAB> lists diff, pull, plus the flags for push
  • Tab-completing shipnode logs --source <TAB> (v1 dynamic) lists pm2 caddy system all
  • README section: one-liner install for each shell

Blocked by

None - can start immediately (dynamic completions for --preset depend on #11)

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions