25 个稳定版本 (6 个主要版本)
6.1.0 | 2024 年 3 月 14 日 |
---|---|
6.0.1 | 2023 年 11 月 30 日 |
5.6.0 | 2023 年 9 月 27 日 |
5.4.0 | 2023 年 6 月 23 日 |
0.34.0 | 2020 年 10 月 10 日 |
在 开发工具 中排名 #46
每月下载量 3,090
用于 koji
2MB
9K SLoC
包含 (WOFF 字体, 105KB) FiraCode-Medium.woff2
常规提交工具箱
- 验证提交:轻松创建符合常规规范的提交。
- 自动版本升级和变更日志:使用自定义步骤和工作流程自动升级版本并生成变更日志。
- 发布配置文件:您的分支模型需要不同步骤进行发布、预发布和热修复?我们为您提供了支持!
- 仅依赖 libgit2: cocogitto 有一个独立的二进制文件,唯一系统依赖项是 libgit2。
- 常规 Git 日志:搜索符合常规提交项(如范围和提交类型)的提交历史。
- GitHub 集成:使用我们的 GitHub 动作和机器人强制执行常规提交规范。
- 支持单一代码库:支持单一代码库的自动版本控制。
前言
这是什么?
Cocogitto 是一个用于 常规提交 和 Semver 规范的 CLI 和 GitOps 工具箱。
为什么?
在 常规提交网站 上列出了许多工具,可以帮助您生成变更日志、Git 钩子、提交模板等。其中一些是专门为常规提交规范设计的,而另一些是通用目的的。
Cocogitto 的设计是为了帮助您遵守常规和 Semver 标准,并且不打算在任何其他环境中使用。
它力求成为一套简单、现代且快速的命令行接口。
目标
- 使使用常规提交规范变得简单且有趣。
- 使人们能够专注于工作,而不是纠正小错误和错别字。
- 强制执行有关 Semver 和常规提交的准确性。
- 尽可能自动化事情(例如:增加版本)。
非目标
- Cocogitto 不是
git
的替代品。它使用一些 libgit2,但仅用于提供与常规提交规范相关的功能。其他任何事情都应使用git
完成。 - 支持其他提交规范或 git 工作流。
快速入门
此自述文件是快速了解您可以使用 Cocogitto 做什么,要深入了解,请参阅 文档。
安装
Archlinux
pacman -S cocogitto
Cargo
cargo install --locked cocogitto
NixOs
nix-env -iA cocogitto
Void Linux
xbps-install cocogitto
MacOS
brew install cocogitto
常规提交
要创建常规提交,可以使用 cog commit
命令。它具有默认的 fix
和 feat
常规提交类型的子命令,以及 angular 提交 常规提交类型。
示例
# With cog
cog commit feat "add awesome feature"
# With git
git commit -m "feat: add awesome feature"
请参阅 用户指南 -> 常规提交。
自动增量
使用 cog bump
创建版本将执行以下操作
- 根据您的提交历史确定版本号。
- 执行配置定义的预增量命令。
- 将版本更改日志附加到您的存储库更改日志文件。
- 创建版本提交并标记它。
- 执行增量后命令
示例
# File: cog.toml
pre_bump_hooks = [
"echo {{version}}",
]
post_bump_hooks = [
"git push",
"git push origin {{version}}",
]
[changelog]
path = "CHANGELOG.md"
template = "remote"
remote = "github.com"
repository = "cocogitto_bot_playground"
owner = "cocogitto"
authors = [
{ username = "oknozor", signature = "Paul Delafosse"}
]
更改日志
cog changelog
使用 tera 模板生成 markdown 更改日志。它具有几个内置模板,您还可以定义自己的。
示例
cog changelog
输出
## 1.2.0 - 2021-11-26
#### Bug Fixes
- **(parser)** handle lowercase identifier - (7521015) - *oknozor*
- handle unknown flag - (e2388dc) - oknozor
#### Features
- **(parser)** simple parser implementation - (0b25eb6) - *oknozor*
- add a new cli flag - (ff84173) - oknozor
#### Miscellaneous Chores
- **(version)** 1.2.0 - (15d1333) - *oknozor*
#### Refactoring
- **(parser)** use a parser interface instead of concrete impl - (ea24c36) - *oknozor*
#### Tests
- add integration test - (bae629c) - *oknozor*
请参阅 用户指南 -> 更改日志。
Docker
有一个可用于 cog
的 Docker 镜像 ghcr.io/cocogitto/latest。
用法
docker pull ghcr.io/cocogitto/cog:latest
docker run -t -v "$(pwd)":/app/ check
请注意,您需要将一个指向您的目标目录的卷挂载到 cog
,以便它能够操作您的 git 日志。
请参阅 Docker -> 使用 cocogitto 与 Docker。
GitHub 集成
GitHub 动作
您可以使用 cocogitto-action 运行 cog check 并通过 GitHub 动作执行自动发布。
示例
- name: Semver release
uses: cocogitto/cocogitto-action@main
with:
release: true
git-user: 'Cog Bot'
git-user-email: '[email protected]'
GitHub 机器人
cocogitto-bot 是一个独立的、零配置的机器人,它会检查您的拉取请求是否符合常规提交规范。
类似的项目
贡献
发现了一个错误,有关于新功能的建议?请阅读 贡献指南 并 提交一个问题。
许可证
此存储库中的所有代码均根据 MIT 许可证发布,有关更多信息,请参阅 LICENSE 文件。
依赖项
~19–31MB
~574K SLoC