Thank you for your interest in contributing to QXMT! Contributions are welcome and appreciated. This document outlines the process for contributing to the project.
You can contribute to this project in the following ways:
- Reporting bugs: If you find any bugs, let us know.
- Proposing new features: Suggest new features or improvements.
- Contributing code: Fix bugs or add new features through code contributions.
- Improving documentation: Help improve or translate the documentation.
When reporting a bug, please provide the following details:
- Environment details (operating system, Python version, etc.)
- Steps to reproduce the issue
- Expected behavior
- Actual behavior
- Any relevant error messages or screenshots
Please submit bug reports through the Issues section.
We welcome ideas for new features or improvements. When proposing a new feature, please explain what problem it solves and how it benefits the project. Feature proposals can be submitted through the Issues section.
To contribute code, follow these steps:
- Fork the QXMT repository.
- Create a new branch for your feature or bug fix (e.g., feature/my-new-feature).
- Make your changes and write clear commit messages.
- Ensure that all tests pass locally.
- Submit a pull request (PR).
Please follow these coding style guidelines:
- Use Black as the code formatter with the option
--line-length=120
. - Ensure the code is type-hinted and checked with mypy. The mypy configuration can be found in mypy.ini.
- For docstrings, use the Google style for functions and classes.
When contributing code, make sure to add or update relevant tests. Ensure that the test suite passes locally before submitting your PR.
You can run the tests with the following command:
poetry run pytest
Before creating a pull request:
- Ensure that all tests pass and check code style.
- Rebase your branch on the latest main branch, if needed.
- The pull request will be reviewed, and feedback may be provided. If changes are requested, please update your PR accordingly.
We expect contributors to be respectful to others and provide constructive feedback. Let’s maintain a positive and collaborative environment where everyone can contribute comfortably.
By contributing to this project, you agree that your contributions will be licensed under the same MIT License that covers the project. For more details, please refer to the LICENSE file.