Thank you for considering contributing to CSQLY! This document outlines the guidelines for contributing to the project.
This project adheres to a Code of Conduct. By participating, you are expected to uphold this code.
- Check if the bug is already reported in the Issues
- If not, create a new issue with details:
- A clear title
- A detailed description
- Steps to reproduce
- Expected behavior vs. actual behavior
- Environment details (OS, .NET version, etc.)
- Check if the enhancement is already suggested in the Issues
- If not, create a new issue with details:
- A clear title
- A detailed description explaining the enhancement and its benefits
- Any design considerations or implementation details
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Make your changes
- Run tests and ensure they pass (
./run_tests.shorrun_tests.bat) - Update documentation if necessary
- Commit your changes following our commit message guidelines
- Push to your branch (
git push origin feature/amazing-feature) - Open a Pull Request with a clear description of the changes
- Install .NET SDK 9.0 or later
- Clone the repository
- Run
dotnet restoreto restore dependencies - Run
dotnet buildto build the solution - Run
./run_tests.shorrun_tests.batto run tests
/CSQLY- Core library/CSQLY.Tests- Unit tests/CSQLY.CLI- Command-line interface/docs- Documentation
- Follow C# coding conventions
- Write unit tests for new features
- Document public APIs with XML comments
- Keep code maintainable and readable
Follow the Conventional Commits specification:
<type>(<scope>): <description>
[optional body]
[optional footer]Examples:
feat(sqlite): add support for BLOB datafix(parser): correct handling of null valuesdocs(readme): update installation instructions
Pull requests will be reviewed by maintainers. The review process includes:
- Code review for quality, maintainability, and adherence to project standards
- Verification that tests pass and coverage is maintained
- Documentation review if applicable
- Ensuring the PR addresses a specific issue or enhancement
By contributing to this project, you agree that your contributions will be licensed under the project's MIT License.