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)
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
ServX | Bash Command as a Service

ServX | Bash Command as a Service Screenshots Instructions for running Run python3 servx.py. COMPATIBILITY TESTED ON ARCHLINUX(x64) & DEBIAN(x64) ONLY

ARPSyndicate 2 Mar 11, 2022
Dart Version Manager CLI implemented with Python and Typer.

Dart Version Manager CLI implemented with Python and Typer.

EducUp 6 Jun 26, 2022
A minimal ascii-representation of your local weather.

Ascii-Weather A simple, ascii-based weather visualizer for the terminal. The ascii-art updates to match the current weather and conditions. Uses ipinf

Aaron R. 12 Jan 29, 2022
The Prisma Cloud CLI is a command line interface for Prisma Cloud by Palo Alto Networks.

Prisma Cloud CLI The Prisma Cloud CLI is a command line interface for Prisma Cloud by Palo Alto Networks. Support This project has been developed by P

Palo Alto Networks 13 Oct 14, 2022
Unofficial Open Corporates CLI: OpenCorporates is a website that shares data on corporations under the copyleft Open Database License. This is an unofficial open corporates python command line tool.

Unofficial Open Corporates CLI OpenCorporates is a website that shares data on corporations under the copyleft Open Database License. This is an unoff

Richard Mwewa 30 Sep 08, 2022
A Command Line Error Parser Built using Python.

"Stalk Overflow with debuggy" Error Parser Everything is done in Python so it's extremely easy to install and use. Supports Python 3. Debuggy is used

Derhnyel 22 Nov 10, 2022
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
Terminal epub reader with inline images

nuber Inspired by epy, nuber is an Epub terminal reader with inline images written with Rust and Python using Überzug. Features Display images in term

Moshe Sherman 73 Oct 12, 2022
A ZSH plugin that enables you to use OpenAI's powerful Codex AI in the command line.

A ZSH plugin that enables you to use OpenAI's powerful Codex AI in the command line.

Tom Dörr 976 Jan 03, 2023
電通大のCLIツールです

uecli 電通大のCLIツールです。コマンドラインからシラバス検索、成績参照、図書館の貸出リストなどを見ることができます インストール pip install uecli 使い方 シラバスを検索 uecli syllabus search -s 'コンピュータサイエンス' シラバスを取得し、Mar

UEC World Dominators 2 Oct 31, 2021
Turdshovel is an interactive CLI tool that allows users to dump objects from .NET memory dumps

Turdshovel Description Turdshovel is an interactive CLI tool that allows users to dump objects from .NET memory dumps without having to fully understa

Leron Gray 41 Jul 27, 2022
Tarstats - A simple Python commandline application that collects statistics about tarfiles

A simple Python commandline application that collects statistics about tarfiles.

Kristian Koehntopp 13 Feb 20, 2022
asciinema - Terminal session recorder 📹

asciinema - Terminal session recorder 📹

asciinema 11.1k Dec 27, 2022
Python CLI script to solve wordles.

Wordle Solver Python CLI script to solve wordles. You need at least python 3.8 installed to run this. No dependencies. Sample Usage Let's say the word

Rachel Brindle 1 Jan 16, 2022
A powerful, colorful, beautiful command-line-interface for pypi.org

pypi-command-line pypi-command-line is a colorful, powerful, and beautiful command line interface for pypi.org that is actively maintained Detailed Do

Wasi Master 32 Jun 23, 2022
A command line utility for tracking a stock market portfolio. Primarily featuring high resolution braille graphs.

A command line stock market / portfolio tracker originally insipred by Ericm's Stonks program, featuring unicode for incredibly high detailed graphs even in a terminal.

Conrad Selig 51 Nov 29, 2022
Fun project to generate The Matrix Code effect on you terminal.

Fun project to generate The Matrix Code effect on you terminal.

Henrique Bastos 11 Jul 13, 2022
⌨ Toward a more useful keyboard

Toward a more useful keyboard Steve Losh's Modern Space Cadet is an inspiration. It opened my eyes to the fact that there's a more useful keyboard hid

Jason Rudolph 1.7k Jan 01, 2023
Dart Version Manager CLI implemented with Python and Typer.

Dart Version Manager Dart Version Manager CLI implemented with Python and Typer Usage: $ dvm [OPTIONS] COMMAND [ARGS]... Options: --install-completion

EducUp 6 Jun 26, 2022