45 lines
2.5 KiB
Markdown
45 lines
2.5 KiB
Markdown
# 自動コミットメッセージ生成コマンド
|
||
|
||
このコマンドは、ステージングされたファイルに対して適切なコミットメッセージを自動生成してコミットします。
|
||
特に指示がなければ日本語でコミットメッセージを作成してください。
|
||
|
||
## 手順
|
||
|
||
1. まず、コミット対象のステージングされたファイルがあるか確認
|
||
2. ステージングされたファイルがない場合は、未追跡ファイルを確認して追加を提案
|
||
3. ステージングされた変更を分析して、何が変更されたかを理解
|
||
4. 以下の観点から適切なコミットメッセージを生成:
|
||
- 変更の種類(feat, fix, docs, refactor, test, chore など)
|
||
- スコープ(影響を受けるファイル/コンポーネント)を括弧で追加
|
||
- 変更の内容を簡潔に記述
|
||
- 破壊的変更がある場合は "!" または "BREAKING CHANGE:" を追加
|
||
5. 生成されたメッセージでコミットを作成
|
||
|
||
## 引数
|
||
|
||
$ARGUMENTS (オプション) - 追加のコンテキストや特定のコミットメッセージ要件
|
||
|
||
## 実装詳細
|
||
|
||
1. `git status` を実行して現在の状態を確認
|
||
2. `git diff --staged` を実行して変更内容を分析
|
||
3. 分析結果に基づいて:
|
||
- 新規ファイル: "feat:" または "docs:" を使用
|
||
- バグ修正: "fix:" を使用
|
||
- リファクタリング: "refactor:" を使用
|
||
- パフォーマンス改善: "perf:" を使用
|
||
- テスト: "test:" を使用
|
||
- ビルド・依存関係: "build:" または "chore:" を使用
|
||
- 削除・クリーンアップ: "chore:" を使用(例: chore: remove deprecated files)
|
||
- スコープ: 影響範囲を括弧で追加(例: feat(api): add endpoint, fix(auth): resolve login issue)
|
||
- 破壊的変更: タイプの後に "!" を追加、またはフッターに "BREAKING CHANGE:" を記述
|
||
4. Conventional Commits v1.0.0 形式に従った簡潔なコミットメッセージを生成
|
||
5. `git commit -m "生成されたメッセージ"` を実行
|
||
6. コミット結果を表示して成功を確認
|
||
|
||
## エラーハンドリング
|
||
|
||
- ステージングされたファイルがない場合は、ユーザーに通知して特定のファイルをステージングするか確認
|
||
- コミットが失敗した場合は、エラーを表示して解決策を提案
|
||
- 適切なメッセージを判断できない場合は、ユーザーに入力を求める
|