Skip to content

feat(cocogitto): add cocogitto conventional commits config to hk builtin config#838

Merged
jdx merged 1 commit intojdx:mainfrom
hituzi-no-sippo:feat/add-cocogitto-conventional-commits-builtin
Apr 17, 2026
Merged

feat(cocogitto): add cocogitto conventional commits config to hk builtin config#838
jdx merged 1 commit intojdx:mainfrom
hituzi-no-sippo:feat/add-cocogitto-conventional-commits-builtin

Conversation

@hituzi-no-sippo
Copy link
Copy Markdown
Contributor

Add cocogitto as a new builtin linter for commit messages.

Add cocogitto_commit_msg builtin for validating commit messages against the Conventional Commits specification using cog verify.

The builtin is named cocogitto_commit_msg to distinguish it from other potential cocogitto builtins (e.g., cog check for history validation). It uses the {{commit_msg_file}} template variable, making it suitable for use in the commit-msg git hook.

$ cat foo.txt
feat: foobar
$ cog --quiet verify --file foo.txt

$ echo $?
0
$ cat bar.txt
eat: foobar
$ cog --quiet verify --file bar.txt
Error: Errored commit: not committed <hituzi no sippo>
        Commit message:'eat: foobar'
        Error:Commit type `eat` not allowed
$ echo $?
1

@greptile-apps
Copy link
Copy Markdown

greptile-apps Bot commented Apr 17, 2026

No reviewable files after applying ignore patterns.

…tin config

Add `cocogitto_commit_msg` builtin for validating commit messages against
the Conventional Commits specification using `cog verify`.

The builtin is named `cocogitto_commit_msg` to distinguish it from other
potential cocogitto builtins (e.g., `cog check` for history validation).
It uses the `{{commit_msg_file}}` template variable, making it suitable
for use in the `commit-msg` git hook.

``` console
$ cat foo.txt
feat: foobar
$ cog --quiet verify --file foo.txt

$ echo $?
0
$ cat bar.txt
eat: foobar
$ cog --quiet verify --file bar.txt
Error: Errored commit: not committed <hituzi no sippo>
        Commit message:'eat: foobar'
        Error:Commit type `eat` not allowed
$ echo $?
1
```

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@hituzi-no-sippo hituzi-no-sippo force-pushed the feat/add-cocogitto-conventional-commits-builtin branch from 39a2cdd to 0ed36d3 Compare April 17, 2026 10:04
Copy link
Copy Markdown
Contributor

@gemini-code-assist gemini-code-assist Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request introduces a new builtin linter for conventional commits using cocogitto. Feedback indicates that the new builtin needs to be registered in Builtins.pkl and integrated into the existing test suites to ensure it is correctly exposed and functional.

Comment on lines +11 to +14
cocogitto_commit_msg = new Config.Step {
// Reference: https://github.com/cocogitto/cocogitto/blob/7.0.0/cog.toml#L62-L63
check = "cog --quiet verify --file {{commit_msg_file}}"
}
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The new builtin cocogitto_commit_msg should be integrated into the existing test suite to ensure it is correctly registered and functional. Please update the following:

  1. test/builtins.bats: Add cocogitto_commit_msg to the list of expected builtins in the builtins lists all available builtin linters and builtins output is sorted tests.
  2. test/commit_msg.bats: Add an end-to-end test case that uses Builtins.cocogitto_commit_msg in a commit-msg hook to verify it correctly validates conventional commit messages.

Additionally, ensure that Builtins.pkl (which is not included in this diff) is updated to import and export this new builtin so it can be accessed by users via Builtins.cocogitto_commit_msg.

@hituzi-no-sippo hituzi-no-sippo marked this pull request as ready for review April 17, 2026 10:30
@jdx jdx merged commit 778905a into jdx:main Apr 17, 2026
19 checks passed
@jdx jdx mentioned this pull request Apr 17, 2026
@hituzi-no-sippo hituzi-no-sippo deleted the feat/add-cocogitto-conventional-commits-builtin branch April 18, 2026 05:56
jdx added a commit that referenced this pull request Apr 23, 2026
### 🚀 Features

