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)
A command line utility to export Google Keep notes to markdown.

Keep-Exporter A command line utility to export Google Keep notes to markdown files with metadata stored as a frontmatter header. Supports exporting: S

Nathan Beals 85 Dec 17, 2022
An ZFS administration tool inspired on Midnight commander

ZC - ZFS Commander An ZFS administration tool inspired on Midnight commander Work in Progress Description ZFS Commander is a simple front-end for the

34 Dec 07, 2022
💻VIEN is a command-line tool for managing Python Virtual Environments.

vien VIEN is a command-line tool for managing Python Virtual Environments. It provides one-line shortcuts for: creating and deleting environments runn

Artёm IG 5 Mar 19, 2022
doq (python docstring generator) extension for coc.nvim

coc-pydocstring doq (python docstring generator) extension for coc.nvim Install CocInstall: :CocInstall coc-pydocstring vim-plug: Plug 'yaegassy/coc-p

yaegassy 27 Jan 04, 2023
Python3 parser for Apple's crash reports

pyCrashReport in intended for analyzing crash reports from Apple devices into a clearer view, without all the thread listing and loaded images, just the actual data you really need to debug the probl

7 Aug 19, 2022
triggercmd is a CLI client for the TRIGGERcmd cloud service.

TriggerCMD CLI client triggercmd is a CLI client for the TRIGGERcmd cloud service. installation the triggercmd package is available in PyPI. to instal

Gustavo Soares 7 Oct 18, 2022
Bad Apple printed out on the console with Python!

Bad Apple printed out on the console with Python!

CalvinLoke 186 Dec 01, 2022
A Telegram Bot Written In Python To Upload Medias To telegra.ph

Telegraph-Uploader A Telegram Bot Written In Python To Upload Medias To telegra.ph DEPLOY YOU CAN SIMPLY DEPLOY ON HEROKU BY CLICKING THE BUTTON BELOW

Rithunand 31 Dec 03, 2022
A collection of command-line interface games written in python

Command Line Interface Python Games Collection of some starter python game projects for beginners How to play these games Clone this repository git cl

Paras Gupta 7 Jun 06, 2022
Darkdump - Search The Deep Web Straight From Your Terminal

Darkdump - Search The Deep Web Straight From Your Terminal About Darkdump Darkdump is a simple script written in Python3.9 in which it allows users to

Josh Schiavone 264 Dec 30, 2022
Command line tool to keep track of your favorite playlists on YouTube and many other places.

Command line tool to keep track of your favorite playlists on YouTube and many other places.

Wolfgang Popp 144 Jan 05, 2023
A basic molecule viewer written in Python, using curses; Thus, meant for linux terminals

asciiMOL A basic molecule viewer written in Python, using curses; Thus, meant for linux terminals. This is an alpha version, featuring: Opening defaul

Dominik Behrens 328 Dec 11, 2022
Borderless-Window-Utility - Modifies window style to force most applications into a borderless windowed mode

Borderless-Window-Utility Modifies window style to force most applications into

8 Oct 22, 2022
eBay's TSV Utilities: Command line tools for large, tabular data files. Filtering, statistics, sampling, joins and more.

Command line utilities for tabular data files This is a set of command line utilities for manipulating large tabular data files. Files of numeric and

eBay 1.4k Jan 09, 2023
A dashboard for your Terminal written in the Python 3 language,

termDash is a handy little program, written in the Python 3 language, and is a small little dashboard for your terminal, designed to be a utility to help people, as well as helping new users get used

Rebecca White 2 Dec 03, 2021
📦 A command line utility to put text in a box.

boxie A command line utility to put text in a box. Installation pip install boxie If you are on Linux you may need to use sudo to access this globally

Eliaz Bobadilla 10 Jun 30, 2022
A CLI minesweeper application written in 60 LoC python

This is a CLI minesweeper application written in 60 LoC python. You can use d row,column to dig and f row,column to flag/unflag

1 Dec 21, 2021
A CLI tool that scans through a directory and organizes all loose files into folders by file type.

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

Mulaza Jacinto 6 Dec 14, 2022
CLI tool to develop StarkNet projects written in Cairo

⛵ Nile Navigate your StarkNet projects written in Cairo. Installation pip install cairo-nile Usage Install Cairo Use nile to install a given version o

Martín Triay 305 Dec 30, 2022
Simple CLI tool to track your cryptocurrency portfolio in real time.

Simple tool to track your crypto portfolio in realtime. It can be used to track any coin on the BNB network, even obscure coins that are not listed or trackable by major portfolio tracking applicatio

Trevor White 69 Oct 24, 2022