gitmoji-commits について
gitmoji-commitsは、Gitのコミットを準備する開発者向けのワークフロースキルです。変更の確認、コミットの分割、絵文字の選択、ステージング、簡潔なConventional Commitメッセージの作成を案内します。
主な機能
- 01変更を確認して意図別に分類
- 02コミット境界を計画
- 03種類に応じた絵文字を選択
- 04スコープ付きConventional Commitメッセージの作成
- 05変更をステージして安全性を確認
- 06gitmoji選択スクリプトの利用
活用シーン
- 01混在した作業ツリーからコミットを準備
- 02無関係な変更を別々のコミットに分割
- 03変更の種類に合う絵文字を選択
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ sthbryan/ gitmoji-skill --skill gitmoji-commitsインストール後、Claude Code で/gitmoji-commitsを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
AGENTS.mdLICENSEREADME.md.gitignoreevals/evals.jsonreferences/gitmoji-guide.mdscripts/gitmoji_selector.shtest.sh詳細
Gitmoji コミット
適切な絵文字とスコープを使って、明確で意図の伝わるコミットを作成します。
ワークフロー(順番に実行)
-
作業ツリーを確認する
- 実行:
git status --shortとgit diff --stat - 意図(機能、修正、ドキュメント、テスト、設定)ごとにファイルを分類します。
- 実行:
-
コミットの境界を計画する
- 関連のない作業は別々のコミットに分けます。
- 複数の変更が混在するファイルには
git add -pを使います。
-
絵文字を選ぶ(コアを優先)
- 推奨:
bash scripts/gitmoji_selector.sh --emoji-only "<change summary>" - 判断に迷う場合やまれなケースでは、
references/gitmoji-guide.mdを参照します。
- 推奨:
-
コミットメッセージを作成する
- 形式:
emoji type(scope): subject - 主語は命令形にして簡潔にします(50 文字以内)。
- 形式:
-
意図した変更のみをステージングする
- 実行:
git add <file>またはgit add -p git diff --cached --statで再確認します。
- 実行:
-
コミット前の安全確認
- シークレット、デバッグログ、意図しない変更がないことを確認します。
- コミットの内容がメッセージと一致していることを確認します。
-
コミットして繰り返す
- 実行:
git commit -m "<message>" - 作業ツリーがクリーンになるまで繰り返します。
- 実行:
コミット形式
✨ feat(auth): Add two-factor login
任意の本文:
✨ feat(auth): Add two-factor login
- Add TOTP enrollment and verification
- Update auth service and user model
Closes #123
タイプガイド
Conventional Commits のタイプを使用します:
feat、fix、refactor、docs、test、perf、style、chore、ci、build
一般的なスコープ:auth、api、ui、db、ci、deps
コア絵文字マップ(自動検出)
| タイプ | 絵文字 | キーワード |
|---|---|---|
| 機能 | ✨ | add, new, implement |
| バグ修正 | 🐛 | fix, bug, error |
| 軽微な修正 | 🩹 | typo, quick, one-liner |
| ドキュメント | 📝 | docs, readme, changelog |
| テスト | 🧪 | test, spec, integration |
| リファクタリング | ♻️ | refactor, extract, restructure |
| パフォーマンス | ⚡ | optimize, perf, cache |
| UI/スタイル | 💄 | css, style, ui, theme |
| 依存関係 | 📦 | npm, dependency, package |
| セキュリティ | 🔐 | security, cve, xss |
| 設定 | ⚙️ / 🔧 | config, setup, settings |
| 削除 | 🗑️ | remove, delete, deprecate |
| 大規模変更 | 🔨 | rewrite, redesign, architect |
| デプロイ | 🚀 | deploy, release, ship |
| SEO | 🔍 | seo, metadata |
| i18n | 🗣️ | translate, locale |
| リンター | 🚨 | eslint, prettier |
| 自動化 | 🔄 | github actions, workflow |
| テスト合格 | ✅ | tests passing, green build |
| 依存関係のアップグレード | ⬆️ | upgrade, bump |
| 依存関係のダウングレード | ⬇️ | downgrade |
| 型/タグ | 🏷️ | type definitions, version tags |
| コピー/テキスト | 💬 | copy, strings, text |
| コメント/メモ | 💡 | comment, todo, note |
| モック | 🎭 | mock, stub |
特殊ケース(最優先)
| 絵文字 | 使用する場面 |
|---|---|
| ⏪ | コミットの取り消し |
| 🔀 | マージコミット |
| 🚑 | ホットフィックス |
| 🚧 | 作業中 |
ヘルパースクリプト
# Emoji only (fast)
bash scripts/gitmoji_selector.sh --emoji-only "fix critical bug"
# JSON suggestion
bash scripts/gitmoji_selector.sh "update api docs"
# Full Conventional Commit
bash scripts/gitmoji_selector.sh --conventional feat auth "Add login"
コメント
Markdown 対応