# make-commit > 変更内容を分析し、Conventional Commits形式でコミットを作成する - Author: Junichiro Imai - Repository: jnicrimi/dotfiles - Version: 20260123002250 - Stars: 0 - Forks: 0 - Last Updated: 2026-02-06 - Source: https://github.com/jnicrimi/dotfiles - Web: https://mule.run/skillshub/@@jnicrimi/dotfiles~make-commit:20260123002250 --- --- name: make-commit description: 変更内容を分析し、Conventional Commits形式でコミットを作成する disable-model-invocation: true --- # make-commit ## 概要 変更内容を分析し、Conventional Commits形式でコミットを作成する。 ## Conventional Commits規則 ### type | type | 説明 | 詳細 | | --- | --- | --- | | feat | 新機能 | - | | fix | バグ修正 | - | | refactor | リファクタリング | バグ修正でも機能追加でもないコード変更 | | docs | ドキュメント | - | | test | テスト | - | | style | スタイル | コードの意味に影響しない変更 | | build | ビルド | ビルドシステムや外部依存関係に影響する変更 | | ci | CI | CI設定ファイルやスクリプトの変更 | | perf | パフォーマンス | パフォーマンスを向上させるコード変更 | | chore | 雑務 | srcやtestファイルを変更しないその他の変更 | ### メッセージ形式 | 項目 | ルール | 例 | | --- | --- | --- | | 基本形式 | `type: description` | `feat: add user authentication` | | type | 常に英語 | `feat`, `fix`, `docs` | | description(英語) | 現在形・命令形で記述 | `add` (not `added` nor `adds`) | | description(日本語) | - | `feat: ユーザー認証機能を追加` | | 文字数制限 | 1行目は72文字以内 | - | ## 実行手順 ### 1. 変更内容の取得 ```bash git status git diff --staged --ignore-all-space --ignore-blank-lines ``` - 変更がない場合 - 「ステージされた変更がありません。」と出力して処理を終了 ### 2. 言語の選択 ```text 🌐 言語の選択 ──────────────────────────────────────── 1. 英語 2. 日本語 (1-2): ``` ユーザーが番号を選択したら以下を実行。 - 有効な番号が選択された場合 - 選択された言語を記録 - 無効な番号が選択された場合 - 「無効な番号です。もう一度番号を選択してください。」と再入力を促す ### 3. コミットメッセージの選択 コミットメッセージの候補を提示。 - **MUST**: 番号が小さいほど推奨度が高い - **SHOULD**: 1〜3グループの候補を提示し、各グループに簡潔版と詳細版を用意する ```text 🤖 コミットメッセージの選択 ──────────────────────────────────────── [ステージされた変更] 💬 コミットメッセージ ──────────────────────────────────────── 理由: [選定理由1] 1. type: concise description (簡潔版) 2. type: detailed descriptive message (詳細版) 理由: [選定理由2] 3. type: alternative concise (簡潔版) 4. type: alternative detailed message (詳細版) (1-4): ``` ### 4. コミットの作成 - 有効な番号が選択された場合 - 選択されたメッセージでコミットを作成 - 無効な番号が選択された場合 - 「無効な番号です。もう一度番号を選択してください。」と再入力を促す