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)
Chat In Terminal - Chat-App in python

Chat In Terminal Hello all. 😉 Sockets and servers are vey important for connection and importantly chatting with others. 😂 😁 I have thought of maki

Shreejan Dolai 5 Nov 17, 2022
My dotfiles -My configuration, with installations steps.

.dotfiles My configuration, with installations steps. Installation Oh My ZSH Install with this command: sh -c "$(curl -fsSL https://raw.githubusercont

Luca Angioloni 4 Dec 14, 2022
A dilligent command line tool to publish ads on ebay-kleinanzeigen.de

kleinanzeigen-bot Feedback and high-quality pull requests are highly welcome! About Installation Usage Development Notes License About kleinanzeigen-b

83 Dec 26, 2022
cli simple python script to interact with iphone afc api based on python library( tidevice )

afcclient cli simple python script to interact with iphone afc api based on python library( tidevice ) installation pip3 install -U tidevice cp afccli

fyst_14 2 Jul 15, 2022
Seamlessly run Python code in IPython from Vim

Seamlessly run Python code from Vim in IPython, including executing individual code cells similar to Jupyter notebooks and MATLAB. This plugin also supports other languages and REPLs such as Julia.

Hans Chen 269 Dec 20, 2022
Wordle-solver - A tool that helps people who struggle with vocabulary to enjoy the famous game of WORDLE

Wordle-Solver Wordle-Solver helps people who struggle with vocabulary to enjoy t

Jason Chao 104 Dec 31, 2022
Python implementation of SSH file transfer across servers.

SSH Transfer Python implementation of SSH file transfer across servers. Requirements paramiko=2.7.2 Usage Config Preparation Configure some informatio

Zhe Kong 1 Nov 23, 2021
A CLI for creating styled-components for React projects quickly

new-component Ian Cleary (iancleary) Description Welcome! This is a CLI for creating styled-components for React projects quickly. Note: I've rewrote

Ian Cleary (he/him/his) 1 Feb 15, 2022
🐍The nx-python plugin allows users to create a basic python application using nx commands.

🐍 NxPy: Nx Python plugin This project was generated using Nx. The nx-python plugin allows users to create a basic python application using nx command

StandUP Communications 74 Aug 31, 2022
Standalone Tailwind CSS CLI, installable via pip

Standalone Tailwind CSS CLI, installable via pip Use Tailwind CSS without Node.j

Tim Kamanin 144 Dec 22, 2022
Sebuah tools agar tydak menjadi sider :v vrohh

Sebuah tools agar tydak menjadi sider :v vrohh

xN7-SEVEN 1 Mar 27, 2022
CLI tool for typescript tasks & migrations

typed CLI tool for typescript tasks & migrations Installation Usage $ typed --list Subcommands: bootstrap 🔨 Bootstrap your environment for TypeS

Lob 1 Nov 15, 2021
A CLI Password Manager made using Python and Postgresql database.

ManageMyPasswords (CLI Edition) A CLI Password Manager made using Python and Postgresql database. Quick Start Guide First Clone The Project git clone

Imira Randeniya 1 Sep 11, 2022
Command line client for Audience Insights

Dynamics 365 Audience Insights CLI The AuI CLI is a command line tool for Dynamics 365 Audience Insights. It is based on the customerinsights Python l

Microsoft 8 Jan 09, 2023
Python3 library for multimedia functions at the command terminal

TERMINEDIA This is a Python library allowing using a text-terminal as a low-resolution graphics output, along with keyboard realtime reading, and a co

Joao S. O. Bueno 89 Dec 17, 2022
A CLI application that downloads your AC submissions from OJ's like Atcoder,Codeforces,CodeChef and distil it into beautiful Submission HeatMap.

Yoda A CLI that takes away the hassle of managing your submission files on different online-judges by automating the entire process of collecting and organizing your code submissions in one single Di

Nikhar Manchanda 1 Jul 28, 2022
grungegirl is the hacker's drug encyclopedia. programmed in python for maximum modularity and ease of configuration.

grungegirl. cli-based drug search for girls. welcome. grungegirl is aiming to be the premier drug culture application. it is the hacker's encyclopedia

Eristava 10 Oct 02, 2022
Simple command-line implementation of minesweeper

minesweeper This is a Python implementation of 2-D Minesweeper! Check out the tutorial here: https://youtu.be/Fjw7Lc9zlyU You start a game by running

Kylie 49 Dec 10, 2022
Wappalyzer CLI tool to find Web Technologies

Wappalyzer CLI tool to find Web Technologies

GOKUL A.P 17 Dec 15, 2022
Command-line tool for looking up colors and palettes.

Colorpedia Colorpedia is a command-line tool for looking up colors, shades and palettes. Supported color models: HEX, RGB, HSL, HSV, CMYK. Requirement

Joohwan Oh 282 Dec 27, 2022