- **(check)** implement --plan, --why, and --json by
[@jdx](https://github.com/jdx) in
[#848](#848)
- **(cocogitto)** add cocogitto conventional commits config to hk
builtin config by [@hituzi-no-sippo](https://github.com/hituzi-no-sippo)
in [#838](#838)
- **(git)** support GIT_DIR/GIT_WORK_TREE for bare-repo dotfile managers
by [@jdx](https://github.com/jdx) in
[#847](#847)
- **(install)** use Git 2.54 config-based hooks with --global support by
[@jdx](https://github.com/jdx) in
[#853](#853)

### 🐛 Bug Fixes

- use text progress in CI by [@jdx](https://github.com/jdx) in
[#845](#845)

### 📚 Documentation

- generalize agent guidelines by [@jdx](https://github.com/jdx) in
[#846](#846)
- add releases nav and aube lock by [@jdx](https://github.com/jdx) in
[#849](#849)

### 🔍 Other Changes

- bump communique to 1.0.1 by [@jdx](https://github.com/jdx) in
[#850](#850)

### 📦️ Dependency Updates

- update actions-rust-lang/setup-rust-toolchain digest to 2b1f5e9 by
[@renovate[bot]](https://github.com/renovate[bot]) in
[#832](#832)
- update anthropics/claude-code-action digest to c3d45e8 by
[@renovate[bot]](https://github.com/renovate[bot]) in
[#833](#833)
- update rust crate tokio to v1.52.1 by
[@renovate[bot]](https://github.com/renovate[bot]) in
[#834](#834)
- update actions/upload-pages-artifact action to v5 by
[@renovate[bot]](https://github.com/renovate[bot]) in
[#835](#835)
- update taiki-e/upload-rust-binary-action digest to f0d45ae by
[@renovate[bot]](https://github.com/renovate[bot]) in
[#839](#839)
- update rust crate clx to v2 by
[@renovate[bot]](https://github.com/renovate[bot]) in
[#836](#836)
- update anthropics/claude-code-action digest to 0d2971c by
[@renovate[bot]](https://github.com/renovate[bot]) in
[#841](#841)
- update anthropics/claude-code-action digest to 38ec876 by
[@renovate[bot]](https://github.com/renovate[bot]) in
[#842](#842)
- lock file maintenance by
[@renovate[bot]](https://github.com/renovate[bot]) in
[#851](#851)

<!-- CURSOR_SUMMARY -->
---

> [!NOTE]
> **Low Risk**
> Low risk release bookkeeping: version bumps and doc/CLI artifact
updates, plus minor dependency patch updates in `Cargo.lock`. No
functional Rust source changes are included in this diff.
> 
> **Overview**
> Bumps `hk` to **v1.44.0** and publishes the corresponding release
notes in `CHANGELOG.md`.
> 
> Updates generated/packaged artifacts to match the new version (CLI
docs/specs and Pkl package URLs in docs/examples), and refreshes
`Cargo.lock` for the release (including patch-level updates like
`rustls` and `winnow`).
> 
> <sup>Reviewed by [Cursor Bugbot](https://cursor.com/bugbot) for commit
a36c7a6. Bugbot is set up for automated
code reviews on this repo. Configure
[here](https://www.cursor.com/dashboard/bugbot).</sup>
<!-- /CURSOR_SUMMARY -->

Co-authored-by: mise-en-dev <123107610+mise-en-dev@users.noreply.github.com>
tmeijn pushed a commit to tmeijn/dotfiles that referenced this pull request May 8, 2026
This MR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [hk](https://github.com/jdx/hk) | minor | `1.43.0` → `1.45.0` |

MR created with the help of [el-capitano/tools/renovate-bot](https://gitlab.com/el-capitano/tools/renovate-bot).

**Proposed changes to behavior should be submitted there as MRs.**

---

### Release Notes

<details>
<summary>jdx/hk (hk)</summary>

### [`v1.45.0`](https://github.com/jdx/hk/blob/HEAD/CHANGELOG.md#1450---2026-05-04)

[Compare Source](jdx/hk@v1.44.3...v1.45.0)

##### 🚀 Features

- **(builtins)** add `buildifier` format and lint built-ins by [@&#8203;plx](https://github.com/plx) in [#&#8203;896](jdx/hk#896)

##### 🐛 Bug Fixes

- **(step)** only auto-batch when rendered command exceeds ARG\_MAX by [@&#8203;jdx](https://github.com/jdx) in [#&#8203;901](jdx/hk#901)

##### 📚 Documentation

- thank Namespace for GitHub Actions runner support by [@&#8203;jdx](https://github.com/jdx) in [#&#8203;895](jdx/hk#895)

##### 🔍 Other Changes

- **(ci)** use !cancelled() instead of always() for final job by [@&#8203;jdx](https://github.com/jdx) in [#&#8203;906](jdx/hk#906)
- **(docs)** remove shrill.en.dev analytics script by [@&#8203;jdx](https://github.com/jdx) in [#&#8203;903](jdx/hk#903)
- remove rust-cache from release jobs by [@&#8203;jdx](https://github.com/jdx) in [#&#8203;893](jdx/hk#893)
- invert CLAUDE.md/AGENTS.md so AGENTS.md is canonical by [@&#8203;jdx](https://github.com/jdx) in [#&#8203;905](jdx/hk#905)
- set dev profile debug to 1 by [@&#8203;jdx](https://github.com/jdx) in [#&#8203;907](jdx/hk#907)

##### 📦️ Dependency Updates

- update anthropics/claude-code-action digest to [`fefa07e`](jdx/hk@fefa07e) by [@&#8203;renovate\[bot\]](https://github.com/renovate\[bot]) in [#&#8203;897](jdx/hk#897)
- update jdx/mise-action digest to [`1648a78`](jdx/hk@1648a78) by [@&#8203;renovate\[bot\]](https://github.com/renovate\[bot]) in [#&#8203;898](jdx/hk#898)
- update apple-actions/import-codesign-certs action to v7 by [@&#8203;renovate\[bot\]](https://github.com/renovate\[bot]) in [#&#8203;900](jdx/hk#900)
- update autofix-ci/action action to v1.3.4 by [@&#8203;renovate\[bot\]](https://github.com/renovate\[bot]) in [#&#8203;899](jdx/hk#899)
- lock file maintenance by [@&#8203;renovate\[bot\]](https://github.com/renovate\[bot]) in [#&#8203;908](jdx/hk#908)

##### New Contributors

- [@&#8203;plx](https://github.com/plx) made their first contribution in [#&#8203;896](jdx/hk#896)

### [`v1.44.3`](https://github.com/jdx/hk/blob/HEAD/CHANGELOG.md#1443---2026-04-30)

[Compare Source](jdx/hk@v1.44.2...v1.44.3)

##### 🐛 Bug Fixes

- **(hook)** do not stage fixes when fail\_on\_fix=true by [@&#8203;jdx](https://github.com/jdx) in [#&#8203;892](jdx/hk#892)
- use site domain for plausible data-domain by [@&#8203;jdx](https://github.com/jdx) in [#&#8203;886](jdx/hk#886)
- make text-mode progress output usable in CI by [@&#8203;jdx](https://github.com/jdx) in [#&#8203;890](jdx/hk#890)

##### 📚 Documentation

- prefix GitHub star count with ★ glyph by [@&#8203;jdx](https://github.com/jdx) in [#&#8203;883](jdx/hk#883)

##### 🔍 Other Changes

- **(release)** dedupe sponsor section in release notes by [@&#8203;jdx](https://github.com/jdx) in [#&#8203;881](jdx/hk#881)
- switch analytics from gtm/goatcounter to plausible by [@&#8203;jdx](https://github.com/jdx) in [#&#8203;885](jdx/hk#885)
- migrate to namespace.so runners by [@&#8203;jdx](https://github.com/jdx) in [#&#8203;891](jdx/hk#891)

### [`v1.44.2`](https://github.com/jdx/hk/blob/HEAD/CHANGELOG.md#1442---2026-04-26)

[Compare Source](jdx/hk@v1.44.1...v1.44.2)

##### 🐛 Bug Fixes

- **(builtins)** silence pklr deprecation warnings on Builtins.pkl load by [@&#8203;jdx](https://github.com/jdx) in [#&#8203;880](jdx/hk#880)
- **(ci)** serialize docs lint step by [@&#8203;jdx](https://github.com/jdx) in [#&#8203;874](jdx/hk#874)
- **(config)** include main pkl path in cache fresh files by [@&#8203;jdx](https://github.com/jdx) in [#&#8203;879](jdx/hk#879)
- **(docs)** stack banner message and link on mobile by [@&#8203;jdx](https://github.com/jdx) in [#&#8203;865](jdx/hk#865)
- **(docs)** pin banner close button to top-right corner on mobile by [@&#8203;jdx](https://github.com/jdx) in [#&#8203;867](jdx/hk#867)

##### 📚 Documentation

- **(site)** show release version and github stars by [@&#8203;jdx](https://github.com/jdx) in [#&#8203;872](jdx/hk#872)

##### 🔍 Other Changes

- add pr-closer workflow by [@&#8203;jdx](https://github.com/jdx) in [#&#8203;876](jdx/hk#876)

##### 📦️ Dependency Updates

- bump communique 1.0.3 → 1.0.4 by [@&#8203;jdx](https://github.com/jdx) in [#&#8203;868](jdx/hk#868)
- update anthropics/claude-code-action digest to [`2da6cfa`](jdx/hk@2da6cfa) by [@&#8203;renovate\[bot\]](https://github.com/renovate\[bot]) in [#&#8203;869](jdx/hk#869)
- update anthropics/claude-code-action digest to [`567fe95`](jdx/hk@567fe95) by [@&#8203;renovate\[bot\]](https://github.com/renovate\[bot]) in [#&#8203;870](jdx/hk#870)
- bump communique to 1.1.2 by [@&#8203;jdx](https://github.com/jdx) in [#&#8203;875](jdx/hk#875)

### [`v1.44.1`](https://github.com/jdx/hk/blob/HEAD/CHANGELOG.md#1441---2026-04-24)

[Compare Source](jdx/hk@v1.44.0...v1.44.1)

##### 🐛 Bug Fixes

- **(git)** skip untracked scan when HK\_STASH\_UNTRACKED=false by [@&#8203;jdx](https://github.com/jdx) in [#&#8203;861](jdx/hk#861)
- **(run)** add post-commit and pre-rebase subcommands by [@&#8203;jdx](https://github.com/jdx) in [#&#8203;858](jdx/hk#858)

##### 📚 Documentation

- **(install)** recommend global hooks as primary setup path by [@&#8203;jdx](https://github.com/jdx) in [#&#8203;855](jdx/hk#855)
- add cross-site announcement banner by [@&#8203;jdx](https://github.com/jdx) in [#&#8203;857](jdx/hk#857)
- respect banner expires field by [@&#8203;jdx](https://github.com/jdx) in [#&#8203;862](jdx/hk#862)

##### 🔍 Other Changes

- vendor bats test helpers instead of git submodules by [@&#8203;jdx](https://github.com/jdx) in [#&#8203;859](jdx/hk#859)

##### 📦️ Dependency Updates

- bump communique to 1.0.3 by [@&#8203;jdx](https://github.com/jdx) in [#&#8203;863](jdx/hk#863)
- update anthropics/claude-code-action digest to [`e58dfa5`](jdx/hk@e58dfa5) by [@&#8203;renovate\[bot\]](https://github.com/renovate\[bot]) in [#&#8203;864](jdx/hk#864)

### [`v1.44.0`](https://github.com/jdx/hk/blob/HEAD/CHANGELOG.md#1440---2026-04-23)

[Compare Source](jdx/hk@v1.43.0...v1.44.0)

##### 🚀 Features

- **(check)** implement --plan, --why, and --json by [@&#8203;jdx](https://github.com/jdx) in [#&#8203;848](jdx/hk#848)
- **(cocogitto)** add cocogitto conventional commits config to hk builtin config by [@&#8203;hituzi-no-sippo](https://github.com/hituzi-no-sippo) in [#&#8203;838](jdx/hk#838)
- **(git)** support GIT\_DIR/GIT\_WORK\_TREE for bare-repo dotfile managers by [@&#8203;jdx](https://github.com/jdx) in [#&#8203;847](jdx/hk#847)
- **(install)** use Git 2.54 config-based hooks with --global support by [@&#8203;jdx](https://github.com/jdx) in [#&#8203;853](jdx/hk#853)

##### 🐛 Bug Fixes

- use text progress in CI by [@&#8203;jdx](https://github.com/jdx) in [#&#8203;845](jdx/hk#845)

##### 📚 Documentation

- generalize agent guidelines by [@&#8203;jdx](https://github.com/jdx) in [#&#8203;846](jdx/hk#846)
- add releases nav and aube lock by [@&#8203;jdx](https://github.com/jdx) in [#&#8203;849](jdx/hk#849)

##### 🔍 Other Changes

- **(release)** append en.dev sponsor blurb to release notes by [@&#8203;jdx](https://github.com/jdx) in [#&#8203;854](jdx/hk#854)
- bump communique to 1.0.1 by [@&#8203;jdx](https://github.com/jdx) in [#&#8203;850](jdx/hk#850)

##### 📦️ Dependency Updates

- update actions-rust-lang/setup-rust-toolchain digest to [`2b1f5e9`](jdx/hk@2b1f5e9) by [@&#8203;renovate\[bot\]](https://github.com/renovate\[bot]) in [#&#8203;832](jdx/hk#832)
- update anthropics/claude-code-action digest to [`c3d45e8`](jdx/hk@c3d45e8) by [@&#8203;renovate\[bot\]](https://github.com/renovate\[bot]) in [#&#8203;833](jdx/hk#833)
- update rust crate tokio to v1.52.1 by [@&#8203;renovate\[bot\]](https://github.com/renovate\[bot]) in [#&#8203;834](jdx/hk#834)
- update actions/upload-pages-artifact action to v5 by [@&#8203;renovate\[bot\]](https://github.com/renovate\[bot]) in [#&#8203;835](jdx/hk#835)
- update taiki-e/upload-rust-binary-action digest to [`f0d45ae`](jdx/hk@f0d45ae) by [@&#8203;renovate\[bot\]](https://github.com/renovate\[bot]) in [#&#8203;839](jdx/hk#839)
- update rust crate clx to v2 by [@&#8203;renovate\[bot\]](https://github.com/renovate\[bot]) in [#&#8203;836](jdx/hk#836)
- update anthropics/claude-code-action digest to [`0d2971c`](jdx/hk@0d2971c) by [@&#8203;renovate\[bot\]](https://github.com/renovate\[bot]) in [#&#8203;841](jdx/hk#841)
- update anthropics/claude-code-action digest to [`38ec876`](jdx/hk@38ec876) by [@&#8203;renovate\[bot\]](https://github.com/renovate\[bot]) in [#&#8203;842](jdx/hk#842)
- lock file maintenance by [@&#8203;renovate\[bot\]](https://github.com/renovate\[bot]) in [#&#8203;851](jdx/hk#851)

</details>

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - At any time (no schedule defined)
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever MR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this MR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this MR, check this box

---

This MR has been generated by [Mend Renovate](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xNjguNSIsInVwZGF0ZWRJblZlciI6IjQzLjE2OC41IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJSZW5vdmF0ZSBCb3QiLCJhdXRvbWF0aW9uOmJvdC1hdXRob3JlZCIsImRlcGVuZGVuY3ktdHlwZTo6bWlub3IiXX0=-->
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants