Files
vim-ale/koji
AJ ONeal 9f28505af7 ref: delete unreachable upstream-fetcher modules
Stacked on the modifications PR. Now that no live code path references
the per-package fetchers, the shared HTTP/parsing helpers, the
in-process normalizer, or the example template, delete them. Pure
deletion — no behavior change.

- ~93 per-package <pkg>/releases.js fetcher modules.
- _common/{brew,fetcher,git-tag,gitea,github,github-source,
  githubish,githubish-source}.js shared HTTP/parsing helpers.
- _webi/normalize.js in-process normalization layer (cache files
  arrive normalized from webicached).
- _example/releases.js fetcher template for new packages.

The Go cache daemon (webicached) is now the sole producer of release
metadata; the Node process never makes an upstream request.
2026-05-08 16:31:59 -06:00
..
2025-02-20 10:56:41 +00:00
2025-02-20 10:48:52 +00:00

title, homepage, tagline
title homepage tagline
koji https://github.com/cococonscious/koji 🦊 An interactive CLI for creating conventional commits.

To update or switch versions, run webi koji@stable (or @v2, @beta, etc).

Note: You should install git before installing koji.

Cheat Sheet

koji is an interactive CLI for creating conventional commits.

You can use koji in one of two ways:

  1. koji instead of git commit
  2. koji --hook in ./.git/hooks/prepare-commit-msg
    (to be run by git commit)

Here's the shortlist of options we've found most useful:

-e, --emoji - use emoji for commit summary (ex: `feat: ✨ ...`)
-a, --autocomplete - guess 'scope' based on commit history (slow on large projects)
--hook - expect to be run from 'git commit', rather than wrap it

Files

These are the files that are created and/or modified with this installer:

~/.config/envman/PATH.env
~/.local/bin/koji
~/.local/opt/koji-VERSION/bin/koji

How to use koji (standalone)

In this case, koji acts as a wrapper around git commit:

git add example.env

# same as `git commit`, but interactive
koji

How to use koji as a commit hook

Just add koji --hook to your project's .git/hooks/prepare-commit-msg:

echo >> ./.git/hooks/prepare-commit-msg << "EOF"
#!/bin/sh
koji --hook
EOF

chmod a+x ./.git/hooks/prepare-commit-msg
# will run koji by way of prepare-commit-msg
git commit

How to use Emoji

You can use -e (or --emoji) to prepend your commit message summary with the relevant emoji for the commit type:

koji -e

As a git hook:

.git/hooks/prepare-commit-msg:

#!/bin/sh
koji --emoji --hook

You can also use shortcodes (:pinched_fingers:) in the scope, summary, or body.

How to configure koji

You can configure koji via a custom config passed with --config, a .koji.toml file in the project root, or a user config at ~/.config/koji/config.toml.

Here's an example of a custom commit type:

[[commit_types]]
name = "cust"
emoji = "✨"
description = "A custom commit type"

The default configuration can be seen in default.toml.