Custom Emoji Configuration
Customize the emoji "vibes" available in commit-vibes to match your team's style and preferences. You can add your own emoji sets, modify existing ones, or create project-specific vibes.
Understanding Vibes
In commit-vibes, "vibes" are emoji-based mood indicators that you add to your commit messages. Each vibe consists of:
- Value: The emoji and text that appears in the commit message (e.g., "๐ Victory")
- Label: How it appears in the selection menu
- Hint: A helpful description shown when selecting
Default Vibes
commit-vibes comes with 20+ pre-configured vibes including:
- ๐ค Frustrated - When debugging takes forever
- ๐ Victory - When something finally works
- ๐ฅ Big Energy - Refactoring everything
- ๐ It Works... Somehow - No idea why it runs
- ๐ Shipped It - Deployed to production
- And many more...
View all available vibes with:
commit-vibes --list-vibes Creating Custom Vibes
To create your own custom vibes, you'll need to create a configuration file. Currently, this requires modifying the source code, but we're working on a simpler configuration system.
Option 1: Modify the Source (Advanced)
If you've installed commit-vibes locally or cloned the repository:
-
Navigate to the commit-vibes source directory:
Or if you cloned the repo:cd node_modules/commit-vibes/srccd commit-vibes/src -
Open
vibes.js -
Add your custom vibes to the
VIBESarray. Each vibe follows this structure:{ value: "๐จ Your Emoji Text", label: "๐จ Your Emoji Text", hint: "Description of when to use this vibe" }
Vibe Structure Explained
{
value: "๐จ Custom Vibe", // What appears in commit message
label: "๐จ Custom Vibe", // What shows in selection menu
hint: "When you want to express creativity" // Helpful description
} Example Custom Vibes
{
value: "๐งช Testing Time",
label: "๐งช Testing Time",
hint: "Writing tests or fixing test failures"
},
{
value: "๐ Documentation",
label: "๐ Documentation",
hint: "Updating docs or README files"
},
{
value: "๐ฏ Focus Mode",
label: "๐ฏ Focus Mode",
hint: "Deep work session, major feature"
},
{
value: "โ Coffee Break",
label: "โ Coffee Break",
hint: "Quick fixes between breaks"
} Best Practices for Custom Vibes
Emoji Selection
- Use emojis that are widely supported across platforms
- Avoid overly complex or obscure emojis
- Keep emoji + text combinations short (under 30 characters)
- Test that emojis render correctly in your terminal
Naming Conventions
- Keep vibe names descriptive but concise
- Use consistent formatting (emoji + space + text)
- Make hints helpful - explain when to use the vibe
Organization
- Group related vibes together in your array
- Order them by frequency of use (most common first)
- Consider your team's workflow when creating vibes
Project-Specific Vibes
You can create project-specific vibes by modifying the vibes file in a local installation. For example, if you're working on a design system project, you might add:
{
value: "๐จ Design System",
label: "๐จ Design System",
hint: "Updating component library or design tokens"
},
{
value: "๐ Theming",
label: "๐ Theming",
hint: "Working on themes, colors, or styling"
} Recent Vibes Feature
commit-vibes automatically tracks your recently used vibes and shows them at the top of the selection menu for quick access. This makes it easy to reuse your favorite vibes without scrolling through the entire list.
Limitations and Future Improvements
Currently, customizing vibes requires modifying source code. We're working on:
- Configuration file support (
.commit-vibes.json) - CLI commands to add/remove vibes
- Import/export vibe sets
- Team-shared vibe configurations
- Vibe presets for different project types
Troubleshooting
Custom Vibes Not Appearing
- Make sure you saved the
vibes.jsfile - If installed globally, changes might be overwritten on updates
- Try reinstalling or using a local installation
Emojis Not Displaying Correctly
- Ensure your terminal supports emoji rendering
- Check that you're using a modern terminal (iTerm2, Windows Terminal, etc.)
- Some older terminals may not support all emojis
Vibes List Too Long
- Use the recent vibes feature - your most used vibes appear first
- Consider removing vibes you never use
- Group similar vibes together
Sharing Vibe Sets
To share your custom vibes with your team:
- Export your
VIBESarray fromvibes.js - Share the configuration with your team
- Each team member can copy it into their local installation
Note: In the future, we'll support team-shared configurations via config files.
Examples by Use Case
For Frontend Developers
{
value: "๐จ UI Polish",
label: "๐จ UI Polish",
hint: "Improving visual design or UX"
},
{
value: "๐ฑ Responsive",
label: "๐ฑ Responsive",
hint: "Mobile or responsive design work"
},
{
value: "โก Performance",
label: "โก Performance",
hint: "Optimizing load times or rendering"
} For Backend Developers
{
value: "๐ง API Changes",
label: "๐ง API Changes",
hint: "Modifying endpoints or API structure"
},
{
value: "๐๏ธ Database",
label: "๐๏ธ Database",
hint: "Schema changes or queries"
},
{
value: "๐ Security",
label: "๐ Security",
hint: "Security improvements or fixes"
} For DevOps
{
value: "๐ Deployment",
label: "๐ Deployment",
hint: "CI/CD or deployment changes"
},
{
value: "๐ณ Docker",
label: "๐ณ Docker",
hint: "Container or infrastructure changes"
},
{
value: "โ๏ธ Cloud",
label: "โ๏ธ Cloud",
hint: "Cloud infrastructure or services"
}