First off, thank you for considering contributing to TeaQL! It's people like you that make TeaQL such a great tool.
By participating in this project, you are expected to uphold our Code of Conduct.
Before creating bug reports, please check the existing issues as you might find out that you don't need to create one. When you are creating a bug report, please include as many details as possible:
- Use a clear and descriptive title.
- Describe the exact steps which reproduce the problem.
- Provide specific examples to demonstrate the steps.
Enhancement suggestions are tracked as GitHub issues. When creating an enhancement suggestion, please provide:
- A clear and descriptive title.
- A step-by-step description of the suggested enhancement.
- Explain why this enhancement would be useful.
- Fork the repository and create your branch from
main. - If you've added code that should be tested, add tests.
- Ensure the test suite passes.
- Make sure your code conforms to our coding standards.
- Issue that pull request!
To ensure consistency and quality, all contributions must adhere to the following requirements:
- Java Version: All code must remain compatible with Java 17.
- GraalVM Compatibility: Do not use reflection APIs. This is strictly enforced by our CI pipeline and described in the native image reflection guide.
- Tests: Any new functionality MUST include corresponding tests. Existing tests must not break.
- Static Analysis: Code must pass SpotBugs without introducing new high-priority warnings.
- Commit Messages: Use clear and descriptive commit messages. We recommend Conventional Commits.
Please refer to the README.md for instructions on how to build and run the project locally.