An open API service indexing awesome lists of open source software.

https://github.com/professormanhattan/git-cz-emoji

๐Ÿ”ฅ๐Ÿ‘‰ Commitizen configuration that follows the Conventional Changelog format with emoji support ๐Ÿš€
https://github.com/professormanhattan/git-cz-emoji

config mblabs megabytelabs professormanhattan washingtondc

Last synced: about 1 month ago
JSON representation

๐Ÿ”ฅ๐Ÿ‘‰ Commitizen configuration that follows the Conventional Changelog format with emoji support ๐Ÿš€

Awesome Lists containing this project

README

        




Conventional Emoji Commitizen Config logo





The Conventional Commitizen Config with Emoji Support


A configuration managed by Megabyte Labs





Homepage


Contributing


Slack


Gitter


GitHub


GitLab






Version: 1.1.24


Build status


Dependency status reported by Depfu


Zip file size


Total downloads of git-cz-emoji on npmjs.org


Number of vulnerabilities from Snyk scan on git-cz-emoji


Documentation


License: MIT

>

**Commitizen configuration that follows the Conventional Changelog format with emoji support**


## Table of Contents

- [Overview](#overview)
- [Requirements](#requirements)
- [Developer Requirements](#developer-requirements)
- [Preview](#preview)
- [Format](#format)
- [Installation](#installation)
- [Installing Globally](#installing-globally)
- [Installing Locally](#installing-locally)
- [Usage](#usage)
- [Contributing](#contributing)
- [Affiliates](#affiliates)
- [License](#license)

## Overview

This project is a shareable Commitizen configuration. It is designed to work alongside git workflows that implement the [Conventional Changelog](https://github.com/conventional-changelog/conventional-changelog) format, [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/), and adds support for emojis (important for UX). This project borrows heavily from [cz-conventional-emoji](https://github.com/gaoac/cz-conventional-emoji). It modifies it to include more aethestically pleasing emojis as well as to work seamlessly with the other configurations it is meant to work alongside, namely:

- **[semantic-release-config](https://github.com/ProfessorManhattan/semantic-release-config)** - An all-in-one Semantic Release plugin that supports NPM, Go, Python, and Docker projects (among a few others)
- **[conventional-changelog-emoji-config](https://github.com/ProfessorManhattan/conventional-changelog-emoji-config)** - Configuration for generating CHANGELOG.md files that look good on both GitHub and GitLab as well as accomodate situations where the GitHub/GitLab repository are mirrored

## Requirements

If you are simply including this library in your project, all you need is a recent version of Node.js. **[Node.js >14.18.0](repository.project.node)** is sometimes required and is the only version range we actively support. Albeit, it is highly probable that lower versions will work as well depending on the requirements that this project imports.

### Developer Requirements

The following versions of Node.js and Python are required for development:

- **[Node.js >14.18.0](repository.project.node)**
- **[Python >3.10.0](repository.project.python)**

Other versions may work, but only the above versions are supported. Most development dependencies are installed automatically by our `Taskfile.yml` set-up (even Node.js and Python). Run `bash start.sh` to install **[Bodega](https://github.com/ProfessorManhattan/Bodega)** (an improved fork of [go-task](https://github.com/go-task/task)) and run the initialization sequence. The taskfiles will automatically install dependencies as they are needed, based on what development tasks you are running. For more information, check out the [CONTRIBUTING.md](https://github.com/megabyte-labs/git-cz-emoji/blob/main/docs/CONTRIBUTING.md) or simply run:

```shell
npm run help
```

`npm run help` will ensure Bodega is installed and then open an interactive dialog where you can explore and learn about various developer commands.

## Preview

After you set this configuration up, when you do `git commit` you will be prompted with an interactive menu. It will prompt you for the type of commit, ask for a subject, and a few other options. The whole process guides your commits and your repository's users commits to come out consistently in such a way that you can generate automated CHANGELOG.md files. **[semantic-release-config](https://github.com/ProfessorManhattan/semantic-release-config)** and **[conventional-changelog-emoji-config](https://github.com/ProfessorManhattan/conventional-changelog-emoji-config)** rely on this Commitizen configuration to generate commit messages that are in a consistent format.

Some of your commit message titles may look something like:

```md
- โœจ feat: add signup pages from (#11)
- ๐Ÿ› fix(test): get browser width for android devices
- โ™ป๏ธ refactor(sc): refactor to styled component
- ๐Ÿงช test: add test for splitmerge
```

## Format

Format of the commit is below:

```text
[emoji] [type]([scope]): [commit msg] (#[issue number])
```

_Note:_ `scope` & `issue number` are optional.

## Installation

First, ensure **[Commitizen](https://github.com/commitizen/cz-cli)** (a.k.a. `git-cz`) is installed. Then, add this package to your system either globally or locally.

### Installing Globally

You can install this library globally and have it run on all projects using the following method. First, install the package globally:

```shell
npm install --global cz-conventional-emoji
```

After that, configure Commitizen to use the library by default:

```shell
echo '{ "path": "cz-conventional-emoji" }' > ~/.czrc
```

### Installing Locally

To install the library locally (so that the configuration is portable with your repository), add it to your `devDependencies` by running:

```shell
npm i -D cz-conventional-emoji
```

With the library installed locally, you next have to configure `package.json` to point to the configuration by adding a section that should look something like this:

```json
{
"name": "my_node_module_name",
...
"config": {
"commitizen": {
"path": "./node_modules/cz-conventional-emoji"
},
},
...
}
```

## Usage

Simply use `git cz` instead of `git commit` when committing. See the documentation of [Commitizen](https://github.com/commitizen/cz-cli) for more information.

## Contributing

Contributions, issues, and feature requests are welcome! Feel free to check the [issues page](https://github.com/megabyte-labs/git-cz-emoji/issues). If you would like to contribute, please take a look at the [contributing guide](https://github.com/megabyte-labs/git-cz-emoji/blob/master/docs/CONTRIBUTING.md).

Sponsorship





Dear Awesome Person,


I create open source projects out of love. Although I have a job, shelter, and as much fast food as I can handle, it would still be pretty cool to be appreciated by the community for something I have spent a lot of time and money on. Please consider sponsoring me! Who knows? Maybe I will be able to quit my job and publish open source full time.


Sincerely,

**_Brian Zalewski_**


Open Collective sponsors


GitHub sponsors


Patreon

### Affiliates

Below you will find a list of services we leverage that offer special incentives for signing up for their services through our special links:


MailChimp


DigitalOcean Referral Badge

## License

Copyright ยฉ 2020-2021 [Megabyte LLC](https://megabyte.space). This project is [MIT](https://gitlab.com/megabyte-labs/npm/configs/git-cz-emoji/-/blob/master/LICENSE) licensed.