Files
AJ ONeal 13ea83f963 ref: remove all releases.js files and _common/ fetchers
These files are no longer loaded at runtime. All release data now comes
from _cache/YYYY-MM/{pkg}.json files generated by the Go webicached daemon.

Deleted:
- 94 {pkg}/releases.js files (per-package upstream fetchers)
- 8 _common/*.js files (github.js, gitea.js, git-tag.js, fetcher.js, etc.)

Updated:
- _webi/classify-one.js: reads from cache instead of require(releases.js)
- Fixed hardcoded triplet key to use dynamic lookup
2026-03-11 16:24:28 -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.