| name | commit |
| description | 整理完了後のコミット・PRに使用。変更のステージング確認、コミットメッセージ生成、人間承認を経てコミットを実行する。 |
Commit(コミット)
概要
整理完了後、成果物を Git にコミットする。
変更内容を確認し、適切なコミットメッセージを生成し、人間パートナーの承認を得てからコミットを実行する。
入力: cleanup 完了済みのワーキングツリー
出力: Git コミット(+ 必要に応じて PR)
原則: コミットは完成品の記録だ。何を変えたかだけでなく、なぜ変えたかを残せ。
Iron Law
人間パートナーの承認なしにコミット・プッシュするな
- 「自動でコミットしておきました」→ 取り消せない操作を勝手にやるな
- 「小さい変更だから確認不要」→ 小さい変更でも git log には永遠に残る
- 「force push で直せる」→ force push は共有ブランチで使うな
いつ使うか
常に:
- cleanup([10])が完了した後
- ワークフローの [11] コミット ステップとして
例外(人間パートナーに確認すること):
- WIP コミット(一時保存目的。メッセージに WIP の理由を書く)
プロセス
1. ステージング確認
git status と git diff で変更内容を確認する。
チェック項目:
- 意図しないファイルが含まれていないか(.env, credentials, node_modules 等)
- cleanup で除去すべきだったファイルが残っていないか
- 変更が1つの論理的な変更にまとまっているか
2. コミットメッセージ生成
以下の情報からコミットメッセージを生成する:
git diff --staged の内容
git log --oneline -10 の既存メッセージスタイル
- requirements.md の要件(あれば)
コミットメッセージの基準:
- 何を変えたかだけでなく、なぜ変えたかを書く
- プロジェクトの既存コミットメッセージのスタイルに合わせる
- 1つのコミットは1つの論理的な変更にする
3. 人間パートナーに提示して承認を得る
以下の形式で提示する:
## コミット内容
### 変更ファイル
- modified: src/auth.ts(認証ロジック修正)
- added: __tests__/auth.test.ts(テスト追加)
- deleted: src/old-auth.ts(旧ファイル削除)
### コミットメッセージ
fix: パスワードリセット時のトークン有効期限チェックを修正
### 確認事項
- テスト全GREEN
- 機密情報なし
- .gitignore 対象外
コミットしてよいですか?