diff --git a/.github/release-drafter.yml b/.github/release-drafter.yml index 42b1421..8ee1d94 100644 --- a/.github/release-drafter.yml +++ b/.github/release-drafter.yml @@ -1,38 +1,38 @@ -name-template: 'v$RESOLVED_VERSION' -tag-template: 'v$RESOLVED_VERSION' +name-template: "v$RESOLVED_VERSION" +tag-template: "v$RESOLVED_VERSION" categories: - - title: '🚀 Features' + - title: "🚀 Features" labels: - - 'feature' - - 'enhancement' - - title: '🐛 Bug Fixes' + - "feature" + - "enhancement" + - title: "🐛 Bug Fixes" labels: - - 'fix' - - 'bugfix' - - 'bug' - - title: '🧰 Maintenance' + - "fix" + - "bugfix" + - "bug" + - title: "🧰 Maintenance" labels: - - 'chore' - - 'dependencies' + - "chore" + - "dependencies" -change-template: '- $TITLE @$AUTHOR (#$NUMBER)' +change-template: "- $TITLE @$AUTHOR (#$NUMBER)" change-title-escapes: '\<*_&' # You can add # and @ to disable mentions, and add ` to disable code blocks. version-resolver: major: labels: - - 'major' - - 'breaking' + - "major" + - "breaking" minor: labels: - - 'minor' - - 'feature' + - "minor" + - "feature" patch: labels: - - 'patch' - - 'fix' - - 'bugfix' + - "patch" + - "fix" + - "bugfix" default: patch template: | @@ -41,3 +41,23 @@ template: | $CHANGES **Full Changelog**: https://github.com/$OWNER/$REPOSITORY/compare/$PREVIOUS_TAG...v$RESOLVED_VERSION + +autolabeler: + - label: "bug" + branch: + - '/fix\/.+/' + title: + - "/fix/i" + - "/bug/i" + - "/bugfix/i" + - label: "enhancement" + branch: + - '/feature\/.+/' + title: + - "/feature/i" + - "/enhancement/i" + - label: "breaking" + branch: + - '/breaking\/.+/' + title: + - "/breaking/i" diff --git a/CLAUDE.md b/CLAUDE.md new file mode 100644 index 0000000..f4fe772 --- /dev/null +++ b/CLAUDE.md @@ -0,0 +1,48 @@ +# Claude Code Guidelines for Respira + +This document contains guidelines for Claude Code when working on this repository. + +## Commit Message Conventions + +When creating commits, use the following prefixes to ensure proper categorization in automated releases: + +### Commit Prefixes + +- **`fix:`** - For bug fixes and corrections + - Example: `fix: memory leak in image processing` + - Example: `fix: layout overflow on small screens` + +- **`feature:`** - For new features and enhancements + - Example: `feature: Add dark mode toggle to settings` + - Example: `feature: Implement Bluetooth device reconnection` + +- **`breaking:`** - For breaking changes (backwards-incompatible changes) + - Example: `breaking: Remove legacy API endpoints` + - Example: `breaking: Change configuration file format` + +### Additional Guidelines + +1. After the prefix, use a space and write the commit message in imperative mood +2. Capitalize the first word after the prefix +3. Do not use a period at the end of the commit message +4. Be descriptive and clear about what the change does + +### Complete Examples + +``` +fix: Correct calculation in embroidery path generator +feature: Add support for custom thread colors +breaking: Remove deprecated USB serial communication +fix: Prevent crash when device disconnects unexpectedly +feature: Implement auto-save for design projects +``` + +## Pull Request Labels + +When creating pull requests, the commit prefix should align with PR labels: + +- `fix:` commits → use `fix` label (triggers patch version bump) +- `feature:` commits → use `feature` label (triggers minor version bump) +- `breaking:` commits → use `breaking` label (triggers major version bump) + +See `docs/COMMIT_GUIDELINES.md` for complete release automation details.