> ## Documentation Index
> Fetch the complete documentation index at: https://mintlify.com/dotandev/envcheck/llms.txt
> Use this file to discover all available pages before exploring further.

# Contributing to envcheck

> Learn how to contribute to envcheck - an open-source Rust project designed to be community-driven

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

```bash theme={null}
# 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.
