GitHub Template
GitHubのレポジトリのSettingsGeneralで 一番上にあるRepository nameの直下にあるTemplate repositoryのところに チェックを入れるとそのレポジトリはテンプレートとして使えるようになります。
レポジトリの中身は特に特別なものはなく、通常のレポジトリでもなんでも出来ます。
テンプレートにすると こんな感じのUse this templateなボタンが現れるので、そこから create a new repositoryを選ぶとそのテンプレートの中身を初期状態として 新しいレポジトリの作成ができます。
このボタン、画面幅が短い状態でレポジトリを表示すると見えないのでない場合はちょっとブラウザを広げてみてください。
レポジトリの作成などは通常の新規作成と一緒で、単に最初にテンプレートの内容がInitial commit
として入っているだけです。
Forkと違いもととなるレポジトリのcommit履歴を引き継ぎません。 また、Forkは同じアカウント内では出来ませんがテンプレートの引き継ぎは同じアカウント内のものでも可能です。
python-template
Python用のレポジトリを何度か作って同じ様な初期設定をすることが多かったのでテンプレート化しました。
Poetryで管理するPythonプロジェクトのレポジトリ用のテンプレート。
使い方は テンプレートを使ってレポジトリを作成したら手元にcloneして、 setup.sh を実行します。
このsetup.shの先頭の方にレポジトリの設定があるので必要であれば変更します。
主には
py_ver
: 対応するPython Version。デフォルトでは"3.10"
のみ。複数を"3.10, 3.9, 3.8"
のように指定することも可。このバージョンはpyproject.tomlでの対応状況、GitHub Actionsでのテストで対応するPythonバージョンになります。py_main
: GitHub Actionsでのテストでmainとするバージョン。デフォルトではpy_ver
で最初に書かれたバージョン。os
: GitHub Actionsでテストする環境。デフォルトは"ubuntu-latest"
。複数のOSに対応させたい場合はカンマ区切りで。os_main
: GitHub Actionsでのテストでmainとするos。デフォルトはos
の最初に書かれたもの。cli
: Poetryの設定でCLIのコマンドを導入するかどうか。"yes"
or"no"
(デフォルトは"no"
)
これらを良しなに変更して./setup.sh
を実行すると、
- pyproject.tomlの設置。
name
をレポジトリ名に、author
をgit config --get user.name
で取得したものに、などに設定。
- src/の下にレポジトリ名のディレクトリを作成し、その下に
__init__.py
を置いた状態に。 - tests/の下にpytes用のディレクトリを用意。
- 初期状態ではバージョンチェックのスクリプトを設置。
- .github/workflows/test.ymlの設置。
- python-actionを使ったpytestなどを実行するAction。
- .pre-commit-config.yamlを設置。
- pyproject-pre-commitを使ったpre-commit。
- README.mdの書き換え。
- もとのテンプレートのものを削除し、GitHub Actionsの結果のバッジなどを設置。
- 開発時の設定やテストの実行方法などを追記。
- LICENSE内の年、名前の設定。
- 名前は
git config --get user.name
で取得したもの。 - また、LICENSEはApache 2.0のものを使っていますがレポジトリのLICENSEを変更したい場合は変更を。
- 名前は
- renovate.jsonの設置。
- 毎週月曜の朝にアップデートするように設定。
といった事が設定されたレポジトリが出来ます。
使用例