@@ -78,6 +78,83 @@ 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 or by including ` BREAKING CHANGE: ` in the footer:
124+
125+ ```
126+ feat!: remove deprecated API endpoint
127+ ```
128+
129+ or
130+
131+ ```
132+ feat: update API response format
133+
134+ BREAKING CHANGE: The response format has changed from XML to JSON
135+ ```
136+
137+ ### Examples
138+
139+ Good commit messages:
140+ - ` feat: add support for custom metadata tags `
141+ - ` fix(profiling): resolve deadlock in thread sampling `
142+ - ` docs: add examples for exception tracking `
143+ - ` chore: update dependencies to latest versions `
144+ - ` test(crashtracker): add integration tests for signal handling `
145+
146+ Poor commit messages:
147+ - ` update code ` (not descriptive, missing type)
148+ - ` Fixed bug ` (missing type format, not descriptive)
149+ - ` WIP ` (not meaningful)
150+
151+ ### Pull Request Titles
152+
153+ When your pull request is merged, all commits will be squashed into a single commit. The PR title will become the final
154+ commit message, so it's important that it accurately describes your changes.For that reason your pull request title must
155+ follow the conventional commit format described above. Our CI pipeline will automatically validate the PR title and fail
156+ if it doesn't comply with the format. You can update the PR title at any time to fix any validation issues.
157+
81158## Final word
82159
83160Many thanks to all of our contributors, and looking forward to seeing you on Github! :tada :
0 commit comments