Skip to main content
Thank you for considering contributing to envcheck! It’s people like you that make envcheck such a great tool.

Code of Conduct

This project and everyone participating in it is governed by our Code of Conduct. By participating, you are expected to uphold these standards:

Our Pledge

We pledge to make participation in our project and community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation.

Our Standards

Examples of behavior that contributes to creating a positive environment:
  • Using welcoming and inclusive language
  • Being respectful of differing viewpoints and experiences
  • Gracefully accepting constructive criticism
  • Focusing on what is best for the community
  • Showing empathy towards other community members
Examples of unacceptable behavior:
  • The use of sexualized language or imagery and unwelcome sexual attention or advances
  • Trolling, insulting/derogatory comments, and personal or political attacks
  • Public or private harassment
  • Publishing others’ private information without explicit permission
  • Other conduct which could reasonably be considered inappropriate in a professional setting

Enforcement

Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team. All complaints will be reviewed and investigated promptly and fairly.

Types of Contributions

Reporting Bugs

Before creating bug reports, please check the existing issues to avoid duplicates. When you create a bug report, include as many details as possible:
  • Use a clear and descriptive title
  • Describe the exact steps to reproduce the problem
  • Provide your .envcheck.yaml configuration
  • Include your OS and version
  • Paste the full error message

Suggesting Enhancements

Enhancement suggestions are tracked as GitHub issues. When creating an enhancement suggestion:
  • Use a clear and descriptive title
  • Provide a detailed description of the suggested enhancement
  • Explain why this enhancement would be useful
  • List some examples of how it would be used

Your First Code Contribution

Unsure where to begin? Look for issues labeled:
  • good first issue - Simple issues perfect for newcomers
  • help wanted - Issues where we need community help
These issues are great starting points for new contributors and help you get familiar with the codebase.

Pull Requests

When submitting a pull request:
  1. Fork the repo and create your branch from main
  2. Make your changes - follow the coding style below
  3. Add tests if you’ve added code that should be tested
  4. Ensure the test suite passes (cargo test)
  5. Run cargo fmt to format your code
  6. Run cargo clippy to catch common mistakes
  7. Write a good commit message
  8. Submit your pull request

Coding Style

  • Follow Rust conventions and idioms
  • Use cargo fmt for formatting
  • Use cargo clippy to catch common mistakes
  • Write clear, descriptive variable names
  • Add comments for complex logic
  • Keep functions small and focused

Testing

  • Write unit tests for new functionality
  • Add integration tests for end-to-end scenarios
  • Ensure all tests pass before submitting PR
  • Aim for high test coverage
# Run all tests
cargo test

# Run specific test
cargo test test_name

# Run with output
cargo test -- --nocapture

Commit Messages

  • Use the present tense (“Add feature” not “Added feature”)
  • Use the imperative mood (“Move cursor to…” not “Moves cursor to…”)
  • Limit the first line to 72 characters
  • Reference issues and pull requests liberally
Examples:
  • Add support for Python version checking
  • Fix port validation on Windows
  • Update README with new examples

Recognition

Contributors will be recognized in our README and release notes. Thank you for making envcheck better!

Questions?

Feel free to open an issue with your question or reach out to the maintainers.