Interactive Python CLI tool for writing better git commit messages following the Conventional Commits specification.
- 🎯 Interactive Mode: Guided workflow for creating well-structured commits
- ⚡ Quick Mode: Fast commits from command line
- 📝 Conventional Commits: Follows industry-standard format (type, scope, description)
⚠️ Breaking Changes: Easy marking of breaking changes- 📋 Extended Descriptions: Optional detailed commit body
- 🔍 Git Status: Quick status overview
- 📖 Type Reference: Built-in commit type descriptions
- Clone this repository:
git clone https://github.com/DonkRonk17/git-commit-helper.git
cd git-commit-helper- Make the script executable (Linux/Mac):
chmod +x commithelp.py- Optional: Add to PATH for global access
Run without arguments for guided commit creation:
python commithelp.pyThe interactive mode will:
- Let you select a commit type from a list
- Prompt for an optional scope
- Ask for a brief description
- Allow extended description (optional)
- Check if it's a breaking change
- Show preview and confirm before committing
Create commits directly from the command line:
# Basic quick commit
python commithelp.py -q feat "Add user authentication"
# Quick commit with scope
python commithelp.py -q fix "Fix login bug" -s auth
# Other examples
python commithelp.py -q docs "Update README"
python commithelp.py -q refactor "Improve database queries" -s db# Show git status
python commithelp.py --status
# List all commit types with descriptions
python commithelp.py --types| Type | Description |
|---|---|
| feat | A new feature |
| fix | A bug fix |
| docs | Documentation only changes |
| style | Code style changes (formatting, etc.) |
| refactor | Code change that neither fixes a bug nor adds a feature |
| perf | Performance improvements |
| test | Adding or correcting tests |
| chore | Build process or auxiliary tool changes |
| build | Build system or external dependency changes |
| ci | CI configuration changes |
| revert | Reverts a previous commit |
The tool generates commits following this format:
<type>[optional scope][!]: <description>
[optional body]
[optional footer]
Examples:
feat: add user registrationfix(auth): resolve token expiration issuefeat(api)!: change authentication endpointdocs: update installation instructions
- ✅ Consistent commit message format across your team
- ✅ Better changelog generation
- ✅ Easier to understand project history
- ✅ Automated versioning support (SemVer)
- ✅ Faster code reviews
- ✅ Professional commit history
- Python 3.6+
- Git installed and in PATH
MIT License - feel free to use and modify!
Contributions welcome! Please feel free to submit a Pull Request.
Created by Randell Logan Smith and Team Brain at Metaphy LLC
Part of the HMSS (Heavenly Morning Star System) ecosystem.