|
| 1 | +# Contributing to PrivMX |
| 2 | + |
| 3 | +## Welcome Contributors! 🎉 |
| 4 | + |
| 5 | +Thank you for your interest in contributing to our project. This document provides guidelines and instructions for contributing. |
| 6 | + |
| 7 | +## Legal Notice |
| 8 | + |
| 9 | +If you want to contribute to the project, you can clone the repository, make changes, and then submit a Pull Request (follow the guidelines below). |
| 10 | +Submitting Pull Requests to SIMPLITO's repositories is the only way of publishing modifications made to our code allowed by our License. |
| 11 | +**All the code contributed to the project is under full commercial ownership of SIMPLITO.** |
| 12 | + |
| 13 | +- [Licensing information](https://privmx.dev/licensing) |
| 14 | +- [Contact us](https://privmx.com/en/contact-us) in case of further questions. |
| 15 | + |
| 16 | +## How Can You Contribute? |
| 17 | + |
| 18 | +### Reporting Bugs 🐛 |
| 19 | + |
| 20 | +1. **Check Existing Issues**, before submitting a bug report. |
| 21 | +2. **Provide Detailed Information**, according to the bug report template in each project. |
| 22 | + |
| 23 | +### Feature Requests 💡 |
| 24 | + |
| 25 | +1. **Check Existing Suggestions**: Verify that your feature hasn't been suggested before. |
| 26 | +2. **Open a Clear Issue**, describing it according to the feature request template in each project. |
| 27 | +3. (Optional) **Open a discussion**, if you want to discuss or make sure that the feature is actually necessary. |
| 28 | + |
| 29 | +### Coding Guidelines 💻 |
| 30 | + |
| 31 | +- Follow the project's coding style and conventions |
| 32 | +- Write clear, concise, and well-documented code |
| 33 | +- Include comments for complex logic |
| 34 | + |
| 35 | +### Commit Message Conventions |
| 36 | + |
| 37 | +- Use [conventional commits](https://www.conventionalcommits.org/en/v1.0.0/) |
| 38 | +- Reference issue numbers when applicable |
| 39 | + |
| 40 | +### Pull Request Process |
| 41 | + |
| 42 | +1. **Prepare Your Changes** |
| 43 | + |
| 44 | + - Ensure code follows project guidelines |
| 45 | + - Add/update tests as needed |
| 46 | + - Update documentation in code |
| 47 | + |
| 48 | +2. **Submit Pull Request** |
| 49 | + |
| 50 | + - Title should be clear and descriptive |
| 51 | + - Include a detailed description of changes |
| 52 | + - Link any related issues |
| 53 | + |
| 54 | +3. **Code Review** |
| 55 | + - Maintainers will review your PR |
| 56 | + - Be open to feedback and suggested changes |
| 57 | + - Discussions and iterations are part of the process |
| 58 | + |
| 59 | +## Semantic Versioning Rules (A.B.C-rcX) |
| 60 | + |
| 61 | +- **New Features**: Increment `A` (major) for major changes or incompatible features, `B` (minor) for minor changes (mostly compatible with previous versions). |
| 62 | +- **Consistency**: Main library and wrappers use the same `A` and `B` versioning. |
| 63 | +- **Updates**: `C` changes are fixes and updates without new features; `C` doesn't need to be synchronized between library and wrappers. |
| 64 | +- **Release Candidate (rc)**: `X` represents consecutive release candidates for a given version. |
| 65 | +- **Before Official Release**: Release as `A.B.C-rcX` before final release; changes to new API are possible and update `X`. |
| 66 | +- **Finalizing a Version**: Release stable version when library and wrappers are fully compatible. |
| 67 | +- **Minor Changes (B)**: Increment `B` for small features, replace older functionality, and mark deprecated functions. |
| 68 | +- **Major Changes (A)**: Increment `A` for introducing major changes or features. |
| 69 | + |
| 70 | +Read more about versioning in PrivMX in [our docs](https://docs.privmx.dev/start/versioning/). |
| 71 | + |
| 72 | +## Additional Resources |
| 73 | + |
| 74 | +- [PrivMX Documentation](https://docs.privmx.dev/) |
| 75 | +- [Project map](https://docs.privmx.dev/start/project-map) |
| 76 | + |
| 77 | +## Questions? |
| 78 | + |
| 79 | +If you have any questions, please: |
| 80 | + |
| 81 | +- Check the documentation |
| 82 | +- Open an issue or a discussion in the appropriate repository |
| 83 | + |
| 84 | +--- |
| 85 | + |
| 86 | +**Thank you for contributing!** 🚀 |
0 commit comments