
こんな感じで選択でき、troubleshoot kill-port 8080 みたいな感じで実行できる。
モチベ: 似ているローカル関数が増えてきた

最近、トラブルシューティング用のzsh関数を乱造しているのだが(shoot-kill-portみたいな)、増えすぎて流石に視認性が悪くなってきた。どれが何かコメントなしでは分からない(上の例はサンプルで作ったものなのでパッと見でギリ分かるが)。
just-cliを使ってローカル関数をまとめる
やり方はカンタン。以下のようなレシピファイルを用意してエイリアスを設定するだけ。
alias troubleshoot="just -f $HOME/just/troubleshoot.just --"
troubleshoot.justの中身
# ポートを使用中のプロセスを終了する kill-port port: lsof -ti:{{port}} | xargs -r kill # ローカルDBを作り直して初期データを投入する reset-db: docker compose down db docker volume rm app_db_data || true docker compose up -d db pnpm db:migrate pnpm db:seed # コンテナ内でシェルを起動する shell service: docker compose exec {{service}} sh # 使えるコマンド一覧を表示する [default] help: @just -f {{justfile()}} --list
これで補完とかも効くようになる(justのセットアップはしておく必要ある)。

コマンドを指定しなければhelpが表示される(↓)。

余談
just-cli、ずっと前から存在は知ってたんだけど、「ちょっといいmakeじゃねえか」の気持ちが拭えずに使ってなかった。今回zsh関数をまとめるものとして再定義してようやく腹落ちした。本来のユースケースっぽい、プロジェクトローカルの関数を定義する用途としてはどうなんですかね。