mcpField
S
smart-commit

smart-commit

github.com/jackjin1997開発1353 回インストール20 週間前に更新
リポジトリ

smart-commit について

smart-commitは、コード変更をもとにLLMでコミットメッセージを作成するGit向けスキルです。対話式の新規コミット、直前のコミットの修正、複数コミットのスカッシュに対応します。

主な機能

  1. 01コード差分からメッセージを生成
  2. 02対話式コミットで対象ファイルを確認
  3. 03直前のコミットメッセージを修正
  4. 04複数コミットをまとめたメッセージを作成

活用シーン

  1. 01選択したファイルをコミット
  2. 02変更に合わせて直前のメッセージを修正
  3. 03最近の複数コミットを一つに統合

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/jackjin1997/clawforge --skill smart-commit

インストール後、Claude Code で/smart-commitを入力して読み込まれたか確認します。

同梱ファイルreferences/prompts.mdscripts/git_utils.sh

詳細

スマートコミット

LLM を活用した Git コミットメッセージ生成機能です。コードの変更内容から、意味のあるコミットメッセージを作成します。

機能

  1. 直前のコミットを修正 - ステージ済み/未ステージの変更を要約し、直前のコミットメッセージを修正します
  2. コミットをスカッシュ - 直近の N 件のコミットを要約し、統合したコミットを作成します
  3. 対話型コミット - ユーザーと対象ファイルを確認した後、変更を要約して新しいコミットを作成します

クイックスタート

新しいコミットの場合
# Show changed files and ask user confirmation
git status

# After confirmation, summarize changes with LLM
# Create commit with generated message
修正の場合
# Get diff of changes to amend
git diff --cached  # staged
git diff HEAD~1    # compared to last commit

# LLM summarizes, then
git commit --amend -m "new message"
スカッシュの場合
# Get last N commit messages and diffs
git log -n N --format="%H %s"

# LLM summarizes, then
git reset --soft HEAD~N
git commit -m "consolidated message"

ワークフローの判断ツリー

User wants git commit help?
├─ "amend" or "修改"? → Amend workflow
├─ "squash" or "合并" + number? → Squash workflow
└─ New commit? → Interactive workflow

修正ワークフロー

  1. 変更を取得します:git diff --cached(ステージ済み)または git diff HEAD~1(直前のコミット以降のすべての変更)
  2. references/prompts.md の「Amend Commit」セクションにあるプロンプトを使って、LLM に送信します
  3. ユーザーが提案されたメッセージを確認します
  4. git commit --amend -m "message"

スカッシュワークフロー

  1. 直近の N 件のコミットを取得します:git log -n N --format="%H|%s|%an|%ad"
  2. 統合した差分を取得します:git diff HEAD~N..HEAD
  3. references/prompts.md の「Squash Commits」セクションにあるプロンプトを使って、LLM に送信します
  4. ユーザーが提案されたメッセージを確認します
  5. git reset --soft HEAD~N && git commit -m "message"

対話型コミットのワークフロー

  1. git status をユーザーに表示します
  2. 含めるファイルをユーザーに確認します
  3. 確認済みのファイルの差分を取得します
  4. references/prompts.md の「New Commit」セクションにあるプロンプトを使って、LLM に送信します
  5. ユーザーが提案されたメッセージを確認します
  6. git add <files> && git commit -m "message"

LLM プロンプト

以下については references/prompts.md を参照してください。

  • 新しいコミットメッセージの生成
  • コミットメッセージの修正
  • スカッシュしたコミットのメッセージ生成

各プロンプトには次の内容が含まれます。

  • Git 差分の入力形式
  • 出力形式の要件
  • スタイルガイドライン(Conventional Commits など)

コメント