この記事ははてなエンジニアアドベントカレンダー2014の8日目です。 今回は、Go言語でサーバ管理ツール Mackerel のコマンドラインツールmkr を作るときに調べたこと、考えたこと、やったことについて紹介します。(mkr は現時点では開発版での提供になります。) コマンドラインツールについて コマンドラインツールを作るにあたって、@deeeet さんの YAPC Asia 2014 での発表資料が非常に参考になります。 書籍 UNIXという考え方ーその思想と哲学 の内容をベースに、コマンドラインツールはどうあるべきかということが丁寧に説明されています。 上記資料から引用させていただくと、コマンドラインツールにおいて重要なポイントは以下の7つであるとされています。 1つのことに集中している 直感的に使える 他のツールと連携できる 利用を助けてくれる 適切なデフォルト値を持ち設定もでき
![Go言語によるCLIツール開発とUNIX哲学について - ゆううきブログ](https://cdn-ak-scissors.b.st-hatena.com/image/square/08eb0b5aec76bcb3be6481522281cd9fc7f3129b/height=288;version=1;width=512/http%3A%2F%2Ff.st-hatena.com%2Fimages%2Ffotolife%2Fy%2Fy_uuki%2F20141208%2F20141208002737.jpg%3F1417980758)