🥂

応援してくれるCLI

2023/09/17に公開

概要

仕事中、気持ち的に辛い時ってありますよね。
そんな時、ポッとコマンドを打つと、励ましてくれたり、元気つけてくれる言葉を投げかけてくれるCLIがあったらやる気が出ると思います。

そんなことあるかって思わない人向けにコマンドを作ってみました。

作成したリポジトリはこちらになります。

より詳しい感想(むしろメイン)は一番下に書き連ねております。

使い方

READMEにもあるので参考にしていただけると嬉しいです。

以下でインストールしてください。
Goが入ってないと使えないです。すみません🙇‍♂️

go install github.com/yugo-ibuki/cheeyo@latest

以下を入力するだけで良い言葉を投げかけてくれます。

cheeyo

オプション

以下だけです。

-h, --help          help for this
-p, --path  string   words config path
-m, --merge boolean  merge words config

特に使わなくても使えますが、事前に配置されている言葉に加えて、自分でも追加したい場合に使用します。

感想

作るに至った経緯
Goを学ぶ上で何をしようかなと考えていたところ、Webを作るにはアイディアも特になく、GoでWebを作るのはあまり気乗りせず、もっと手軽に何か作るのに適しているものないかなと考えた時に、CLIが一番手軽、かつGoの得意分野ということでCLIを考えました。

今回はGoでCLIをガンガン作ってみよう月間ということで、いくつか作った中の一つになります。
これからもGoでCLIを作っていきたいと思っているので、とても良い勉強になりました。

その中で知り合ったCobraは非常に使いやすく、分かりやすいCLI作成パッケージになるので、恐らくこれから作る時も基本的にはCobraで作成していくかと思います。
Cobraは、GitHub CLIやKubernates、Hugoでも使われているようなので、実用性はかなり高いものと思われます。

そして、CLI作成に当たって複数人のGitHubを参考にさせていただきました。
本人に許可をもらっているわけではないので紹介はしないですが、手元にCloneした他の人のリポジトリをジックリ観察しながら必要な部分を自分のコードに適用していく。
そして、Goの書き方を学ぶといったことという目的にすごい適したやり方でした。

これからGoを学ぼうとしている人は、このやり方でジックリと1〜2週間取り組んでみてから、CLIの大量生産はオススメです。
ただ、短期間で大量生産を目的としているので、大規模なCLIなどは想定しておらず、並列処理や非同期処理についての詳しいことについてはこのCLI作成を通して学べていないので、また別の機会に少し大きめのCLIで実現できそうなアイディアが出て、作成する際に学ぶようにした方が良さそうです。

最後に一言
作ってる時はすごく楽しかったです!

Discussion