Interactive CLI tool for creating standardized commit messages following conventional commits
Project description
Conventional Commits Generator
Description
Interactive CLI tool for creating standardized commit messages following the conventional commits format. Includes support for commit body, emojis, and advanced commit management features.
Installation
Using pipx (recommended)
pipx install conventional-commits-generator
Using pip
pip install conventional-commits-generator
Development installation
# Clone the GitHub repository
git clone https://github.com/EgydioBNeto/conventional-commits-generator.git
# Navigate into the project directory
cd conventional-commits-generator
# Grant execute permission to the virtual environment setup script
chmod +x scripts/setup_venv.sh
# Run the script to create and set up the virtual environment
./scripts/setup_venv.sh
# Activate the virtual environment
source .venv/bin/activate
Usage
Basic commands
# Create interactive commit
ccg
# Generate commit message without committing
ccg --commit
# Push only without creating commit
ccg --push
# Edit existing commit
ccg --edit
# Delete existing commit
ccg --delete
# Create and push tag
ccg --tag
# Reset local and pull from remote
ccg --reset
# Stage specific files or directories
ccg --path src/ tests/
# Work in a different repository directory
ccg --path /path/to/repo
# Combine --path with other flags
ccg --path /path/to/repo --push
# Show version
ccg --version
Interactive usage example
$ ccg
________ ________ ________
|\ ____\ |\ ____\ |\ ____\
\ \ \___| \ \ \___| \ \ \___|
\ \ \ \ \ \ \ \ \ ___
\ \ \____ \ \ \____ \ \ \|\ \
\ \_______\ \ \_______\ \ \_______\
\|_______| \|_______| \|_______|
Conventional Commits Generator
Repository: my-project Branch: main
┌──────────────────────┐
│ Commit Types │
└──────────────────────┘
1. ✨ feat - A new feature
2. 🐛 fix - A bug fix
3. 🔧 chore - Maintenance tasks
4. ♻️ refactor - Code refactoring
5. 💄 style - Style changes
6. 📚 docs - Documentation
...
Choose the commit type: 1
┌──────────────────────┐
│ Scope │
└──────────────────────┘
Enter the scope (optional): auth
┌──────────────────────┐
│ Breaking Change │
└──────────────────────┘
Is this a BREAKING CHANGE? (y/N): n
┌──────────────────────┐
│ Emoji │
└──────────────────────┘
Include emoji in commit message? (Y/n): n
┌──────────────────────┐
│ Commit Message │
└──────────────────────┘
Enter the commit message: implement OAuth login
┌──────────────────────┐
│ Commit Body │
└──────────────────────┘
Commit body (optional): Added Google OAuth 2.0 support
Integration with existing user system
┌──────────────────────┐
│ Review │
└──────────────────────┘
Commit: feat(auth): implement OAuth login
Body:
Added Google OAuth 2.0 support
Integration with existing user system
Confirm this commit message? (Y/n): y
✓ Commit message confirmed!
┌──────────────────────┐
│ Push Changes │
└──────────────────────┘
Do you want to push these changes? (Y/n): y
✓ Changes pushed successfully!
Commit Types
| Type | Emoji | Description |
|---|---|---|
feat |
✨ | A new feature |
fix |
🐛 | A bug fix |
chore |
🔧 | Maintenance tasks |
refactor |
♻️ | Code refactoring |
style |
💄 | Style/formatting changes |
docs |
📚 | Documentation changes |
test |
🧪 | Adding or modifying tests |
build |
📦 | Build system changes |
revert |
⏪ | Reverts a previous commit |
ci |
👷 | CI/CD changes |
perf |
⚡ | Performance improvements |
Requirements
- Python 3.9+
- Git
Contributing
See CONTRIBUTING.md for details on how to contribute.
Code of Conduct
Please read our Code of Conduct for details on our community standards.
Security
To report security vulnerabilities, see SECURITY.md.
License
This project is licensed under the MIT License.
Author
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file conventional_commits_generator-2.2.6.tar.gz.
File metadata
- Download URL: conventional_commits_generator-2.2.6.tar.gz
- Upload date:
- Size: 77.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cdba69b9a61a58028a6a36cd2d52da256dcb8709050d696574452f0e150b79b5
|
|
| MD5 |
8793c9941223a699cdfdd481e506857a
|
|
| BLAKE2b-256 |
84dea1047783375f3dc9f6d74273e0b57fd5bca1d588f02dad323ccdbd6c3ffe
|
File details
Details for the file conventional_commits_generator-2.2.6-py3-none-any.whl.
File metadata
- Download URL: conventional_commits_generator-2.2.6-py3-none-any.whl
- Upload date:
- Size: 37.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b7d789c76277b9c2344fddbbc40791eb0ba5307db8ad6d85e46a63188de6dbec
|
|
| MD5 |
b0ede7808b63a263ff707a95d5a5dd31
|
|
| BLAKE2b-256 |
6736339e30dd19b30fb2f79c2b40ba82ac9f456d9b84aecddc1521bdb6b4454f
|