cuenv 0.2.0

A direnv alternative that uses CUE files for environment configuration
# Contributing to cuenv

Thank you for your interest in contributing to cuenv! This document provides guidelines and instructions for contributing.

## Code of Conduct

By participating in this project, you agree to abide by our Code of Conduct:

- Be respectful and inclusive
- Welcome newcomers and help them get started
- Focus on constructive criticism
- Show empathy towards other contributors

## How to Contribute

### Reporting Issues

- Check if the issue already exists
- Include a clear description of the problem
- Provide steps to reproduce the issue
- Include your environment details (OS, Rust version, etc.)

### Submitting Pull Requests

1. Fork the repository
1. Create a feature branch (`git checkout -b feature/amazing-feature`)
1. Make your changes
1. Add tests for new functionality
1. Ensure all tests pass (`cargo test`)
1. Format your code (`cargo fmt`)
1. Run clippy (`cargo clippy`)
1. Commit your changes with a descriptive message
1. Push to your fork
1. Open a Pull Request

### Development Setup

1. Install Rust (latest stable)
1. Install Go (for libcue bindings)
1. Clone the repository
1. Build the project:
   ```bash
   cargo build
   ```
1. Run tests:
   ```bash
   cargo test
   ```

### Testing

- Write unit tests for new functionality
- Add integration tests when appropriate
- Ensure test coverage doesn't decrease
- Run `cargo tarpaulin` to check coverage

### Code Style

- Follow Rust naming conventions
- Use `cargo fmt` to format code
- Run `cargo clippy` and address any warnings
- Write clear, self-documenting code
- Add comments for complex logic
- Update documentation when changing functionality

### Commit Messages

- Use clear, descriptive commit messages
- Start with a verb in present tense (e.g., "Add", "Fix", "Update")
- Keep the first line under 72 characters
- Reference issues when applicable

Example:

```
Add support for recursive environment loading

- Implement directory traversal logic
- Add tests for nested env.cue files
- Update documentation

Fixes #123
```

### Documentation

- Update README.md for user-facing changes
- Add inline documentation for public APIs
- Include examples for new features
- Keep documentation concise and clear

## Questions?

Feel free to open an issue for any questions about contributing!