diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index b21125e6..38881865 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -18,6 +18,7 @@ Use your best judgment, and feel free to propose changes to this document in a p - [Code style](#code-style) - [GitHub Actions integration](#github-actions-integration) - [Notify how impactful your change will be](#notify-how-impactful-your-change-will-be) + - [Naming your pull request](#naming-your-pull-request) - [Update your PR](#update-your-pr) - [Resync PR with main](#resync-pr-with-main) - [Examples](#examples) @@ -78,6 +79,43 @@ Any change in the code may have impact in the next release. In order to ease our In order to ease this work, before opening the PR (or after if you forgot to do it), you should run the script `pnpm -w run bump` to underline which packages have been impacted. Please note that our internals and private packages must always be toggled to 'decline' as we don't plan to bump their versions. +#### Naming your pull request + +We follow the [gitmoji](https://gitmoji.dev/) specification for PR titles. Each PR title must start with a gitmoji that describes the nature of the change. Here are some commonly used ones: + +| Gitmoji | Code | Description | +| ------- | ----------------------- | -------------------- | +| ✨ | `:sparkles:` | New feature | +| 🐛 | `:bug:` | Bug fix | +| 📝 | `:memo:` | Documentation | +| ✅ | `:white_check_mark:` | Tests | +| 🏷️ | `:label:` | Types | +| ⚡️ | `:zap:` | Performance | +| ♻️ | `:recycle:` | Refactoring | +| 🔧 | `:wrench:` | Configuration | +| 🎨 | `:art:` | Code style/format | +| 🔥 | `:fire:` | Remove code/files | +| ⬆️ | `:arrow_up:` | Upgrade dependencies | +| 🗑️ | `:wastebasket:` | Deprecation | +| 👷 | `:construction_worker:` | CI | + +For the full list, see [gitmoji.dev](https://gitmoji.dev/). + +When the change targets a package **other than `fast-check`**, add the package scope in parentheses after the emoji. The available scopes correspond to the package directory names: + +- `ava` — for `@fast-check/ava` +- `jest` — for `@fast-check/jest` +- `vitest` — for `@fast-check/vitest` +- `worker` — for `@fast-check/worker` +- `poisoning` — for `@fast-check/poisoning` +- `packaged` — for `@fast-check/packaged` + +**Examples:** + +- `✨ Add new arbitrary for dates` — a feature in the main `fast-check` package (no scope needed) +- `🐛(vitest) Fix compatibility with vitest 4` — a bug fix in `@fast-check/vitest` +- `📝(jest) Improve usage examples` — documentation update for `@fast-check/jest` + #### Update your PR If you plan to update your PR with either a fix for the tests or change following code reviews please directly commit your new commit in your branch, PR will get updated automatically.