Thank you for your interest in contributing to PatchPanel! We welcome contributions from the community as they are essential for the project's continued growth and development.
PatchPanel is maintained with limited development resources. Community contributions directly impact the pace of feature development and bug fixes.
The more the community contributes, the faster the project can grow and improve.
Before creating an issue, please:
- Search existing issues to avoid duplicates
- Use the appropriate issue template (bug report, feature request, etc.)
- Provide detailed information to help us understand and prioritize the issue
- Include system information (Debian/Ubuntu version or Home Assistant addon version, Node.js version, HAProxy version, etc.)
We appreciate all pull requests! To ensure smooth collaboration:
- Fork the repository and create your feature branch from
main - Follow the existing code style and patterns
- Add tests for new functionality when possible
- Update documentation if your changes affect the API or configuration
- Write clear commit messages describing your changes
- Fill out the pull request template completely
- Clone your fork of the repository
- Install dependencies:
npm install - Copy
packaging/config/production-config.yamltodev.config.yamlat the repo root and adjust paths for local testing (the loader prefersdev.config.yamlwhen present, so production config is untouched) - Run in development mode:
npm run dev - Access the management UI and API at
http://localhost:8099(configurable indev.config.yaml); the API documentation lives at/api-docsonce Swagger UI is wired up.
- Follow existing JavaScript/Node.js conventions
- Use meaningful variable and function names
- Comment complex logic appropriately
- Maintain consistent indentation (2 spaces)
- Keep functions focused and modular
High Impact Contributions:
- Bug fixes (especially those affecting system stability)
- Security improvements
- Performance optimizations
- Documentation improvements
- Test coverage improvements
Feature Contributions:
- Enhanced monitoring capabilities
- API improvements
- Better error handling
- Integration improvements
Due to limited development resources:
- Issue responses: We aim to acknowledge new issues within a few days
- Pull request reviews: Reviews may take weeks depending on complexity and current workload
- Feature requests: Prioritized based on community needs and available resources
- Documentation updates: Generally reviewed quickly as they're high-impact, low-risk
If you need help with contributing:
- GitHub Discussions: Ask questions about development
- Issues: Use the "question" template for specific inquiries
- Documentation: Check our comprehensive documentation
All contributors are recognized in our AUTHORS.md file. We appreciate every contribution, from small bug fixes to major features!
Please note that this project follows our Code of Conduct. By participating, you agree to abide by its terms.
By contributing to PatchPanel, you agree that your contributions will be licensed under the GPL-3.0 License.
Remember: Your contributions directly influence the project's development speed and capabilities.
Thank you for helping make PatchPanel better for everyone!