packages feed

clod-0.1.0: CONTRIBUTING.md

# Contributing to Clod

Thank you for considering contributing to Clod! This document outlines the process for contributing to the project.

## Code of Conduct

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

## How Can I Contribute?

### Reporting Bugs

- Check if the bug has already been reported
- Use the bug report template if available
- Include as much detail as possible
- Include steps to reproduce the issue
- Include the version of Clod you're using
- Include your OS and environment details

### Suggesting Enhancements

- Check if the enhancement has already been suggested
- Provide a clear description of the enhancement
- Explain why this enhancement would be useful
- Consider how the enhancement fits with the project's goals

### Pull Requests

1. Fork the repository
2. Create a branch for your changes
3. Make your changes
4. Add or update tests as necessary
5. Update documentation if needed
6. Run the test suite: `cabal test`
7. Ensure your changes meet the project's code style
8. Submit the pull request

## Development Setup

Ensure you have the following installed:

- GHC (Glasgow Haskell Compiler) 9.0 or newer
- Cabal 3.0 or newer
- Git

Clone the repository:

```bash
git clone https://github.com/fuzz/clod.git
cd clod
```

Build the project:

```bash
cabal build
```

Run the tests:

```bash
cabal test
```

## Style Guidelines

This project follows idiomatic Haskell style:

- Use 2 spaces for indentation (no tabs)
- Provide Haddock documentation for public functions
- Use meaningful variable names
- Follow the [Haskell Style Guide](https://github.com/tibbe/haskell-style-guide/blob/master/haskell-style.md)

## Commit Messages

- Use the present tense ("Add feature" not "Added feature")
- Use the imperative mood ("Move cursor to..." not "Moves cursor to...")
- Reference issues and pull requests where appropriate
- Consider starting with a tag:
  - `feat:` for new features
  - `fix:` for bug fixes
  - `docs:` for documentation changes
  - `test:` for test changes
  - `refactor:` for code refactoring

## Testing

- Add tests for every new feature
- Update tests for bug fixes
- Run the test suite before submitting a pull request
- Aim for high test coverage

## Documentation

- Update the README.md if necessary
- Add Haddock documentation for new functions
- Update example code if needed
- Consider updating the CHANGELOG.md for significant changes

## Questions?

If you have any questions about contributing, feel free to open an issue or reach out to the maintainers directly.