# Git 運用ルール (Git Conventions)

Git 操作（ブランチ作成・コミット・PR）を行うときは常に本ルールに従うこと．
push・PR 作成・マージ・クリーンアップの具体的な手順とトラブルシューティング（コンフリクト解消・誤コミット復旧）は `.claude/skills/commit/reference.md` を参照する．

## 基本方針 (Basic Policy)

コードの整合性を保ち，手戻りを防ぐために，開発モード（solo / team）を問わず以下の運用を徹底する．

- **メインブランチ (main)**:
  - 本番環境または常に動作可能な状態を維持するブランチ．
  - 直接のコミット（直プッシュ）は禁止する．必ずプルリクエスト（PR）経由でマージする．
- **作業ブランチ (Feature Branch)**:
  - 機能追加やバグ修正ごとに `main` から派生させて作成する．
  - 作業完了後，`main` へマージし，原則として削除する．
- **`.gitignore`**:
  - リポジトリ作成時に必ず整備する．
  - ビルド成果物，依存パッケージ（`node_modules/` 等），環境変数ファイル（`.env` 等）は必ず除外する．
  - `git add .` を安全に使うための前提条件であるため，メンバー追加時にも確認する．

## ブランチ命名規則 (Branch Naming)

### プレフィックス (Prefix)

作業の種類を一目で判別するために，以下のプレフィックスを使用する．

| プレフィックス | 用途 |
| --- | --- |
| `feature/` | 新機能の実装，仕様変更 |
| `fix/` | バグ修正 |
| `refactor/` | コードの整理（挙動は変えない） |
| `docs/` | ドキュメントの追記・修正 |
| `chore/` | ビルド設定やツール導入など，雑多な作業 |

### 書式 (Format)

- 書式: `[プレフィックス][概要]`
- 区切り: スラッシュ `/` を使用する．概要内の単語区切りはハイフン `-` を使用する．
- 概要: 作業内容を端的に表す英単語 2〜4 語程度（小文字）とする．
- 例:
  - `feature/player-jump`
  - `fix/collision-bug`
  - `docs/guide-update`

## コミットメッセージ (Commit Messages)

### 書式

- 書式: `[タグ] 内容`
- 言語: 日本語
- 句読点: 末尾に句点は不要

### タグ一覧

| タグ | 用途 |
| --- | --- |
| `[add]` | ファイルや機能の追加 |
| `[update]` | 機能やデータの更新・修正 |
| `[fix]` | バグ修正 |
| `[remove]` | 削除 |
| `[clean]` | 整理，リファクタリング |

## コミットの粒度 (Commit Granularity)

- 作業単位（意味のあるまとまり）ごとにコミットする．
- 巨大なコミットは避け，レビューしやすい粒度を心がける．
- PR の `--title` はコミットメッセージと同じ書式（`[タグ] 内容`）とする．
