A simple cli tool to commit Conventional Commits

Overview

Test Codecov PyPI

convmoji

A simple cli tool to commit Conventional Commits.

Requirements

PyPI - Python Version

Install

pip install convmoji
convmoji --help

Examples

A conventianal commit

convmoji "epic feature added" feat

One with a scope

convmoji "epic feature added" feat --scope somescope
# ✨: epic feature added

With some options

convmoji "epic feature added" feat --scope somescope --amend --no-verify
# ✨(somescope): epic feature added --amend --no-verify

With more textual information

convmoji "epic feature added" feat --scope somescope \
  --body "more body information" --foot "more footer information"
# ✨(somescope): epic feature added
# 
# more body information
# 
# more footer information

Inform people about breaking changes

convmoji "epic feature added" feat --scope somescope \
  --body "more body information" --footer "more footer information" \
  --breaking-changes "breaks somthing"
# ✨‼️(somescope): epic feature added
# 
# more body information
# 
# BREAKING CHANGE: breaks somthing
# more footer information

If you want to see what to does without performing the action, run it with --debug

Commit types

For details on commit types see conventional commits specification.

  • feat:
  • fix: 🐛
  • docs: 📚
  • style: 💎
  • refactor: 🔨
  • perf: 🚀
  • test: 🚨
  • build: 📦
  • ci: 👷
  • chore: 🔧

convmoji --help

Usage:

$ convmoji [OPTIONS] DESCRIPTION [COMMIT_TYPE]

Arguments:

  • DESCRIPTION: Commit message, as in 'git commit -m "..."' [required]
  • [COMMIT_TYPE]: Either of [feat, fix, docs, style, refactor, perf, test, build, ci, chore] [default: feat]

Options:

  • -s, --scope TEXT: Scope for commit (any string) [default: ]
  • -b, --body TEXT: Body message for commit [default: ]
  • -f, --foot TEXT: Footer message (formatted two blank lines below body) [default: ]
  • --breaking-changes, --bc TEXT: Specially formatted message to show changes might break previous versions [default: ]
  • --amend: Execute commit with --amend [default: False]
  • --no-verify: Execute commit with --no-verify [default: False]
  • --co-authored_by, --co TEXT: A string of authors formatted like: --co-authored-by ' ' --co-authored-by ' '
  • --debug: Debug mode (does not execute commit) [default: False]
  • --info: Prompt convmoji info (does not execute commit)
  • --version: Prompt convmoji version (does not execute commit)
  • --install-completion: Install completion for the current shell.
  • --show-completion: Show completion for the current shell, to copy it or customize the installation.
  • --help: Show this message and exit.
You might also like...
A simple Python CLI tool that draws routes/paths on a given map.

Map Router A simple Python CLI tool that draws routes/paths on a given map. Index Installation Usage Docs Why? License Support Installation Coming soo

Hack-All is a simple CLI tool that helps ethical-hackers to make a reverse connection without knowing the target device in use is it computer or phone
Hack-All is a simple CLI tool that helps ethical-hackers to make a reverse connection without knowing the target device in use is it computer or phone

Hack-All is a simple CLI tool that helps ethical-hackers to make a reverse connection without knowing the target device in use is it computer

A Simple Python CLI Lockpicking Tool

Cryptex a simple CLI lockpicking tool What can it do: Encode / Decode Hex Encode / Decode Base64 Break Randomly :D Requirements: Python3 Linux as your

Proman is a simple tool for managing projects through cli.

proman proman is a project manager. It helps you manage your projects from a terminal. The features are listed below. Installation Step 1: Download or

A simple CLI tool for getting region-specific status of Logz.io components.

