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)
RSS reader client for CLI (Command Line Interface),

rReader is RSS reader client for CLI(Command Line Interface)

Lee JunHaeng 10 Dec 24, 2022
Simple Tool To Grab Like-Card Coupon

Simple Tool To Grab Like-Card Coupon

Soud 10 Jan 30, 2022
flora-dev-cli (fd-cli) is command line interface software to interact with flora blockchain.

Install git clone https://github.com/Flora-Network/fd-cli.git cd fd-cli python3 -m venv venv source venv/bin/activate pip install -e . --extra-index-u

14 Sep 11, 2022
Simple CLI interface for linear task manager

Linear CLI (Unmaintained) Simple CLI interface for linear task manager Usage Install: pip install linearcli Setup: Generate a pe

Mike Lyons 1 Jan 07, 2022
Juniper Command System is a Micro CLI Tool that allows you to manage your files, launch applications, as well as providing extra tools for OS Management.

Juniper Command System is a Micro CLI Tool that allows you to manage your files, launch applications, as well as providing extra tools for OS Management.

Juan Carlos Juárez 1 Feb 02, 2022
Simple CLI prompt for easy I/O with OpenAI's API

openai-cli-prompt Simple CLI prompt for easy I/O with OpenAI's API Quickstart Create a .env file with: OPENAI_API_KEY=Your OpenAI API Key Configure

Erik Nomitch 1 Oct 12, 2021
spid-sp-test is a SAML2 SPID/CIE Service Provider validation tool that can be executed from the command line.

spid-sp-test spid-sp-test is a SAML2 SPID/CIE Service Provider validation tool that can be executed from the command line. This tool was born by separ

Developers Italia 30 Nov 08, 2022
Interact with Replit remotely with the Replit CLI

Replit CLI pip install repl-cli Welcome to Replit CLI! With the Replit CLI Application, you can work with your repls locally, including clone, pull,

Shuchir Jain 4 Aug 18, 2022
Projeto Reverse Shell For Python

Use com sabedoria!!! Modo de uso: Linux (inclui Android e Mac): - apt-get update - apt install python3 (ou "python" apenas) - git clone https://github

1 Jan 03, 2022
The Pythone Script will generate a (.)sh file with reverse shell codes then you can execute the script on the target

Pythone Script will generate a (.)sh file with reverse shell codes then you can execute the script on the targetPythone Script will generate a (.)sh file with reverse shell codes then you can execute

Boy From Future 15 Sep 16, 2022
MiShell is a multi-platform, multi-architecture project based on the first version (MiShell32)

MiShell is a multi-platform, multi-architecture project based on the first version (MiShell32), which offers super super small reverse shell payloads great for injection in buffer overflow vulnerabil

Kamyar Hatamnezhad 0 Oct 27, 2022
GanTTY - Project planning from the terminal

GanTTY - Project planning from the terminal

Timeo Sam Pochin 161 Dec 26, 2022
Simple Python Library to display text with color in Python Terminal

pyTextColor v1.0 Introduction pyTextColor is a simple Python Library to display colorful outputs in Terminal, etc. Note: Your Terminal or any software

Siddhesh Chavan 1 Jan 23, 2022
A simple cli tool to commit Conventional Commits

convmoji A simple cli tool to commit Conventional Commits. Requirements Install pip install convmoji convmoji --help Examples A conventianal commit co

3 Jul 04, 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
ForX - get forex quotes from the terminal

A command line tool for checking exchange rates between currencies, both crypto and fiat.

Gabe Banks 52 Dec 10, 2022
liquidctl – liquid cooler control Cross-platform tool and drivers for liquid coolers and other devices

Cross-platform CLI and Python drivers for AIO liquid coolers and other devices

1.7k Jan 08, 2023
A lightweight terminal-based password manager coded with Python using SQLCipher for SQLite database encryption.

password-manager A lightweight terminal-based password manager coded with Python using SQLCipher for SQLite database encryption. Screenshot Pre-requis

Leonardo de Araujo 15 Oct 15, 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 simple command line chat app to communicate via the terminal.

A simple command line chat app to communicate via the terminal. I'm new to networking so sorry if some of my terminology or code is messed up.

PotNoodle 1 Oct 26, 2021