First off, thank you for considering contributing to our project! Your help is greatly appreciated.
- Ensure the bug was not already reported by searching on GitHub under Issues.
- If you're unable to find an open issue addressing the problem, open a new one. Be sure to include:
- A descriptive title and summary.
- Steps to reproduce the issue.
- Any relevant logs, screenshots, or other information.
- Search the existing Issues to see if the enhancement has already been suggested.
- If not, open a new issue and provide:
- A clear and descriptive title.
- A detailed description of the enhancement.
- Any relevant examples or use cases.
- Fork the repository.
- Create a new branch from
main(or the appropriate base branch). - Make your changes.
- Ensure your code follows the project's coding standards.
- Write or update tests as necessary.
- Commit your changes with a clear and descriptive commit message.
- Push your branch to your forked repository.
- Open a pull request against the
mainbranch of the original repository.
Please note that this project is released with a Contributor Code of Conduct. By participating in this project, you agree to abide by its terms.
This project uses Poetry for dependency management. If you don't have it installed, follow the instructions here.
To work on the project, follow these steps:
- Clone the repository.
- Install the dependencies:
poetry install. - Run the CLI application:
poetry run avtools.
Tests are not mandatory but are highly encouraged and appreciated. To run the tests, use the following command: poetry run pytest.
- After cloning the repository, create a new branch for your changes:
git checkout -b feature/my-new-feature. - Make sure to lint and format your code with
ruff. - Use semantic commit messages:
git commit -m "feat: add new feature". - Use semantic versioning for your changes. See semver.org for more information.
- A new version will be released based on the changes made, only when changes are merged into
main. To release a new version, update the version inpyproject.toml,cli.py, and create a new release (with a tag) on GitHub using the following format:vX.Y.Z.
- When merge conflicts are encountered in
poetry.lock, runpoetry lock --no-updateto resolve them.
If you need help, feel free to reach out by opening an issue or contacting the maintainers.
Thank you for your contributions!