Skip to content

Latest commit

 

History

History
49 lines (37 loc) · 3.13 KB

CONTRIBUTING.md

File metadata and controls

49 lines (37 loc) · 3.13 KB

Contributing to ChatWithSQL

Thank you for considering contributing to ChatWithSQL! We welcome contributions that improve this project and help make it more powerful, secure, and useful for the community. By contributing, you are helping to enhance the security and usability of a revolutionary Text-to-SQL system with schema validation.

How You Can Contribute

There are several ways you can contribute to ChatWithSQL:

1. Reporting Issues

If you encounter any bugs, issues, or unexpected behavior while using the project, please open an Issue on our GitHub repository. Be sure to include the following details:

  • Steps to reproduce the issue
  • Expected behavior
  • Any error messages or logs
  • System details (OS, Python version, LLM provider, etc.)

2. Suggesting Features

We are constantly looking for ways to improve ChatWithSQL. If you have any ideas for new features or enhancements, feel free to open an Issue and label it with "Feature Request". Be sure to describe the use case and why you think this feature would be valuable.

3. Writing Code

We welcome code contributions in the form of pull requests (PRs). To ensure consistency, we ask that you follow these steps:

  • Fork the repository to your own GitHub account.
  • Clone your fork to your local machine.
  • Create a branch for your feature or bug fix (git checkout -b feature-name).
  • Make your changes and commit them with clear, concise commit messages.
  • Push your changes to your fork (git push origin feature-name).
  • Open a Pull Request to the main repository. Be sure to include a detailed description of your changes, why they were made, and how they improve the project.

4. Writing Tests

To ensure the reliability of ChatWithSQL, contributions that include new functionality should also come with appropriate tests. We use standard Python testing frameworks such as unittest or pytest. Please make sure your tests are comprehensive and cover edge cases.

5. Improving Documentation

Clear and concise documentation is crucial for making the project more accessible to new users and contributors. Here’s how you can help:

  • Improve existing documentation by clarifying or expanding on unclear parts.
  • Add examples demonstrating common use cases.
  • Update the README.md or CONTRIBUTING.md to reflect changes or new features.

Code Style Guidelines

  • Follow PEP 8 for Python code style.
  • Use docstrings for all public classes, functions, and methods to describe their purpose and usage.
  • Include type hints wherever possible for better code clarity.

Code of Conduct

We expect all contributors to follow the Code of Conduct, which promotes a welcoming and inclusive environment. Please be respectful to others in your communications and interactions.

License

By contributing to this project, you agree that your contributions will be licensed under the same license as the project. See the LICENSE file for more information.

Acknowledgments

We thank all contributors for their efforts and ideas. Without the open-source community, this project wouldn't be possible.