## 経緯 [[Zellij]]みたいに開発用のレイアウトを瞬時に展開したいなと思っていたところ、良さげな[[herdrプラグイン]]を発見したので試してみる。 <div class="link-card-v2"> <div class="link-card-v2-site"> <img class="link-card-v2-site-icon" src="https://github.githubassets.com/favicons/favicon.svg" /> <span class="link-card-v2-site-name">GitHub</span> </div> <div class="link-card-v2-title"> GitHub - yuk1ty/herdr-spreader: Spin up your whole herdr workspace layout — tabs, panes, commands, and all — from a single YAML file. </div> <div class="link-card-v2-content"> Spin up your whole herdr workspace layout — tabs, panes, commands, and all — from a single YAML file. - yuk1ty/h ... </div> <img class="link-card-v2-image" src="https://opengraph.githubassets.com/b399e6151be16c0f90e89404ff2fc32ff3a422032f692d4b962e72a4b47f457a/yuk1ty/herdr-spreader" /> <a href="https://github.com/yuk1ty/herdr-spreader"></a> </div> ## インストール 最初はプラグインとしてインストールしようかと思ったが、その場合は設定が1つしか適応できなそうだったので、[[CLI]]でのインストールに戦略を変更した。 ```console mise use -g cargo:https://github.com/yuk1ty/herdr-spreader@tag:v0.1.1 ``` ## 直感的に使えるコマンドの定義 [[herdr-spreader]]はレイアウトファイルを指定して起動する。 ```console herdr-spreader apply -f <レイアウトのyamlファイル> ``` ただ、毎回これを実行するのは大変なので、[[fzf]]でインクリメンタルサーチした結果を適応するコマンドをつくる。 ```bash alias hds='HDS_PATH="${HDS_PATH}"; herdr-spreader apply -f "$HDS_PATH/$(ls "$HDS_PATH" | fzf)"' ``` `${HDS_PATH}` 配下は以下のようなイメージ。 ```console ${HDS_PATH} └──  jinrai.yaml ``` `jinrai.yaml` は実際のレイアウトファイル。 ```yaml workspaces: - name: JINRAIサイト root: ~/work/jinrai tabs: - label: main panes: # 左ペイン: リポジトリルート(全体の42%) - focus: true command: claude # 右上 - split: right ratio: 0.8 cwd: ./site command: pnpm dev # 右中央 - split: down ratio: 0.33 cwd: ./docs command: uv run zensical serve # 右下 - split: down ratio: 0.5 command: pkill -x JINRAI && ./scripts/make-app.sh && open .build/JINRAI.app ``` あとは `${HDS_PATH}` の配下にyamlファイルを必要なだけ作っていけばよい。