Skip to main content

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

# Show version
ccg --version

Interactive usage example

$ ccg

 ________      ________      ________
|\   ____\    |\   ____\    |\   ____\
\ \  \___|    \ \  \___|    \ \  \___|
 \ \  \        \ \  \        \ \  \  ___
  \ \  \____    \ \  \____    \ \  \|\  \
   \ \_______\   \ \_______\   \ \_______\
    \|_______|    \|_______|    \|_______|

 Conventional Commits Generator

┌──────────────────────┐
│ 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               │
└──────────────────────┘

┌─────────────────────────────────────────────────────────┐
│                                                         │
│  feat(auth): implement OAuth login                      │
│                                                         │
│  Added Google OAuth 2.0 support                         │
│  Integration with existing user system                  │
│                                                         │
└─────────────────────────────────────────────────────────┘

Confirm this commit message? (y/n): y
✓ New commit successfully created!

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.8+
  • 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

EgydioBNeto

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

conventional_commits_generator-2.2.2.tar.gz (36.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

conventional_commits_generator-2.2.2-py3-none-any.whl (23.8 kB view details)

Uploaded Python 3

File details

Details for the file conventional_commits_generator-2.2.2.tar.gz.

File metadata

File hashes

Hashes for conventional_commits_generator-2.2.2.tar.gz
Algorithm Hash digest
SHA256 695191b647044318f54c8f32d38f0d9b2579c39ddaf92375b701f817946c2e95
MD5 e250cf96959285e6e6d5799fafaecb31
BLAKE2b-256 6703b86e6676ac22e43eda173265dd8655ab97f498f6fa969b7c9fbac1b4e03f

See more details on using hashes here.

File details

Details for the file conventional_commits_generator-2.2.2-py3-none-any.whl.

File metadata

File hashes

Hashes for conventional_commits_generator-2.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 8e7848f461291f0b0abe8c7f48d685b73f8c82a35cbc4c26481c12d49567de64
MD5 2f7ebbd4b576a53c371c67b4b77c8fb0
BLAKE2b-256 3e4ceabfd87cc28caaa6c0bb7c28cea1eb06b5f3ae424faf4d11b474f36e7361

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page