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

Download history 820/week @ 2024-04-22 659/week @ 2024-04-29 599/week @ 2024-05-06 658/week @ 2024-05-13 478/week @ 2024-05-20 485/week @ 2024-05-27 468/week @ 2024-06-03 820/week @ 2024-06-10 706/week @ 2024-06-17 551/week @ 2024-06-24 692/week @ 2024-07-01 617/week @ 2024-07-08 439/week @ 2024-07-15 1202/week @ 2024-07-22 654/week @ 2024-07-29 779/week @ 2024-08-05

每月下载量 3,090
用于 koji

MIT 许可证

2MB
9K SLoC

包含 (WOFF 字体, 105KB) FiraCode-Medium.woff2

Cocogitto – The conventional commits tool box

GitHub Actions workflow status Code coverage status
Conventional commits Repository license Discord logo

网站 · 安装 · 配置

常规提交工具箱

  • 验证提交:轻松创建符合常规规范的提交。
  • 自动版本升级和变更日志:使用自定义步骤和工作流程自动升级版本并生成变更日志。
  • 发布配置文件:您的分支模型需要不同步骤进行发布、预发布和热修复?我们为您提供了支持!
  • 仅依赖 libgit2: cocogitto 有一个独立的二进制文件,唯一系统依赖项是 libgit2。
  • 常规 Git 日志:搜索符合常规提交项(如范围和提交类型)的提交历史。
  • GitHub 集成:使用我们的 GitHub 动作和机器人强制执行常规提交规范。
  • 支持单一代码库:支持单一代码库的自动版本控制。

探索 CocoGitto 文档 ▶

前言

这是什么?

Cocogitto 是一个用于 常规提交Semver 规范的 CLI 和 GitOps 工具箱。

为什么?

常规提交网站 上列出了许多工具,可以帮助您生成变更日志、Git 钩子、提交模板等。其中一些是专门为常规提交规范设计的,而另一些是通用目的的。

Cocogitto 的设计是为了帮助您遵守常规和 Semver 标准,并且不打算在任何其他环境中使用。

它力求成为一套简单、现代且快速的命令行接口。

目标

  • 使使用常规提交规范变得简单且有趣。
  • 使人们能够专注于工作,而不是纠正小错误和错别字。
  • 强制执行有关 Semver 和常规提交的准确性。
  • 尽可能自动化事情(例如:增加版本)。

非目标

  • Cocogitto 不是 git 的替代品。它使用一些 libgit2,但仅用于提供与常规提交规范相关的功能。其他任何事情都应使用 git 完成。
  • 支持其他提交规范或 git 工作流。

快速入门

此自述文件是快速了解您可以使用 Cocogitto 做什么,要深入了解,请参阅 文档

安装

Packaging status

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 命令。它具有默认的 fixfeat 常规提交类型的子命令,以及 angular 提交 常规提交类型。

示例

# With cog
cog commit feat "add awesome feature"

# With git
git commit -m "feat: add awesome feature"

请参阅 用户指南 -> 常规提交

自动增量

使用 cog bump 创建版本将执行以下操作

  1. 根据您的提交历史确定版本号。
  2. 执行配置定义的预增量命令。
  3. 将版本更改日志附加到您的存储库更改日志文件。
  4. 创建版本提交并标记它。
  5. 执行增量后命令

示例

# 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 bump example

更改日志

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 集成 -> GitHub 动作

GitHub 机器人

cocogitto-bot 是一个独立的、零配置的机器人,它会检查您的拉取请求是否符合常规提交规范。

cog bot example

请参阅 GitHub 集成 -> GitHub 机器人

类似的项目

贡献

发现了一个错误,有关于新功能的建议?请阅读 贡献指南提交一个问题

许可证

此存储库中的所有代码均根据 MIT 许可证发布,有关更多信息,请参阅 LICENSE 文件。

依赖项

~19–31MB
~574K SLoC