# Contributing to Text2SQL MCP Server Thank you for your interest in contributing to the Text2SQL MCP Server! This document provides guidelines and instructions for contributing. ## Code of Conduct Please be respectful and considerate of others when contributing to this project. We expect all contributors to adhere to the following guidelines: - Be respectful of differing viewpoints and experiences - Gracefully accept constructive criticism - Focus on what is best for the community - Show empathy towards other community members ## How to Contribute ### Reporting Bugs If you find a bug, please create an issue with the following information: 1. Clear and descriptive title 2. Steps to reproduce the issue 3. Expected behavior 4. Actual behavior 5. Environment details (OS, Python version, etc.) 6. Any additional context or screenshots ### Suggesting Enhancements For feature requests or enhancement suggestions: 1. Provide a clear description of the enhancement 2. Explain why this would be useful to most users 3. Describe the expected behavior 4. Provide examples of how the feature would be used ### Pull Requests 1. Fork the repository 2. Create a new branch (`git checkout -b feature/my-feature`) 3. Make your changes 4. Add or update tests as needed 5. Run tests and ensure they pass 6. Update documentation as needed 7. Commit your changes (`git commit -m 'Add new feature'`) 8. Push to the branch (`git push origin feature/my-feature`) 9. Create a new Pull Request ## Development Setup 1. Clone the repository 2. Install dependencies: `pip install -r requirements.txt` 3. Install development dependencies: `pip install -r requirements-dev.txt` 4. Copy `.env.example` to `.env` and configure as needed 5. Run tests: `pytest` ## Coding Standards - Follow PEP 8 style guidelines - Add docstrings to all functions, classes, and modules - Write tests for new functionality - Keep code modular and maintainable ## License By contributing to this project, you agree that your contributions will be licensed under the project's [MIT License with Additional Conditions](LICENSE). ## Contact For questions or discussions about development, please contact Akram Sheriff through the contact information provided in the repository.