はじめに
こんにちは。アメリカ在住で独学エンジニアを目指している Taira です。
開発を進めるにあたって、開発ルールを決めたはいいもののどこに載せておくべきか悩みますよね。
その際にCONTRIBUTING.mdに開発ルールを記述するのがいいといわれています。
本日は CONTRIBUTING.md について記事を書いていこうと思います
1. CONTRIBUTING.mdとは?
CONTRIBUTING.md は、そのリポジトリに貢献(コントリビュート)する際のガイドラインを記載するための Markdown ファイルです。
GitHub のリポジトリ直下に置かれ、Issue や Pull Request を作るときに自動で案内される仕組みがあります。
書く内容の例
- GitHub Flow などの開発フロー
- ブランチ命名規則、コミットメッセージの書き方
- Pull Request(PR)のテンプレート
- Issue の作り方(テンプレート)
- コーディング規約(Lint、テストルールなど)
- チェックリストやレビューの流れ
2. 目的は「迷わせないこと」
開発メンバーや外部コントリビューターが迷わずに Issue や PR を出せるようにするのが最大の目的です。
たとえば、
- 「どんな命名規則でブランチを切ればいい?」
- 「コミットは日本語?英語?」
- 「PR 出す前に Lint 通すべき?」
- 「テストコードってどのレイヤーまで書く?」
といった疑問を事前に防ぐことができます。
3. Wiki と何が違うの?
| 比較項目 | CONTRIBUTING.md | Wiki |
|---|---|---|
| GitHub 自動表示 | あり(PR/Issue 作成時にリンク) | なし(手動で案内が必要) |
| 編集方法 | PR としてレビュー可能 | ブラウザ編集(PR レビュー不可) |
| バージョン管理 | Git で管理される | GitHub 独自の履歴管理 |
| 長文構成や階層化 | 苦手(1 ファイル) | 得意(複数ページ・階層構造) |
| 貢献ガイドとの相性 | 高い | 見つけづらくなりがち |
使い分けのコツ
- 開発の入口やルール →
CONTRIBUTING.md - 詳細な操作方法や Tips → Wiki(または
docs/ディレクトリ)
4. よくある構成例
# CONTRIBUTING.md
## 開発フロー
- main ブランチは常にデプロイ可能
- feature/〇〇 ブランチを切って作業
- PRを出し、レビュー後にマージ
## ブランチルール
- feature/xxx 機能追加
- fix/xxx バグ修正
- docs/xxx ドキュメント更新 など
## コミットメッセージ
- 一文で要約:「投稿フォームの作成」
- 補足があれば本文に追記
## PR作成手順
- タイトルは日本語で明確に
- テンプレートを使用
- CIが通っていることを確認
5. まとめ:最初の一歩は「CONTRIBUTING.md」で示そう
-
CONTRIBUTING.mdは、開発メンバー全員が守るルールを明示する場所 - 書いておくだけで、レビュー負荷が減り、PR の質が上がり、参加ハードルが下がる
- Wiki との併用も OK。まずは入口として
CONTRIBUTING.mdに最低限のガイドを書くのがオススメです