⛄️

Go の初期設定を一発でできる cli ツールを作った

2021/12/23に公開

初めに

この記事はCyberAgent 22 新卒 Advent Calendar 2021の23日目の記事です

ネタがなく、困っていた時に Go の初期設定を一発でできる cli があれば自分も使うかなと思ったので作成しました。
思いついた時は絶対既にあると思ったんですが、探してみた感じあるけど継続的にメンテされているのが一つもない?みたいな感じでした。

https://github.com/mmmommm/goinit

インストール

Go

$ go install github.com/mmmommm/goinit@latest

Mac

$ brew install mmmommm/tap/goinit

Windows, Linux etc...

こちらからバイナリファイルをダウンロードしてください。

使い方

$ goinit ${directory_name} -m ${module_name}

(e.g
$ goinit example -m github.com/mmmommm/example

goinit を実行するとコマンド引数に応じてディレクトリが作成され、その中に

が作成されます。
module オプション がある場合は、渡されている値を元に go mod init 引数 が実行され、go.mod ファイルが作成されます。

Dockerfile も作成できたら便利かなと思っているのでそのうち追加しようと考えています。
Makefile に関してはあったらいいなとは思うのですが、使い方もどのようなアプリを作成するかによって変わってくる上に全員が使うようなコマンド(gofmtなど)は、Makefileに書くほどでもないなと思ったので入れていません。

最後に

cobra を使って作ったのでつまるところはあったんですが比較的早く作れました、これからもバージョン更新とかはするつもりなので使ってもらえると嬉しいです。

作成されるファイルの中身でもっと良い書き方や設定、追加した方がいいものなどあればコメントや issue、PR 頂けると助かります。

リリースに関してはbudougumi0617さんの記事を参考にさせていただきました、ありがとうございます。

Discussion