gh-dot-tmplを作った
gh-dot-tmplというGitHub CLI拡張を作りました。
.github
以下のファイルのテンプレートをあらかじめ作成しておき、選択したものを現在のリポジトリの.github
フォルダ配下にコピーするだけのコマンドです。
なにかを作る際、新しくリポジトリを作成した後に他の自分のリポジトリから.github
フォルダの中身をコピーする作業が多かったので、その作業をやめるために作成しました。
インストール方法
動作にはghが必要です。 以下のコマンドでインストール可能です。
gh extension install Syu-fu/dot-tmpl
アップデートの際は以下のコマンドを実行します。
gh extension upgrade dot-tmpl
使い方
以下のようなコンフィグファイルを$XDG_CONFIG_HOME/gh-dot-tmpl/config.yaml
に配置します。
テンプレートファイルも同時に用意してください。
templates:
issue:
template_file: ~/.config/gh-dot-tmpl/template/issue.md
output_file: .github/ISSUE_TEMPLATE.md
pr:
template_file: ~/.config/gh-dot-tmpl/template/pullrequest.md
output_file: .github/PULL_REQUEST_TEMPLATE.md
この後、適用するリポジトリ内で以下のコマンドを実行します。
gh dot-tmpl issue pr
するとリポジトリの.github
フォルダ内にISSUE_TEMPLATE.md
とPULL_REQUEST_TEMPLATE.md
が作成されます。
その他細かい機能についてはREADME.mdを参照してください。
ライセンスチェック
これを作っている最中にライセンスチェックもCIに含めたかったのでgo-licensesをGitHub Actionsで簡単に使えるgo-licensesを作ってみました。
こちらは以下のように呼び出せばライセンスの違反を確認できるようにしてあります。
jobs:
license-check:
runs-on: ubuntu-latest
name: license check
steps:
- uses: actions/checkout@v4.1.7
- uses: Syu-fu/go-licenses@v0.1.0
終わりに
今回は開発を快適に進めるため、CI/CDに力を入れて開発してみましたがリポジトリをきれいに保ちやすく、ライブラリの更新も楽なので他のプロジェクトに対しても適用していきたいです。
同じファイルがあるとき強制的に上書きされてしまったり、コンフィグファイルの拡張子が固定されていたりとまだ課題は残っていますが割ときれいに作れたので良ければ使ってみてください。