ギターの指板にスケールを表示する CLI ツール「frettler」

frettler という面白い CLI ツールを見つけたので紹介。

ギターやベースの指板を CLI 上に表示し、任意のスケールを表示してくれるツールだ。

実際にどんな感じでコンソール出力されるのかは、以下のデモページを見ると分かりやすい。

便利で面白いツールなのだが、最初にビルドが必要で、JDK16 が必要だったり Maven を使っていたりして、環境を汚すのが嫌だったので Docker コンテナ化してみた。

ベース Docker イメージは以下の maven:3.8.1-openjdk-16 を使用。

Dockerfile を次のように作った。

FROM maven:3.8.1-openjdk-16
WORKDIR /app
RUN git clone https://github.com/philwhiles/frettler.git && \
    cd ./frettler/ && \
    ./build
ENTRYPOINT ["/app/frettler/frettler"]
CMD ["--help"]

ほんで Docker ビルドして…

$ docker build -t frettler:latest .

以下のように実行できるようになった。

$ docker run -it --rm frettler:latest guitar

Bash 関数として宣言してやれば fettler コマンドのように実行できるようになった。

$ function frettler() { docker run -it --rm frettler:latest "$@" ; }
$ frettler guitar

ココまでの内容は GitHub Issues で知らせてみたら公式の README にも取り込んでもらえた。