random-emoji-commit
v1.0.6
Published
Append a random emoji to your commit subject (prepare-commit-msg hook).
Readme
random-emoji-commit
Append a random emoji to your Git commit subject via a prepare-commit-msg hook.
Because your git log deserves vibes ✨
Quick Start
# 1) install the package
npm i -D random-emoji-commit
# 2) install the git hook
npx random-emoji-commit installNow commit as usual:
git commit -m "feat: add search"
# becomes -> "feat: add search 🚀"Uninstall:
npx random-emoji-commit uninstallWhat It Does
Hooks into
prepare-commit-msg(runs before the commit is finalized).Looks at the first non-comment line (your subject).
If the subject doesn’t already end with an emoji, it appends one.
Detects Conventional Commit types (e.g.,
feat,fix,docs) and prefers a matching emoji when possible.Skips:
- Merge commits (
Merge branch …) - Reverts (
Revert …) - Any message containing
[no-emoji]
- Merge commits (
Examples
1) Standard commit
git commit -m "feat: user can reset password"
# -> "feat: user can reset password 🚀"2) Conventional type mapping
If your subject starts with a known type, it biases emojis:
feat:→ 🚀 ✨ 🎯fix:→ 🐛 🔧 ✅docs:→ 📝test:→ 🧪 ✅chore:→ ♻️
git commit -m "fix: handle null cart"
# -> "fix: handle null cart 🐛"3) Already has an emoji → no double-append
git commit -m "refactor: flatten helpers 🧠"
# -> stays the same (no extra emoji)4) Skip once with [no-emoji]
git commit -m "chore: release v1.2.3 [no-emoji]"
# -> unchanged5) Merge/Revert are ignored
git merge feature/login
# -> no emoji addedCommands
# Install hook into .git/hooks/prepare-commit-msg
npx random-emoji-commit install
# Remove hook
npx random-emoji-commit uninstall
# Internal (called by the hook)
random-emoji-commit <path-to-commit-msg-file>Why prepare-commit-msg?
- Runs before the commit is finalized → you see the updated subject immediately.
- Doesn’t require amending or post-processing.
- Plays nicely with commit templates and Conventional Commits.
