- ブランチ保護ルールを設定(main への直 push 禁止、レビュー必須など)
- マージ後のブランチ自動削除を有効化(Settings → General → Automatically delete head branches)
- ブランチ運用ルールの策定と共有
例:Git-flow
ブランチ 用途 main本番リリース用。常にデプロイ可能な状態 develop開発統合ブランチ。次リリースの最新状態 feature/*機能開発。develop から切って develop へマージ release/*リリース準備。develop から切って main + develop へマージ hotfix/*緊急修正。main から切って main + develop へマージ
- メンバーの招待と権限設定(Admin / Maintain / Write / Read)
- Branch protection で CODEOWNERS によるレビュー必須化
- TypeScript 型チェック(
tsc --noEmit) - ビルド確認
- ESLint
- Prettier / フォーマットチェック
- テスト実行
- PR 時と main マージ時のワークフロー分離
- PR 時:lint / test / build などのチェック
- main マージ時:デプロイ、Docker イメージのビルド・プッシュ、リリースノート生成など
- README.md(プロジェクト概要、セットアップ手順、開発フロー)
-
.gitignoreの設定 - PR テンプレート(
.github/pull_request_template.md) - Issue テンプレート(
.github/ISSUE_TEMPLATE/) - CODEOWNERS ファイル(
.github/CODEOWNERS)※必要に応じて- 特定のファイル/ディレクトリに対してレビュー担当を自動アサインできる
- 例:
/src/frontend/ @org/frontend-team、/terraform/ @org/infra-team
-
.node-versionor.tool-versionsでランタイムバージョン固定 - パッケージマネージャの統一(npm / pnpm / yarn)
- チーム内で使うパッケージマネージャを1つに決め、
package.jsonのpackageManagerフィールドで明示する - 例:
"packageManager": "pnpm@9.15.0"→ Corepack が自動でバージョンを合わせてくれる
- チーム内で使うパッケージマネージャを1つに決め、
-
.editorconfigの配置 - huskyなどGit hooks のセットアップ(lint-staged + pre-commit)
- Dependabot の有効化(セキュリティアラート + バージョンアップデート)
- Secrets / 環境変数の登録(Settings → Secrets and variables)
-
.env.exampleの用意(必要な環境変数の一覧)
- ラベルの整備(bug / feature / chore など)
- Projects ボードとの連携(必要に応じて)
- Releases / タグ運用ルールの決定