Contributing

Guidelines for contributing to Zoneweaver frontend development.

Table of contents

  1. Contributing to Zoneweaver
    1. Important Note on Resources
    2. How to Contribute
      1. Reporting Issues
      2. Submitting Pull Requests
      3. Development Setup
      4. Code Style Guidelines
      5. What We’re Looking For
    3. Response Times and Review Process
    4. Getting Help
    5. Recognition
    6. Code of Conduct
    7. License

Contributing to Zoneweaver

Thank you for your interest in contributing to Zoneweaver! We welcome contributions from the community as they are essential for the project’s continued growth and development.

Important Note on Resources

Zoneweaver 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:

  1. Search existing issues to avoid duplicates
  2. Use the appropriate issue template (bug report, feature request, etc.)
  3. Provide detailed information to help us understand and prioritize the issue
  4. Include system information (OmniOS version, Node.js version, etc.)

Submitting Pull Requests

We appreciate all pull requests! To ensure smooth collaboration:

  1. Fork the repository and create your feature branch from main
  2. Follow the existing code style and patterns
  3. Add tests for new functionality when possible
  4. Update documentation if your changes affect the API or configuration
  5. Write clear commit messages describing your changes
  6. Fill out the pull request template completely

Development Setup

  1. Clone your fork of the repository
  2. Install dependencies: npm install
  3. Copy config/config.yaml.example to config/config.yaml and configure for development
  4. Run in development mode: npm run dev
  5. 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 Zoneweaver, 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 Zoneweaver better for everyone!