Contributing

Thank you for your interest in contributing to this project! We value and appreciate any contributions you can make.

To maintain a collaborative and respectful environment, please consider the following guidelines when contributing to this project.

If you have any questions, feel free to reach out to us.

Prerequisites

Before starting to contribute to the code, you must first sign the ✍️ Contributor License Agreement (CLA) and send it to πŸ“§ oso@inditex.com 🐻.

Contribution Guidelines

  • All contributors are expected to follow the project’s CODE_of_CONDUCT.md. Please be respectful and considerate towards other contributors.

  • Before starting work on a new feature or fix, check existing πŸ“ Issues and πŸ“‚ Pull Requests to avoid duplications and unnecessary discussions.

  • If you wish to work on an existing issue, comment on the issue to inform other contributors that you are working on it. This will help coordinate efforts and prevent conflicts.

  • It is always advisable to discuss and gather feedback from the community before making significant changes to the project’s structure or architecture.

  • Ensure a clean and organized commit history. Divide your changes into logical and descriptive commits.

  • Document any new changes or features you add. This will help other contributors and project users understand your work and its purpose.

  • Be sure to link the corresponding issue in your pull request to maintain proper tracking of contributions.

  • Remember to add license and copyright information following the REUSE Specification.

    • This repository uses REUSE.toml to manage the license and copyright information.

How to Contribute

  1. Open an issue to discuss and gather feedback on the feature or fix you wish to address

  2. Fork the repository and clone it to your local machine

  3. Create a new branch to work on your contribution: git checkout -b your-branch-name

  4. Make the necessary changes in your local branch

    • Implement the new feature or fix

    • Ensure that your code follows the established project style and formatting guidelines

    • Perform testing to ensure your changes do not introduce errors

    • Update documentation as needed

    • For more information, see the πŸ‘©β€πŸ’» Development Guide

  5. Make clear and descriptive commits that explain your changes

  6. Push your branch to the remote repository: git push origin your-branch-name

  7. Open a pull request describing your changes and linking the corresponding issue

    • Automated verification checks will be performed on your pull request to ensure that your changes do not introduce any errors. For example: unit, mutation, integration, and karate tests with their corresponding coverage thresholds verification.

  8. Await comments and discussions on your pull request. Make any necessary modifications based on the received feedback

  9. Once your pull request is approved, your contribution will be merged into the develop branch

  10. Your changes will be included in the next release of the project

Development and Testing

Follow the instructions on the πŸ‘©β€πŸ’» Development Guide

Step by Step

For a step-by-step guide to contributing to the Karate Tools see: