sklp completion — shell completion

Every serious CLI ships shell completion. `sklp completion <shell>` emits a script you source from your shell init file — verbs, flags, enum values, and task names from `.sklp/tasks/` all light up under Tab.

Install

Bash

echo 'source <(sklp completion bash)' >> ~/.bashrc

Requires the bash-completion package on most distros. Open a new shell to pick it up.

Zsh

echo 'source <(sklp completion zsh)' >> ~/.zshrc

Or, if you prefer the $fpath route (works with zinit, antidote, etc.):

sklp completion zsh > "${fpath[1]}/_sklp"

Make sure autoload -U compinit && compinit runs after the file lands. The script declares #compdef sklp at the top so it works in both modes.

Fish

sklp completion fish > ~/.config/fish/completions/sklp.fish

Fish picks it up automatically — no shell restart needed.

What gets completed

Troubleshooting

Where it lives in the codebase

The script sources live next to the Go entry point under cmd/sklp/:

Verb and flag lists in the scripts are duplicated from the Go source by hand — they run in the shell, not in Go, so there is no auto-generation. If you add or rename a verb / flag, update all three scripts.