Contributing
Guidelines for contributing to ZoneweaverAPI development.
Table of contents
Contributing to ZoneweaverAPI
Thank you for your interest in contributing to ZoneweaverAPI! We welcome contributions from the community as they are essential for the project’s continued growth and development.
Important Note on Resources
ZoneweaverAPI 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 (OmniOS version, Node.js 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
config/config.yaml.example
toconfig/config.yaml
and configure for development - Run in development mode:
npm run dev
- Access the API documentation at
http://localhost:5000/api-docs
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:
- New zone management features
- 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 ZoneweaverAPI, 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 ZoneweaverAPI better for everyone!