✨ Auto Gitmoji & Docs

A KueTech Digital product
Free · Local · Privacy-first · No AI
Insert Gitmojis into Git commit messages and docstrings from a JSON dictionary on your machine — no AI, no backend, no API calls for core features.
🎯 Features
| Feature |
Emoji |
Description |
| Offline matching |
📋 |
~75 official gitmoji entries in data/gitmoji-map.json + regex — fix → 🐛, feat → ✨, docs → 📝 |
| Shortcodes |
🏷️ |
autoGitmoji.outputFormat: emoji (🐛) or code (:bug:) for GitLab / plain logs |
| SCM IntelliSense |
⌨️ |
Type : in the commit box for local colon completion (:bug, :memo, …) |
| As-you-type auto-match |
⚡ |
Optional (autoGitmoji.autoMatch) — inserts once you type fix: … |
| Project mappings |
📁 |
.vscode/auto-gitmoji.json or .gitmoji-map.json for team-shared keywords |
| Custom mappings |
🧩 |
Override or extend the dictionary from your settings |
| Status bar hint |
👀 |
See the emoji before applying it; click to insert |
| Format commit |
💬 |
Git SCM input box — one command |
| Format docstring |
📝 |
First line of selection or current line |
| Quick-pick |
🎨 |
Choose any Gitmoji from the full dictionary |
| Support panel |
☕ |
QR donate image + Buy Me a Coffee + kuetech.at |
| First-install welcome |
👋 |
One-time thank-you (not spam) |
🏢 KueTech Digital
🖥️ Works in Cursor?
✅ Yes. Cursor uses the same VS Code extension host.
- Install from Open VSX (search Auto Gitmoji & Docs in Cursor)
- Or install from a
.vsix file
- Enable the built-in Git extension if commit formatting does nothing
📖 PUBLISHING.md — install & publish guide
⌨️ Commands
| Command |
Shortcut |
What it does |
Auto Gitmoji: Format Commit Message |
Ctrl+Alt+G |
💬 Add Gitmoji to Git commit box |
Auto Gitmoji: Pick Gitmoji for Commit |
SCM smiley button |
Choose a Gitmoji for the selected repository |
Auto Gitmoji: Pick and Insert Gitmoji |
Ctrl+Alt+M |
🎨 Choose emoji from list |
Auto Gitmoji: Format Docstring / Comment |
— |
📝 Add Gitmoji to comment/doc line |
Auto Gitmoji: Open Dictionary |
— |
📖 Inspect the active mappings |
Auto Gitmoji: Support the Developer |
— |
☕ KueTech Digital support webview |
On macOS use Cmd instead of Ctrl.
SCM toolbar: Use the smiley icon to pick any Gitmoji for that repository, or the Git commit icon to format from a matching keyword. The commit picker works even with a file editor open and honors the emoji/shortcode and position settings.
In multi-repository workspaces, toolbar commands target their own repository. Other commit commands prefer the selected Source Control repository, then the active or visible editor's repository. If the destination is still ambiguous, select a repository first. A picker never overwrites a commit draft changed while it was open.
The editor picker keeps its original editor and selections, including multiple cursors. If the document changes while the picker is open, reopen the picker to insert safely.
Commit formatting preserves the body, trailers, indentation and line endings. Existing Gitmojis before the subject or after a conventional type are left unchanged, including during auto-match.
Status bar: When your commit message matches a keyword, the emoji appears in the status bar — click it to apply.
📖 Examples
| Before |
After |
feat: add login |
✨ feat: add login |
fix: crash on save |
🐛 fix: crash on save |
docs: api guide |
📝 docs: api guide |
refactor: auth module |
♻️ refactor: auth module |
perf: reduce bundle size |
⚡️ perf: reduce bundle size |
test: add unit tests |
🧪 test: add unit tests |
chore: bump deps |
🔧 chore: bump deps |
security: sanitize input |
🔒️ security: sanitize input |
Supports Conventional Commits: type(scope): message and simple type: message formats.
⚙️ Settings
| Setting |
Default |
Description |
autoGitmoji.customMappings |
[] |
🧩 Your own keyword-to-emoji entries |
autoGitmoji.outputFormat |
emoji |
Insert Unicode emoji (🐛) or shortcode (:bug:) |
autoGitmoji.autoMatch |
false |
As-you-type insert once a conventional type is typed (fix: …) |
autoGitmoji.onlyCustomMappings |
false |
Hide the bundled dictionary (company icon sets) |
autoGitmoji.position |
prefix |
Emoji at the start, or after the commit type |
autoGitmoji.showStatusBar |
true |
Show the suggested emoji in the status bar |
autoGitmoji.formatOnFocusLoss |
false |
Format the commit box when the window loses focus |
autoGitmoji.notifyOnMajorUpdates |
true |
One-time reminder after major updates |
autoGitmoji.buyMeACoffeeUrl |
buymeacoffee.com/kuetech |
☕ Support link |
autoGitmoji.websiteUrl |
kuetech.at |
🌐 Company website |
⌨️ SCM colon completion
In the Source Control commit message box (or a COMMIT_EDITMSG file), type : to open IntelliSense backed by the local dictionary. Filter with :bug, :memo, :ambulance, or a keyword alias like :docs. Inserted text follows autoGitmoji.outputFormat.
📁 Project-local mappings
Commit a shared dictionary for the team (no per-user settings). First file found wins:
.vscode/auto-gitmoji.json
.gitmoji-map.json
{
"mappings": [
{
"keywords": ["ship", "launch"],
"gitmoji": "🚢",
"code": ":ship:",
"name": "ship",
"description": "Ship it"
}
]
}
Merge order: built-in → workspace file → autoGitmoji.customMappings.
🧩 Custom mappings
Add your own keywords in settings.json. A keyword defined here overrides the bundled entry:
{
"autoGitmoji.customMappings": [
{
"keywords": ["ship", "launch"],
"gitmoji": "🚢",
"description": "Ship it"
},
{ "keywords": ["wip"], "gitmoji": "🏗️" }
]
}
Run Auto Gitmoji: Open Dictionary to see the merged result.
🔒 Privacy & security
| Question |
Answer |
| Does it send my code to the cloud? |
❌ No — matching is 100% local |
| Does it use AI? |
❌ No |
| Does it need API keys? |
❌ No |
| When does it use the network? |
Only if you click Buy Me a Coffee or visit kuetech.at in the Support panel |
| Where is data stored? |
gitmoji-map.json ships with the extension — you can extend it |
See SECURITY.md in the repository root.
🧠 How matching works
- 📋 Read keywords from
data/gitmoji-map.json
- 🔍 Parse commit type (
fix:, feat(scope):, or first word)
- 🚫 Skip if a Gitmoji is already at the start
- ✨ Prepend the best match (longest keyword wins)
No network. No ML. No surprises.
🛠️ Development
npm install
npm run compile
npm run lint
Press F5 to run the Extension Development Host.
npm run package # builds .vsix
🚀 Publish
Publisher: kuetech (KueTech Digital). Open VSX first (Cursor), then optionally the VS Marketplace — PUBLISHING.md
🤝 Contributing
CONTRIBUTING.md — add keyword → Gitmoji mappings via pull request.
📄 License
MIT © KueTech Digital
⭐ Star on GitHub ·
☕ Buy me a coffee ·
🌐 kuetech.at