gulpコマンド自体がzsh向けの補完機能を持っていたりします。 なので、zshでgulpのタスク名を自動補完できるようにするには、次の1行を~/.zshrcに追加するだけです。 eval "$(gulp --completion=zsh)" bashなら、~/.bashrcとか~/.profileに次の1行を追加します。 eval "$(gulp --completion=bash)" これで、gulpのあとにtabを入力することで、タスクが補完されるようになります。 $ gulp <TAB> clean default script test watch なお、gulp --completion=zshを実行したらわかりますが、単に次のファイルを出力しているだけみたいです。 gulp/completion/zsh at master · gulpjs/gulp · GitHub このソ