Files
ccs/commitlint.config.cjs
T
kaitranntt d3d96371de feat(release): implement semantic versioning automation with conventional commits
- Add semantic-release for automated npm publishing
- Add commitlint + husky for commit message enforcement
- Add professional branching strategy (beta → main workflow)
- Create .releaserc.json with multi-branch config
- Create sync-version-plugin.cjs for VERSION file sync
- Update release.yml workflow (Node.js 22 required)
- Update CLAUDE.md and CONTRIBUTING.md with new workflow
- Deprecate manual bump-version.sh script
2025-11-30 18:56:02 -05:00

26 lines
1001 B
JavaScript

// Commitlint configuration for conventional commits
// See: https://commitlint.js.org/
module.exports = {
extends: ['@commitlint/config-conventional'],
rules: {
// Allowed commit types (determines version bump)
'type-enum': [2, 'always', [
'feat', // New feature → MINOR
'fix', // Bug fix → PATCH
'docs', // Documentation only → no release
'style', // Formatting, no code change → no release
'refactor', // Code change, no feat/fix → no release
'perf', // Performance improvement → PATCH
'test', // Adding tests → no release
'chore', // Maintenance → no release
'ci', // CI/CD changes → no release
'build', // Build system → no release
'revert' // Revert commit → PATCH
]],
// Subject must be lowercase
'subject-case': [2, 'always', 'lower-case'],
// Max header length (type + scope + subject)
'header-max-length': [2, 'always', 100]
}
};