@@ -78,6 +78,75 @@ We also recommend that you share in your description:
7878If at any point you have a question or need assistance with your pull request, feel free to mention a project member!
7979We're always happy to help contributors with their pull requests.
8080
81+ ## Commit Message Guidelines
82+
83+ This project uses [ Conventional Commits] ( https://www.conventionalcommits.org/ ) for commit messages and pull request titles.
84+ This format helps us automatically generate changelogs and determine semantic versioning.
85+
86+ ### Format
87+
88+ Commit messages and PR titles should follow this structure:
89+
90+ ```
91+ <type>[optional scope]: <description>
92+
93+ [optional body]
94+
95+ [optional footer(s)]
96+ ```
97+
98+ ### Common Types
99+
100+ - ** feat** : A new feature for the user
101+ - ** fix** : A bug fix
102+ - ** docs** : Documentation changes only
103+ - ** style** : Code style changes (formatting, missing semicolons, etc.) that don't affect functionality
104+ - ** refactor** : Code changes that neither fix a bug nor add a feature
105+ - ** perf** : Performance improvements
106+ - ** test** : Adding or updating tests
107+ - ** build** : Changes to the build system or external dependencies
108+ - ** ci** : Changes to CI configuration files and scripts
109+ - ** chore** : Other changes that don't modify src or test files
110+
111+ ### Scope (Optional)
112+
113+ The scope provides additional context about which part of the codebase is affected:
114+
115+ ```
116+ feat(crashtracker): add signal handler for SIGSEGV
117+ fix(profiling): correct memory leak in stack unwinding
118+ docs(readme): update installation instructions
119+ ```
120+
121+ ### Breaking Changes
122+
123+ Breaking changes should be indicated by a ` ! ` after the type/scope:
124+
125+ ```
126+ feat!: remove deprecated API endpoint
127+ ```
128+
129+ ### Examples
130+
131+ Good commit messages:
132+ - ` feat: add support for custom metadata tags `
133+ - ` fix(profiling): resolve deadlock in thread sampling `
134+ - ` docs: add examples for exception tracking `
135+ - ` chore: update dependencies to latest versions `
136+ - ` test(crashtracker): add integration tests for signal handling `
137+
138+ Poor commit messages:
139+ - ` update code ` (not descriptive, missing type)
140+ - ` Fixed bug ` (missing type format, not descriptive)
141+ - ` WIP ` (not meaningful)
142+
143+ ### Pull Request Titles
144+
145+ When your pull request is merged, all commits will be squashed into a single commit. The PR title will become the final
146+ commit message, so it's important that it accurately describes your changes.For that reason your pull request title must
147+ follow the conventional commit format described above. Our CI pipeline will automatically validate the PR title and fail
148+ if it doesn't comply with the format. You can update the PR title at any time to fix any validation issues.
149+
81150## Final word
82151
83152Many thanks to all of our contributors, and looking forward to seeing you on Github! :tada :
0 commit comments