Go でCLIツールを作成するときのテンプレート
はじめに
Go でCLIツールを作るときのテンプレートとなるリポジトリを公開しました。
foresukecom/go-cli-template
特徴
本テンプレートの特徴は以下の通りです。
- cobra/viper でCLIツールのベースを作成
コマンドラインインターフェースの構造化(サブコマンド、フラグ管理など)を容易にする Cobra と、設定ファイルや環境変数からの柔軟な設定値読み込みを実現する Viper を採用し、CLIツールの基本的な骨組みを構築済みです。 - VSCode DevContainer
VS Code Dev Containers に対応。ローカル環境を汚すことなく、VS CodeとDockerがインストールされていれば、誰でもすぐに同じ開発環境をコンテナ内に再現できます。Go本体や各種ツールの個別インストールは不要です。 - Github Actions を使用し、各プラットフォームに向けたバイナリファイルを自動生成
リポジトリにgitタグをプッシュするだけで、GitHub Actions が起動し、Linux, macOS, Windowsなど、複数のOS・アーキテクチャに対応した実行バイナリを自動でビルドし、GitHub Releasesに公開します。
モチベーション
Go でCLIツールを作成することが増えたが、初期は定型的な作業が多いのでテンプレート化しました。
個人的な用途で作成したテンプレートでしたが、汎用的な内容が多いので公開してみました。
使い方
本リポジトリのREADME をご覧ください。
サポート
使ってみて、追加で必要な機能などがあればぜひ教えて下さい。
連絡先は以下です。