Crates.io | koji |
lib.rs | koji |
version | 3.0.0 |
source | src |
created_at | 2022-05-01 07:37:18.539833 |
updated_at | 2024-11-26 08:40:27.071538 |
description | An interactive CLI for creating conventional commits. |
homepage | |
repository | https://github.com/cococonscious/koji |
max_upload_size | |
id | 578510 |
size | 636,102 |
An interactive CLI for creating conventional commits, built on cocogitto and inspired by cz-cli.
curl -sS https://webinstall.dev/koji | bash
cargo install --locked koji
Be sure to have git installed first.
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.
# Do some work
cd dev/koji
git add README.md
# Commit your work
koji
See koji --help
for more options.
Use koji completions <SHELL>
to generate completion scripts for your shell.
An alternative way to use koji is as a git hook,
running it any time you run git commit
.
Update .git/hooks/prepare-commit-msg
with the following code:
#!/bin/bash
exec < /dev/tty && koji --hook || true
npx husky add .husky/prepare-commit-msg "exec < /dev/tty && koji --hook || true
Add this to your .rusty-hook.toml
:
prepare-commit-msg = "exec < /dev/tty && koji --hook || true"
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.
Config values are prioritized in the following order:
koji --help
)--config
.koji.toml
in the working directory~/.config/koji/config.toml
autocomplete
bool
true
autocomplete = true
breaking-changes
bool
true
breaking_changes = true
commit-types
Vec<CommitType>
true
[[commit_types]]
name = "feat"
emoji = "✨"
description = "A new feature"
emoji
bool
true
emoji = true
issues
bool
true
issues = true