Guidelines for writing conventional commit messages that follow project standards and trigger automated releases
This skill provides comprehensive guidance on writing conventional commit messages for the uspark project. All commits must follow the Conventional Commits format to ensure consistent history and enable automated versioning via release-please.
<type>[optional scope]: <description>
[optional body]
[optional footer(s)]
feat: not Feat: or FEAT:add feature not Add featurefix user login not fix user login.add not added or adds| Type | Purpose | Release? |
|---|---|---|
feat: |
New feature | ✅ Minor bump |
fix: |
Bug fix | ✅ Patch bump |
docs: |
Documentation | ❌ No release |
refactor: |
Code refactoring | ❌ No release |
test: |
Tests | ❌ No release |
chore: |
Build/tools | ❌ No release |
Pro tip: If you want a refactor to trigger a release, use fix: refactor ... instead.
types.mdrelease-triggers.mdexamples.mdBefore committing, verify:
❌ Fix: Resolve database connection timeout. (capitalized type, has period)
❌ added user auth (missing type, wrong tense)
❌ feat: Add user authentication system with OAuth2... (capitalized description, too long)
✅ fix: resolve database connection timeout
✅ feat: add user authentication
✅ docs(api): update endpoint documentation
This skill should be triggered whenever:
The commit message should focus on why the change was made, not what was changed (git diff shows the what).