# Contributing to Equation2Graph Thank you for considering contributing to Equation2Graph! This document outlines the process for contributing to this project. ## Code of Conduct By participating in this project, you agree to abide by our code of conduct: be respectful, supportive, and constructive in all interactions. ## How to Contribute ### Reporting Bugs If you find a bug, please create an issue with the following information: - A clear, descriptive title - Steps to reproduce the bug - Expected behavior - Actual behavior - Screenshots (if applicable) - Your environment (OS, browser, Python version) ### Suggesting Features We welcome feature suggestions! Please create an issue with: - A clear, descriptive title - Detailed description of the proposed feature - Any relevant mockups or examples - Explanation of why this feature would be useful ### Pull Requests 1. Fork the repository 2. Create a new branch (`git checkout -b feature/your-feature-name`) 3. Make your changes 4. Add or update tests as needed 5. Run the test suite to ensure all tests pass 6. Update documentation if necessary 7. Commit your changes (`git commit -m 'Add feature: your feature name'`) 8. Push to your branch (`git push origin feature/your-feature-name`) 9. Open a pull request ### Pull Request Guidelines - Follow the existing code style - Include tests for new features or bug fixes - Update documentation as needed - One pull request per feature/fix - Keep pull requests focused and specific ## Development Setup 1. Clone the repository 2. Install dependencies: ``` pip install -r requirements.txt ``` 3. Run the application: ``` streamlit run app.py ``` ## Testing Please ensure that all tests pass before submitting a pull request: ``` pytest ``` ## Documentation If your changes affect how users interact with the application, please update the README.md file accordingly. ## Code Style Follow these guidelines for code style: - Use meaningful variable and function names - Write docstrings for functions and classes - Follow PEP 8 guidelines - Keep functions focused and modular ## License By contributing to this project, you agree that your contributions will be licensed under the project's [MIT License](LICENSE).