Contributing
Guidelines for contributing to PatchPanel development.
Table of contents
- TOC
Contributing to PatchPanel
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.
Important Note on Resources
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.
How to Contribute
Reporting Issues
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.)
Submitting Pull Requests
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
Development Setup
- 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.
Code Style Guidelines
- 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
What We’re Looking For
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
Response Times and Review Process
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
Getting Help
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
Recognition
All contributors are recognized in our AUTHORS.md file. We appreciate every contribution, from small bug fixes to major features!
Code of Conduct
Please note that this project follows our Code of Conduct. By participating, you agree to abide by its terms.
License
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!