GitHub にリポジトリ作ったらこれをやっとけ!
まえおき
大体リポジトリを作ったときに発生する定形業務ってありますよね。本当は自動化したいところなんですが、そのためには言語化することが必要かなと思い筆を取った次第です。個人用は好き勝手やればいいんですけど、それでもこれ参考にいくつかやっといたほうがいいと思います。
リポジトリ作ったらこれをやっとけ!
CI の設定をする
とりあえず Hello, World!! をビルドするだけで良いので CI を組みましょう。このタイミングを逃すと永久にやられません。GitHub Actions であれば YAML をぺろっと貼り付けるだけなのでつらい道のりですが頑張って乗り越え達成しましょう。外部 CI となるともうひと手間発生しますが、そういう場合ももうひと頑張りしてください。
master ブランチを保護する
master ブランチはおいそれと触れては良いものではありません!なので pull request はレビューと CI を通すという設定をリポジトリの「Settings -> Branches」からやっておきましょう。この時 CI の設定がないと master への直接 push は防げないという罠があるので注意。GitHub 謎仕様です。
README.md を書く
最近の言語環境だとプロジェクト作成時に README.md のテンプレートがついてくるものもあるのでそれをプレースホルダーとして置いておくのも良いでしょう。早い段階で環境構築の方法を書いてあげると親切かと思います。できる限り文書化して参入の障壁を下げましょう。
「最低限動く」と言える状態の issue を立てる
「最低限動く」の定義が難しいかもしれませんが、そのプロジェクトのコア中のコアと呼べそうで最大 1 週間、目安で 3 日で終わるような機能を issue として上げましょう。それより大きい粒度だと失敗したときの巻き戻しが難しく、小さい粒度だとソフトウェアの目的が見えづらくなります。
リポジトリ作ったらこれをやっとけ!OSS 編
こちらは OSS として広く開発者を求める場合です。
英語で書こう!
しんどい人にはしんどいですが、OSS として開発をしたいなら英語で書くことをおすすめします。でないと使ってもらえる確率すら減ってしまいますので……。日本人コミュニティのごく一部でしか使われなくていいんじゃーという割り切りがあれば話は別ですが。
メールアドレスを決める
メールアドレスを一つ決めましょう。新しく作れれば良いですが、エイリアス作って関係者を突っ込んでおくのも良いと思います。社で運用するのなら個人のメールアドレスはおすすめしません。メールアドレスは後述するライセンスや Code of Conduct に書いたり、連絡する窓口になります。きちんと別に設定しておきましょう。
ライセンスを定めよう!
OSS を開発していくならばライセンスを設定しておきましょう。ライセンスのあとからの変更は色々と面倒がつきまといます。慎重に決定しましょう。特に GPL 関連のライブラリを扱う場合は注意して定めてください!
CODE_OF_CONDUCT.md を置く
Code of Conduct とは行動規範とも訳されます。簡単に言えばこのプロジェクト内に置いて差別的な行為はやめましょうねというルール。こちらあたりをコピペって置くと良いんじゃないでしょうか。日本語版もあるので一緒に置いておくと日本人開発者に優しいプロジェクトになるでしょう。
CONTRIBUTING.md を書く
CONTRIBUTING.md には pull request 時に表示される文、意味的にはリポジトリへ貢献するためのガイドラインを書いておきます。といってもはじめは「基本的に PR は issue 立ててから」とか「contribute すると Code of Conduct に同意したことになるからね」くらいを書けば良いと思います。これもあることが大事なのではじめにエイヤッとやってしまいましょう。
おわりに
ほかに足りなさそうなものがあったら教えてください。
Discussion