👽
.dockerignoreを生成する「dibo」について紹介
みなさんは、giboというGitの.gitignoreファイルの雛形を生成してくれるCLIをご存知でしょうか。
私自身、fzfと組み合わせてgiboを愛用してます。
一方で、.dockerignoreファイルについてはdocker initで生成できるものの、「これは別にいらないな」というファイルまで含まれてしまうことがあります。
そこで、giboのように.dockerignoreのテンプレートをサクッと生成できるCLIが欲しいと思いそこで作ったのが、dibo(dockerignore boilerplates)です。
diboは、giboと同じ要領で利用できるGo製のCLIになります。
インストールについて
現在、以下の3つの方法でインストール・実行ができます。
Go installを使う
go install github.com/anton-fuji/dibo@latest
Homebrewを使う
brew tap anton-fuji/tap
brew install dibo
Nix Flakesを使う
nix runで実行
nix run github:anton-fuji/dibo -- list
プロファイルへインストール
nix profile install github:anton-fuji/dibo
通常のコマンドと同じように dibo が使えるようになります。
基本的な使い方
.dockerignoreファイルを生成する
こちらは、指定したテンプレートで.dockerignoreファイルを生成します。
dibo init [テンプレート名]
使用可能なテンプレートを確認する
dibo list
出力例
Available templates:
Common
Go
Java
Node
PHP
Python
Ruby
Rust
dotNet
現時点ではテンプレート数が少ないですが、今後順次追加していく予定です。
このlistを利用するときは、ぜひfzfを組み合わせて使ってみてください!

テンプレートを標準出力する
dibo dump [テンプレート名]
テンプレートの内容を確認したい場合や、既存の.dockerignoreに追記したい場合に便利です。
giboを使っている方にはお馴染みの使い方で利用できます。
# Goのテンプレートで作成
dibo dump Go >> .dockerignore
こちらも以下のようにfzfと組み合わせると便利です。
dibo dump $(dibo list | fzf) >> .dockerignore
さいごに
giboほどクオリティの高いものはまだ作れていませんが、今後改善していきたいと思っています。
ぜひ、diboを使ってみてください!🐋
Discussion