@segersniels/cmt
v1.1.2
Published
A command-line tool designed to help developers write consistent and standardized commit messages across different commit conventions.
Downloads
132
Maintainers
Readme
cmt
cmt
(short for commit) is a command-line tool designed to help developers write consistent and standardized commit messages across different commit conventions.
Conventions
Open source contributors often face a unique challenge when working across multiple projects: navigating the diverse landscape of commit conventions. Each repository may adhere to its own set of rules for structuring commit messages, from Conventional Commits to Gitmoji, or even custom formats. This inconsistency can lead to confusion, reduced productivity, and potential errors in version control.
cmt
aims to alleviate this pain point by providing a flexible, easy-to-use tool that adapts to different commit conventions. By standardizing the commit process across projects, cmt
helps contributors maintain consistency and focus on what truly matters - their code contributions.
Supported conventions at the time of writing:
Install
NPM
npm install -g @segersniels/cmt
Script
# Install in the current directory
curl -sSL https://raw.githubusercontent.com/segersniels/cmt/master/scripts/install.sh | bash
# Install in /usr/local/bin
curl -sSL https://raw.githubusercontent.com/segersniels/cmt/master/scripts/install.sh | sudo bash -s /usr/local/bin
Usage
Existing project
You can choose to use cmt
in an existing project without adding a new configuration file.
If no .cmtrc.json
file is found, cmt
will attempt to determine the commit convention from the last commit message.
New project
First initialize cmt
in your project:
cmt init
This will create a .cmtrc.json
file with your preferred settings.
After that simple create a commit:
cmt commit
or use the shorthand:
cmt c
Follow the interactive prompts to construct your commit.
Configuration
cmt
uses a .cmtrc.json
file to store configuration. You can edit this file manually or run cmt init
to set up your preferences.