Interactive CLI tool for creating standardized commit messages following the conventional commits format

Main Features

โœจ

Interactive CLI

User-friendly interface with interactive prompts for choosing commit types, scopes, and descriptions.

๐Ÿ“

Conventional Commits

Strictly follows the conventional commits specification for consistent and semantic versioning.

๐ŸŽจ

Emoji Support

GitHub-compatible emoji codes to make your commits more visual and organized.

โœ๏ธ

Commit Management

Edit or delete existing commits with interactive selection and safety checks.

๐Ÿท๏ธ

Tag Creation

Create and push annotated or lightweight tags directly from the CLI.

๐Ÿ”„

Git Integration

Complete Git workflow support including staging, committing, and pushing.

How It Works

Terminal
$ ccg
 ________      ________      ________
|\   ____\    |\   ____\    |\   ____\
\ \  \___|    \ \  \___|    \ \  \___|
 \ \  \        \ \  \        \ \  \  ___
  \ \  \____    \ \  \____    \ \  \|\  \
   \ \_______\   \ \_______\   \ \_______\
    \|_______|    \|_______|    \|_______|

 Conventional Commits Generator

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚ Commit Types         โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

1. โœจ feat     - A new feature
2. ๐Ÿ› fix      - A bug fix
3. ๐Ÿ”ง chore    - Routine tasks
4. ๐Ÿ”จ refactor - Code refactoring
5. ๐Ÿ’„ style    - Style changes
6. ๐Ÿ“š docs     - Documentation
7. ๐Ÿงช test     - Adding tests
8. ๐Ÿ“ฆ build    - Build system changes
9. โช revert   - Reverts a commit
10. ๐Ÿ‘ท ci      - CI/CD changes
11. โšก perf    - Performance improvements

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): y

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚ 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               โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
Generated commit: :sparkles: feat(auth): implement OAuth login

Confirm this commit message? (y/n): y
โœ“ New commit successfully created!

Do you want to push these changes? (y/n): y
โœ“ Changes pushed successfully!

Installation

1

Using pipx (recommended)

pipx install conventional-commits-generator
2

Using pip

pip install conventional-commits-generator
3

Development Setup

git clone https://github.com/EgydioBNeto/conventional-commits-generator.git
cd conventional-commits-generator
chmod +x scripts/setup_venv.sh
./scripts/setup_venv.sh

Available Commands

๐Ÿš€ Interactive Commit

ccg

Create a commit with interactive prompts

๐Ÿ’ฌ Generate Message Only

ccg --commit

Generate commit message without committing

๐Ÿ“ค Push Only

ccg --push

Push existing commits to remote

โœ๏ธ Edit Commit

ccg --edit

Edit an existing commit message

๐Ÿ—‘๏ธ Delete Commit

ccg --delete

Delete an existing commit

๐Ÿท๏ธ Create Tag

ccg --tag

Create and push a new tag

๐Ÿ”„ Reset Changes

ccg --reset

Discard local changes and pull from remote

๐Ÿ“ Specific Paths

ccg --path src/ docs/

Stage specific paths instead of all changes

โ„น๏ธ Version

ccg --version

Display current CCG version

Commit Types

โœจ feat

A new feature for the user or a particular enhancement

๐Ÿ› fix

A bug fix for the user or a particular issue

๐Ÿ”ง chore

Routine tasks, maintenance, or minor updates

๐Ÿ”จ refactor

Code refactoring without changing its behavior

๐Ÿ’„ style

Code style changes, formatting, or cosmetic improvements

๐Ÿ“š docs

Documentation-related changes

๐Ÿงช test

Adding or modifying tests

๐Ÿ“ฆ build

Changes that affect the build system or external dependencies

โช revert

Reverts a previous commit

๐Ÿ‘ท ci

Changes to CI configuration files and scripts

โšก perf

A code change that improves performance

Requirements

  • โœ… Python 3.8 or higher
  • โœ… Git installed and configured