31
GitHub Stars
1
Bundled Files
2 months ago
Catalog Refreshed
4 months ago
First Indexed
Readme & install
Copy the install command, review bundled files from the catalogue, and read any extended description pulled from the listing source.
Installation
Preview and clipboard use veilstrat where the catalogue uses aiagentskills.
npx veilstrat add skill pplmx/husky-rs --skill conventional-commits- SKILL.md2.3 KB
Overview
This skill enforces the Conventional Commits specification to keep commit messages and PR titles consistent, machine-parseable, and semver-friendly. It runs as a git hook to validate format, types, scopes, and optional body/footer rules so repository history stays clean and automatable. Use it to prevent invalid commit messages from entering the main branch and to standardize metadata for changelogs and CI tooling.
How this skill works
The hook inspects each commit message or proposed PR title against the Conventional Commits regex and rules, verifying type, optional scope, subject formatting, and the presence and structure of optional body and footer sections. It rejects commits that violate imperative mood, trailing periods, uppercase subjects, missing blank-line separation, or incorrect breaking-change and issue-tracking footers. The check runs locally during commit/PR creation, providing actionable error messages and examples to fix violations.
When to use it
- Enforce consistent commit messages across a team
- Automate changelog generation and semantic versioning
- Prevent malformed commits from reaching CI or main branches
- Ensure PR titles align with commit history and release tooling
- Adopt Conventional Commits in new or existing projects
Best practices
- Require atomic commits that clearly describe one change per message
- Use the provided list of allowed types (feat, fix, docs, style, refactor, perf, test, build, ci, chore, revert)
- Keep subject concise, in imperative mood, lowercase, and without a trailing period
- Add an optional body to explain why and how; wrap lines around 72 characters
- Use footer for BREAKING CHANGE: and issue references like Fixes #123
Example use cases
- Block commits that don’t match the subject regex before pushing
- Fail PR title checks in CI if the title isn’t a valid Conventional Commit
- Enforce breaking-change notation so release tooling bumps major versions correctly
- Standardize commit history before a big release or open-source migration
- Prevent noisy or ambiguous changelog entries by mandating scopes and types
FAQ
Subjects must match the Conventional Commits pattern: type(scope)?: subject using allowed types. Optional scope uses lowercase letters, numbers, and hyphens. The subject must be imperative, lowercase (except proper nouns), and not end with a period.
How are breaking changes represented?
Include a footer starting with BREAKING CHANGE: followed by a clear description. This triggers major-version bumps in semantic-release and similar tools.
Can I combine multiple changes in one commit?
Prefer atomic commits. If you must combine, use the body to list related changes and ensure the subject reflects the dominant change type.