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

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

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

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

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

**main ブランチにいる場合は自動でブランチを作成する:**

1. 変更内容から適切なプレフィックス（`feature/`/`fix/`/`docs/`/`chore/`）と英単語 2〜4 語のブランチ名を決定する
2. `git checkout -b {ブランチ名}` で作業ブランチを作成する
3. 以降のステップを続行する

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

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

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

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

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

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

### タグの選定基準

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

### メッセージの書式

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

## ステップ 4: コミット

以下を実行する:

1. `git add` で関連ファイルをステージングする
2. `git commit -m "{コミットメッセージ}"` でコミットする

## ステップ 5: プッシュ・PR・マージ（$ARGUMENTS に指示がある場合のみ）

$ARGUMENTS の指示に応じて，該当する操作のみ実行する．
指示がなければこのステップはすべてスキップする．

### プッシュ・PR 作成

1. `git push origin {ブランチ名}` でリモートにプッシュする
2. PR の状態を確認する:
   - **既存の PR がある場合**: PR の URL を表示して完了
   - **PR がない場合**: 以下で PR を作成する

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

PR の URL を表示する．

### マージ・プル

1. `gh pr merge --merge --delete-branch` で PR をマージする
2. `git checkout master && git pull origin master` でローカルを最新化する

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

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

## 注意事項

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