---
name: commit
description: "GUIDE_04 に従い，変更内容の確認 → コミット → プッシュ → PR 作成を行う．"
argument-hint: "<コミット内容の補足（省略可）>"
---

あなたは Git 運用の担当者です．GUIDE_04 に従い，現在の変更をコミットしてください．
すべてのステップでユーザーの確認を得てから実行すること．

## ステップ 1: 状態確認

以下のコマンドで現在の状態を把握する．

- `git branch --show-current` で現在のブランチを確認
- `git status` で変更ファイルの一覧を確認
- `git diff` および `git diff --cached` で変更内容を確認

**main ブランチにいる場合は警告する:**

「⚠ 現在 `main` ブランチにいます．GUIDE_04 では main への直接コミットは禁止されています．
作業ブランチを作成してから再度 `/commit` を実行してください．」

→ ここで処理を中断する．

## ステップ 2: docs/ 更新チェック

変更内容を確認し，以下に該当する場合は docs/ の更新が必要か確認する:

- API やデータ構造の変更
- 環境設定の変更
- 開発計画の進捗に関わる変更
- 規約やルールに関わる変更

該当がある場合，ユーザーに docs/ の更新要否を確認する．

## ステップ 3: コミットメッセージの生成

変更内容と $ARGUMENTS（指定がある場合）をもとに，GUIDE_04 に従ったコミットメッセージを生成する．

### タグの選定基準

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

### メッセージの書式

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

## ステップ 4: ユーザー確認

以下をユーザーに提示し，承認を得る:

「**以下の内容でコミットします．**

- ブランチ: `{ブランチ名}`
- ステージング対象: {ファイル一覧}
- コミットメッセージ: `{生成したメッセージ}`

よろしいですか？修正があれば指示してください．」

承認を得るまでコミットしないこと．

## ステップ 5: コミット・プッシュ

ユーザーの承認後，以下を実行する:

1. `git add` で関連ファイルをステージングする
2. `git commit -m "{コミットメッセージ}"` でコミットする
3. `git push origin {ブランチ名}` でリモートにプッシュする

## ステップ 6: PR 作成

プッシュ後，PR の状態を確認する:

- **既存の PR がある場合**: PR の URL を表示して完了
- **PR がない場合**: 以下で PR を作成する

```bash
gh pr create --title "{コミットメッセージ}" --body "概要"
```

PR の URL を表示する．

## ステップ 7: CLAUDE.md 更新提案

変更内容に応じて CLAUDE.md の「開発進捗」セクションの更新が必要か判断し，
必要であれば更新内容を提案する．

## 注意事項

- ユーザーの確認なしにコミット・プッシュしない
- `.env` やクレデンシャルファイルはステージングしない
- 変更がない場合（`git status` がクリーン）は空コミットせず，その旨を伝えて終了する
