🦊 koji

An interactive CLI for creating [conventional commits](https://www.conventionalcommits.org/en/v1.0.0/), built on [cocogitto](https://github.com/oknozor/cocogitto) and inspired by [cz-cli](https://github.com/commitizen/cz-cli). [![Current Release](https://img.shields.io/github/v/release/its-danny/koji)](https://github.com/its-danny/koji/releases) [![GitHub Workflow Status](https://img.shields.io/github/workflow/status/its-danny/koji/CI)](https://github.com/its-danny/koji/actions) [![Codecov](https://img.shields.io/codecov/c/gh/its-danny/koji)](https://codecov.io/gh/its-danny/koji) [![Dependency Status](https://deps.rs/repo/github/its-danny/koji/status.svg)](https://deps.rs/repo/github/its-danny/koji) [![Conventional Commits](https://img.shields.io/badge/Conventional%20Commits-1.0.0-pink.svg)](https://conventionalcommits.org) [![License](https://img.shields.io/github/license/its-danny/koji)](LICENSE) [![Commit with koji](https://github.com/its-danny/koji/raw/main/meta/demo.gif)](https://github.com/its-danny/koji/raw/main/meta/demo.gif)

Features

Installation

webi

bash curl -sS https://webinstall.dev/koji | bash

cargo

bash cargo install --locked koji

Be sure to have git installed first.

Usage

The basic way to use koji is as a replacement for git commit, enforcing the conventional commit standard by writing your commit through an interactive prompt.

```bash

Do some work

cd dev/nasa git add stars

Commit your work

koji ```

See koji --help for more options.

Using as a git hook

An alternative way to use koji is as a git hook, running it any time you run git commit.

Manually

Update .git/hooks/prepare-commit-msg with the following code:

```bash

!/bin/bash

koji --hook ```

husky

bash npx husky add .husky/prepare-commit-msg "koji --test"

rusty-hook

Add this to your .rusty-hook.toml:

toml prepare-commit-msg = "koji --hook"

Similar should work for any hook runner, just make sure you're using it with the prepare-commit-msg hook.

When using it as a hook, any message passed to git commit -m will be used for the commit summary. Writing your commit as a conventional commit, e.g. git commit -m "feat(space): delete some stars", will bypass koji altogether.

Configuration

Config files are prioritized in the following order:

Options

emoji

autocomplete

commit_types