Thank you for considering contributing to this project! We welcome all contributions, whether it's bug reports, new features, documentation improvements, or anything else that enhances the project.
For general project info, setup instructions, and usage examples, see the README.
- If you find a bug or have a feature request, open a GitHub Issue.
- Provide clear and detailed information, including steps to reproduce the issue (if applicable).
- Suggest a possible fix or enhancement if you have one.
- If you are an external contributor, fork this repository first.
- Clone your fork:
git clone https://github.com/<your-github-username>/robotframework-xmlvalidator.git
- Navigate into the directory:
cd robotframework-xmlvalidator - If you have maintainer write access, you may instead clone the canonical repository directly:
git clone https://github.com/MichaelHallik/robotframework-xmlvalidator.git cd robotframework-xmlvalidator - Create a new branch for your feature/fix:
Use clear, descriptive branch names. Suggested prefixes:
git switch -c feature/schema-validation
feature/<short-description>for new featuresfix/<issue-id>for bug fixesdocs/<section>for documentation updateschore/<task>for maintenance or config changes
- Follow the existing code structure and style.
- Ensure your code is well-documented.
- Run linting, formatting and typing checks before committing:
poetry run pylint src poetry run black src --check poetry run pyright --project pyrightconfig.json
- Make sure all unit tests pass before committing:
See
poetry run python -m pytest test/unit
test/_doc/unit/README.mdfor details. - Make sure all integration tests pass before committing:
See
poetry run python -m robot --outputdir results test/integration
test/_doc/integration/README.mdfor details.
- Commit your changes with a meaningful message:
git commit -m "Add feature XYZ." - Push the branch to your fork, or to the canonical repository if you are a maintainer:
git push -u origin feature/schema-validation
- If you had not done so earlier, test, lint and document (see step 2).
- Update or add documentation as needed.
- Add an entry to
CHANGELOG.mdsummarizing your change (under "Unreleased").
Then:
- Open a PR against the
mainbranch. - This will trigger GitHub Actions to run linting and tests.
- Ensure all CI/CD checks pass, before requesting a review.
- Address any requested changes.
- Wait for approval & merge.
- Follow PEP 8 for Python code.
- Keep modules, methods/functions, and classes well-documented.
- All new functionality should include tests.
- Run both unit tests (
pytest) and Robot Framework integration tests.
- Be respectful and constructive.
- Follow the Code of Conduct.
- Help improve documentation when possible.
Thank you for your contributions!
The Makefile in this repository provides a simplified command-line interface for common development tasks such as linting and testing.
See make help for available Make targets.