mirror of https://github.com/sysown/proxysql
- Comprehensive contribution guidelines for ProxySQL - Includes development setup, coding standards, and PR guidelines - Provides clear instructions for bug reports and feature requestspull/4888/merge
parent
b73160ef5f
commit
689bece9ab
@ -0,0 +1,103 @@
|
||||
# Contributing to ProxySQL
|
||||
|
||||
Thank you for your interest in contributing to ProxySQL! We welcome contributions from the community.
|
||||
|
||||
## Code of Conduct
|
||||
|
||||
We expect all contributors to be respectful and constructive. Please help us maintain a welcoming environment for everyone.
|
||||
|
||||
## Before You Start
|
||||
|
||||
Discuss major changes: For significant features or architectural changes, please open an issue first to discuss.
|
||||
|
||||
Check existing issues: Someone might already be working on something similar.
|
||||
|
||||
Reference issues: When fixing bugs or implementing requested features, mention the issue number in your PR.
|
||||
|
||||
## Development Setup
|
||||
|
||||
ProxySQL provides Docker build images for development. The required packages for building are listed in the Dockerfiles at: https://github.com/ProxySQL/docker-images/tree/main/build-images
|
||||
|
||||
For example, to see packages needed for Ubuntu 24.04, check: https://github.com/ProxySQL/docker-images/blob/main/build-images/build-ubuntu24/Dockerfile
|
||||
|
||||
## Making Changes
|
||||
|
||||
- Fork the repository
|
||||
- Create a feature branch: `git checkout -b feature/your-feature-name`
|
||||
- Make your changes
|
||||
- Ensure your code builds successfully
|
||||
- Submit a Pull Request
|
||||
|
||||
## Coding Standards
|
||||
|
||||
Follow the existing code style and patterns in the codebase
|
||||
|
||||
Use clear, descriptive names for variables and functions
|
||||
|
||||
Add comments for complex logic
|
||||
|
||||
Keep functions focused and maintainable
|
||||
|
||||
### For C++ Code:
|
||||
|
||||
- Use C++11/14 features appropriately
|
||||
- Follow RAII principles for resource management
|
||||
- Consider performance implications (ProxySQL is performance-critical)
|
||||
|
||||
## Testing
|
||||
|
||||
All PRs will go through our automated testing suite. While the full testing framework isn't publicly available, we encourage you to test your changes as thoroughly as possible.
|
||||
|
||||
## Commit Messages
|
||||
|
||||
Recommendations (not strict requirements):
|
||||
|
||||
- Use descriptive messages that explain what changed and why
|
||||
- Reference issue numbers when applicable (`#123`)
|
||||
- Keep the first line under 72 characters
|
||||
|
||||
**Example:** `Fix memory leak in connection pooling (#456)`
|
||||
|
||||
## Pull Request Guidelines
|
||||
|
||||
- Use a clear title and description
|
||||
- Explain what was changed and why
|
||||
- Note any breaking changes or performance impacts
|
||||
- Update documentation if functionality changes
|
||||
|
||||
## Reporting Bugs
|
||||
|
||||
Please include in bug reports:
|
||||
|
||||
- ProxySQL version
|
||||
- Steps to reproduce
|
||||
- Expected vs actual behavior
|
||||
- Relevant configuration details
|
||||
- Logs (with sensitive data redacted)
|
||||
|
||||
## Feature Requests
|
||||
|
||||
For new features, please:
|
||||
|
||||
- Describe the feature/problem clearly
|
||||
- Explain the use case
|
||||
- Consider performance implications
|
||||
- Note any backward compatibility concerns
|
||||
|
||||
## Questions and Support
|
||||
|
||||
- **Mailing list**: Join the ProxySQL mailing list for discussions
|
||||
- **GitHub issues**: Use GitHub issues for questions, bugs, and feature requests
|
||||
- **Search existing issues** before creating new ones
|
||||
|
||||
## Recognition
|
||||
|
||||
Contributors will be credited in the release notes for their contributions.
|
||||
|
||||
## License
|
||||
|
||||
By contributing to ProxySQL, you agree that your contributions will be licensed under the project's GPLv3 license.
|
||||
|
||||
---
|
||||
|
||||
Thank you for helping make ProxySQL better!
|
||||
Loading…
Reference in new issue