# Contributing to Edsger

We welcome contributions to the Edsger library! This document provides guidelines for contributing to the project.

## Getting Started

### Development Environment

1. Clone the repository:
   ```bash
   git clone https://github.com/aetperf/Edsger.git
   cd Edsger
   ```

2. Create a virtual environment:
   ```bash
   python -m venv venv
   source venv/bin/activate  # On Windows: venv\Scripts\activate
   ```

3. Install development dependencies:
   ```bash
   pip install -r requirements-dev.txt
   pip install -e .
   ```

## Development Guidelines

### Code Style

- Follow PEP 8 for Python code
- Use meaningful variable and function names
- Add docstrings to all public functions and classes
- Keep functions focused and concise

### Testing

- Write tests for all new features
- Ensure all tests pass before submitting a pull request
- Aim for high test coverage

### Documentation

- Update documentation for any new features or changes
- Use clear and concise language
- Include examples where appropriate

## Submitting Changes

1. Fork the repository on GitHub
2. Create a new branch for your feature or bugfix
3. Make your changes and commit them with clear commit messages
4. Push your branch to your fork
5. Submit a pull request with a clear description of your changes

## Reporting Issues

When reporting issues, please include:

- A clear description of the problem
- Steps to reproduce the issue
- Expected vs actual behavior
- System information (OS, Python version, etc.)

## Questions?

If you have questions about contributing, please open an issue on GitHub or contact the maintainers.

Thank you for contributing to Edsger!