|
| 1 | +##### Contributing |
| 2 | + |
| 3 | +## Important Information for Contributors |
| 4 | + |
| 5 | +### Thank You for Your Contribution! 🙌 |
| 6 | +Your work helps make Markdown Editor better. To keep everything organized, reviews simple, and collaboration efficient, please follow these guidelines. |
| 7 | + |
| 8 | +### Core Contributors |
| 9 | +- [@d3m1d0v](https://github.com/d3m1d0v) |
| 10 | +- [@makhnatkin](https://github.com/makhnatkin) |
| 11 | + |
| 12 | +### Commit and PR Standards |
| 13 | +We follow [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/) for consistency. The available commit types are: |
| 14 | + |
| 15 | +- **`feat`**: New features (triggers a **minor release**). |
| 16 | +- **`fix`**: Bug fixes (triggers a **patch release**). |
| 17 | +- **`refactor`**: Code structure changes without affecting functionality. |
| 18 | +- **`perf`**: Performance improvements. |
| 19 | +- **`build`**: Changes to the build system or dependencies. |
| 20 | +- **`chore`**: Miscellaneous tasks that don’t modify source code or tests. |
| 21 | +- **`ci`**: Updates to CI configuration. |
| 22 | +- **`docs`**: Documentation updates. |
| 23 | +- **`test`**: Adding or updating tests. |
| 24 | + |
| 25 | +#### Key Notes: |
| 26 | +1. Only `feat`, `fix`, `refactor`, and `perf` are included in the changelog. |
| 27 | +2. Other types (e.g., `docs`, `chore`) are excluded from the changelog but still improve clarity. |
| 28 | +3. **Avoid using `feat!`**, as it signals breaking changes. For such changes, create or comment on an issue tagged with `breaking change` in [Planned Breaking Changes](https://github.com/gravity-ui/markdown-editor/issues?q=is%3Aissue+is%3Aopen+label%3A%22breaking+change%22). |
| 29 | + |
| 30 | +### PR Titles, Descriptions, Linking to Issues |
| 31 | +- **Titles**: Titles will be used in the changelog. Keep them concise, clear, and meaningful. |
| 32 | +- **Commit messages**: These will be squashed during the merge, but clear messages help during code reviews. |
| 33 | +- **Descriptions**: |
| 34 | + - Include a reference to the related issue using `#` (e.g., `#123`). |
| 35 | + - Use **[keywords](https://docs.github.com/en/issues/tracking-your-work-with-issues/using-issues/linking-a-pull-request-to-an-issue#linking-a-pull-request-to-an-issue-using-a-keyword)** (e.g., `Fixes #123`) to link the issue in the "Development" section of GitHub. |
| 36 | + - If no issue exists, briefly describe the task and why it’s needed. |
| 37 | + - Add a "before and after" demo if it helps clarify the changes. See an example [here](https://github.com/gravity-ui/markdown-editor/pull/476). |
| 38 | + |
| 39 | +### Organizing PRs for Reviews |
| 40 | +- Split changes into **logically complete commits**. |
| 41 | +- Don’t mix refactoring with feature/bug fixes in the same PR. Use separate PRs or commits. |
| 42 | +- Keep PRs small and focused. Clear and manageable PRs are reviewed faster. |
| 43 | + |
| 44 | +### Tests, Stories, Documentation |
| 45 | +It’s highly recommended that PRs include: |
| 46 | +- **Tests**: Cover any new features or changes. |
| 47 | +- **Stories**: Add Storybook stories for UI updates. |
| 48 | +- **Documentation**: Update relevant docs for API or functional changes. |
| 49 | + |
| 50 | +### Language Requirements |
| 51 | +- **Use English for all comments, PR descriptions, and commits**: |
| 52 | + This ensures contributors from different countries can easily understand the context and changes. |
| 53 | + |
| 54 | +### Ask for Help |
| 55 | +If you have questions, reach out to the core contributors. We’re here to assist you. |
| 56 | + |
| 57 | +By following these guidelines, we can ensure high-quality contributions, smooth reviews, and efficient development. Thank you for making Markdown Editor better! 🚀 |
0 commit comments