Clean commits. Clear standards.
Enforce commit message, branch naming, author, and signoff standards — one policy, across your CLI, pre-commit, CI, and AI agents.
Commit Check (aka cchk) is an open-source policy engine for Git commit metadata — commit messages, branch names, committer name/email, signoff, and more — helping teams keep a consistent, compliant, and clean Git history.
Define your rules once in a single versioned config, and enforce them identically everywhere: on a developer's machine, in CI, and in AI-assisted workflows.
It's a lightweight, open alternative to GitHub Enterprise metadata restrictions and Bitbucket's paid Yet Another Commit Checker, built for a modern DevOps and Infrastructure-as-Code workflow.
| Project | What it is | Use it for |
|---|---|---|
| commit-check | Python CLI & pre-commit hook | Local checks, CI pipelines, scripting |
| commit-check-action | GitHub Action | PR & push validation, job summaries, PR comments |
| commit-check-mcp | Model Context Protocol server | Letting AI agents validate against your rules |
- ✅ Conventional Commits & Conventional Branch enforcement
- ✅ Author name / email validation with configurable patterns
- ✅ Signoff (DCO) verification
- ✅ Rebase / merge-base and force-push safety checks
- ✅ AI attribution governance — detect or forbid AI-generated commit trailers
- ✅ One config (
cchk.toml), with org-level inheritance, shared across CLI, pre-commit & CI - ✅ Job summaries & PR comments, plus JSON output and MCP tools for automation and AI agents
- 🔒 SLSA Level 3 build provenance, with artifact attestation verified at install time
- 🏢 Used by teams at Apache, Texas Instruments, Mila, and many more
- 📖 MIT licensed, actively maintained, and following Conventional Commits and Conventional Branch
We welcome feedback, bug reports, and feature requests from the community.
- Issues — bug reports & feature requests
- Discussions — questions, ideas, and community conversations
- Documentation — guides, configuration reference, and more