#conventional-commits #git-commit #git-hook #emoji #interactive #autocomplete #prompt

bin+lib koji

交互式命令行界面,用于创建常规提交

7 个稳定版本

2.2.0 2024年1月6日
2.1.0 2023年11月24日
1.5.3 2022年10月2日
1.5.2 2022年8月11日
1.5.1 2022年5月1日

#4 in #autocomplete

MIT 许可证

415KB
863

🦊 koji

koji 是一个交互式命令行界面,用于创建常规提交,基于 cocogitto 构建,并受 cz-cli 启发。

Current Release GitHub Workflow Status Codecov Dependency Status Conventional Commits License

Commit with koji

特性

  • 轻松创建常规提交
  • cocogitto 结合使用,实现自动版本控制、生成变更日志等功能
  • 使用表情符号 👋(或,短代码
  • 提交作用域自动补全
  • 作为 git 钩运行
  • 自定义提交类型

安装

webi

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

cargo

cargo install --locked koji

请确保已安装 git

使用方法

使用 koji 的基本方法是将它作为 git commit 的替代品,通过交互式提示符强制执行 常规提交 标准。

# Do some work
cd dev/koji
git add README.md

# Commit your work
koji

使用 koji --help 查看更多选项。

作为 git 钩使用

另一种使用 koji 的方法是将其作为 git 钩 使用,在运行 git commit 时运行它。

手动

更新 .git/hooks/prepare-commit-msg 以下代码

#!/bin/bash
exec < /dev/tty && koji --hook || true

husky

npx husky add .husky/prepare-commit-msg "exec < /dev/tty && koji --hook || true

rusty-hook

将此添加到您的 .rusty-hook.toml

prepare-commit-msg = "exec < /dev/tty && koji --hook || true"

对于任何钩子运行器,类似的设置应该都适用,只需确保您使用的是 prepare-commit-msg 钩子。

当将其作为钩子使用时,传递给 git commit -m 的任何消息都将用作提交摘要。将您的提交编写为常规提交,例如 git commit -m "feat(space): delete some stars",将完全绕过 koji。

配置

配置值的优先级顺序如下

  • 作为参数传入(见:koji --help
  • 从通过 --config 传入的文件中读取
  • 工作目录中的 .koji.toml
  • ~/.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

依赖项

~26–42MB
~745K SLoC