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)

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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