platform/.pkb/5_development_process/pkb-contributing-guidelines.md
2024-06-24 20:03:27 -07:00

69 lines
4 KiB
Markdown

# Contributing to Protevus
Thank you for your interest in contributing to the Protevus project! We welcome and appreciate contributions from the community, as they help to make Protevus better and more robust. Whether you're reporting a bug, suggesting a new feature, or submitting a pull request, your contributions are valuable.
## Code of Conduct
Before contributing, please read and follow our [Code of Conduct](link-to-code-of-conduct). We expect all contributors to adhere to these guidelines to ensure a respectful and inclusive environment for everyone involved in the project.
## Getting Started
1. **Fork the Repository**: Start by forking the [Protevus Platform](https://github.com/protevus/platform) or [Protevus Starter Application](https://github.com/protevus/protevus) repository to your GitHub account.
2. **Clone the Repository**: Clone your forked repository to your local machine using the following command:
~~~bash
git clone https://github.com/protevus/platform.git
~~~
3. **Set up the Development Environment**: Follow the instructions in the repository's README file to set up the development environment and install any necessary dependencies.
4. **Create a Branch**: Create a new branch for your contribution using a descriptive name:
~~~bash
git checkout -b feature/your-feature-name
~~~
5. **Make Changes**: Make the desired changes to the codebase, following the project's coding conventions and best practices.
6. **Test Your Changes**: Ensure that your changes do not introduce any regressions by running the project's test suite. If you're introducing new functionality, please include appropriate tests.
7. **Commit Your Changes**: Commit your changes with a clear and descriptive commit message:
~~~bash
git commit -m "Brief description of changes"
~~~
8. **Push Your Changes**: Push your changes to your forked repository:
~~~bash
git push origin feature/your-feature-name
~~~
9. **Submit a Pull Request**: Navigate to the original repository on GitHub and submit a pull request from your forked branch to the main repository's appropriate branch (usually `main` or `develop`). Provide a clear and detailed description of your changes, including any relevant information or context.
## Contribution Guidelines
- **Follow the Coding Style**: Ensure that your code adheres to the project's coding style and conventions. We follow the [Dart Style Guide](link-to-dart-style-guide) and use tools like `dartfmt` and `dartanalyzer` to maintain consistent code formatting and style.
- **Write Tests**: We value well-tested code. If you're introducing new functionality or fixing a bug, please include appropriate tests to ensure the stability and reliability of the codebase.
- **Document Your Changes**: If your contribution involves changes to the codebase or introduces new features, please update the relevant documentation accordingly.
- **Keep It Small**: Try to keep your contributions focused and manageable. If you're working on a larger feature or refactoring, consider breaking it down into smaller, incremental changes to facilitate the review process.
- **Be Responsive**: Be prepared to engage in discussions and address any feedback or questions raised during the review process. We strive to maintain an open and collaborative environment.
## Reporting Issues
If you encounter any bugs, issues, or have feature requests, please report them in the appropriate repository's [issue tracker](link-to-issue-tracker). When reporting an issue, please provide as much detail as possible, including steps to reproduce the problem, expected behavior, and any relevant error messages or logs.
## Support and Community
If you have any questions or need further assistance, please join our community:
- **GitHub Discussions**: [github.com/protevus/platform/discussions](https://github.com/protevus/platform/discussions)
- **Twitter**: [@Protevus](https://twitter.com/Protevus)
We appreciate your contributions and look forward to working with you to make Protevus even better!