About A simple CLI tool for checking the current status of Logz.io components per region. Built With Python 3 The following packeges (see requirements

A simple and easy-to-use CLI parse tool.

A simple and easy-to-use CLI parse tool.

Notion-cli-list-manager - A simple command-line tool for managing Notion databases

A simple command-line tool for managing Notion List databases. ✨

A simple CLI tool for converting logs from Poker Now games to other formats

🂡 Poker Now Log Converter 🂡 A command line utility for converting logs from Poker Now games to other formats. Introduction Poker Now is a free onlin

Ssl-tool - A simple interactive CLI wrapper around openssl to make creation and installation of self-signed certs easy

What's this? A simple interactive CLI wrapper around openssl to make self-signin

Comments
  • error handling

    error handling

    Return a proper error code for unknown conv-tags (emoji is not mappable when using wrong tag)

    Since 0.1.7 also:

    ? Your commit message (required)                                                                                      
    
    Cancelled by user
    
    Traceback (most recent call last):
      File "/usr/local/bin/convmoji", line 8, in <module>
        sys.exit(app())
      File "/usr/local/lib/python3.10/site-packages/typer/main.py", line 214, in __call__
        return get_command(self)(*args, **kwargs)
      File "/usr/local/lib/python3.10/site-packages/click/core.py", line 1128, in __call__
        return self.main(*args, **kwargs)
      File "/usr/local/lib/python3.10/site-packages/click/core.py", line 1052, in main
        with self.make_context(prog_name, args, **extra) as ctx:
      File "/usr/local/lib/python3.10/site-packages/click/core.py", line 914, in make_context
        self.parse_args(ctx, args)
      File "/usr/local/lib/python3.10/site-packages/click/core.py", line 1370, in parse_args
        value, args = param.handle_parse_result(ctx, opts, args)
      File "/usr/local/lib/python3.10/site-packages/click/core.py", line 2347, in handle_parse_result
        value = self.process_value(ctx, value)
      File "/usr/local/lib/python3.10/site-packages/click/core.py", line 2309, in process_value
        value = self.callback(ctx, self, value)
      File "/usr/local/lib/python3.10/site-packages/typer/main.py", line 802, in wrapper
        return callback(**use_params)  # type: ignore
      File "/usr/local/lib/python3.10/site-packages/convmoji/commit.py", line 136, in interactive_mode
        answers["type"] = answers["type"].split(":")[0]
    KeyError: 'type'
    
    enhancement 
    opened by arrrrrmin 1
Releases(v0.1.7)
  • v0.1.7(Mar 18, 2022)

    ✨(interactive-mode): Interactive mode with -i

    • -i will cause convmoji to ask questions using 'questionary'
    convmoji -i
    ? Your commit message (required) hello
    ? Choose a type (default is '✨:feat') (Use arrow keys)
       ✨:feat
       🐛:fix
       📚:docs
       💎:style
       🔨:refactor
       🚀:perf
     » 🚨:test
       📦:build
       👷:ci
       🔧:chore
    ...
    

    Full Changelog: https://github.com/KnowKit/convmoji/compare/v0.1.6...v0.1.7

    Source code(tar.gz)
    Source code(zip)
  • v0.1.6(Mar 12, 2022)

    • Adds an option --show-scopes to show scopes used in previouse commits.

    Full Changelog: https://github.com/KnowKit/convmoji/compare/v0.1.5...v0.1.6

    Source code(tar.gz)
    Source code(zip)
  • v0.1.5(Feb 24, 2022)

    What's Changed

    • ✨: add new option print by @defel in https://github.com/KnowKit/convmoji/pull/3

    New Contributors

    • @defel made their first contribution in https://github.com/KnowKit/convmoji/pull/3

    Full Changelog: https://github.com/KnowKit/convmoji/compare/v0.1.4...v0.1.5

    Source code(tar.gz)
    Source code(zip)
Alacritty terminal used with Bash, Tmux, Vim, Mutt, Lynx, etc. and the many different additions added to each configuration file

Alacritty terminal used with Bash, Tmux, Vim, Mutt, Lynx, etc. and the many different additions added to each configuration file

Carter 19 Aug 24, 2022
Gitfetch is a simple tool to get github user details

Gitfetch Just a (cli?) tool to get github user details 🙂 Installation 📂 Install Gitfetch via pypi pip install gitfetch or pip install git+https://g

I'm Not A Bot #Left_TG 7 Jan 23, 2022
🕰 The command line tool for scheduling Python scripts

hickory is a simple command line tool for scheduling Python scripts.

Max Humber 146 Dec 07, 2022
A simple python script to execute a command when a YubiKey is disconnected

YubiKeyExecute A python script to execute a command when a YubiKey / YubiKeys are disconnected. ‏‏‎ ‎ How to use: 1. Download the latest release and d

6 Mar 12, 2022
a-shell: A terminal for iOS, with multiple windows

a-shell: A terminal for iOS, with multiple windows

Nicolas Holzschuch 1.7k Jan 02, 2023
A simple command line tool for changing the icons of folders or files on MacOS.

Mac OS File Icon Changer Description A small and simple script to quickly change large amounts or a few files and folders icons to easily customize th

Eroxl 3 Jan 02, 2023
Rich is a Python library for rich text and beautiful formatting in the terminal.

The Rich API makes it easy to add color and style to terminal output. Rich can also render pretty tables, progress bars, markdown, syntax highlighted source code, tracebacks, and more — out of the bo

Will McGugan 41.4k Jan 03, 2023
🌌 A Python script to generate blog banners from command line.

Auto Blog Banner Generator A Python script to generate blog banners. This script is used at RavSam. The following image is an example of the blog bann

RavSam 10 Sep 20, 2022
This is an app for creating your own color scheme for Termux!

Termux Terminal Theme Creator [WIP] If you need help on how to use the program, you can either create a GitHub issue or join this temporary Discord se

asxlvm 3 Dec 31, 2022
Bear-Shell is a shell based in the terminal or command prompt.

Bear-Shell is a shell based in the terminal or command prompt. You can navigate files, run python files, create files via the BearUtils text editor, and a lot more coming up!

MichaelBear 6 Dec 25, 2021
Enlighten Progress Bar is a console progress bar library for Python.

Overview Enlighten Progress Bar is a console progress bar library for Python. The main advantage of Enlighten is it allows writing to stdout and stder

Rockhopper Technologies 265 Dec 28, 2022
An interactive cheatsheet tool for the command-line

navi An interactive cheatsheet tool for the command-line. navi allows you to browse through cheatsheets (that you may write yourself or download from

Denis Isidoro 12.2k Dec 31, 2022
A Python package for a basic CLI and GUI user interface

Organizer CLI Organizer CLI is a python command line tool that goes through a given directory and organizes all un-folder bound files into folders by

Caltech Library 12 Mar 25, 2022
Python library & console tool for controlling Xiaomi smart appliances

python-miio This library (and its accompanying cli tool) can be used to interface with devices using Xiaomi's miIO and MIoT protocols. Getting started

Teemu R. 2.4k Jan 02, 2023
Execute shell command lines in parallel on Slurm, S(on) of Grid Engine (SGE), PBS/Torque clusters

qbatch Execute shell command lines in parallel on Slurm, S(on) of Grid Engine (SGE), PBS/Torque clusters qbatch is a tool for executing commands in pa

Jon Pipitone 26 Dec 12, 2022
CLI tool for one-line installation of C++/CMake projects.

cmakip When working on virtual environments, Python projects can be installed with a single command invocation, for example pip install --no-deps . .

Artificial and Mechanical Intelligence 4 Feb 15, 2022
A Simple Python CLI Lockpicking Tool

Cryptex a simple CLI lockpicking tool What can it do: Encode / Decode Hex Encode / Decode Base64 Break Randomly :D Requirements: Python3 Linux as your

Alex Kollar 23 Jul 04, 2022
Wordle-cli - Command-line clone of Josh Wardle's WORDLE

Command-line clone of Josh Wardle's WORDLE, inspired by Paul Battley's Ruby vers

Klipspringer 32 Jan 03, 2023
This is a CLI program which can help you generate your own QR Code.

Python-QR-code-generator This is a CLI program which can help you generate your own QR Code. Single.py This will allow you only to input a single mess

1 Dec 24, 2021
dotfilery, configuration, environment settings, automation, etc.

┌┬┐┌─┐┌─┐┌─┐┬ ┬┌┬┐┬ ┬┬┌─┐ │││├┤ │ ┬├─┤│ │ │ ├─┤││ :: bits & bobs, dots & things. ┴ ┴└─┘└─┘┴ ┴┴─┘┴ ┴ ┴ ┴┴└─┘ @megalithic 🚀 Instal

Seth Messer 89 Dec 25, 2022