Skip to content

Latest commit

 

History

History
133 lines (100 loc) · 5.76 KB

CONTRIBUTING.md

File metadata and controls

133 lines (100 loc) · 5.76 KB

Contributing Guidelines

Thank you for considering contributing to our project! Your contributions are highly valued and help improve the project for everyone. To make the contribution process as smooth as possible, please follow the guidelines outlined below:

  1. Opening a GitHub Issue
  2. Forking the Repository
  3. Updating Documentation
  4. Updating Tests
  5. Updating Code
  6. Creating a Pull Request
  7. License Information
  8. Merging and Releasing

Opening a GitHub Issue

If you encounter a bug, have a feature request (please note that we want to avoid feature creep and we cannot guarantee your request will be accepted), or wish to suggest an improvement, please open a GitHub issue and ask the CODEOWNERS and community prior starting a contribution.

Provide a clear and concise description of the problem or suggestion, including any relevant details or context. This will help us understand and address the issue efficiently.

Forking the Repository

To contribute to the project, fork the repository on GitHub and create a new branch as described in the GitHub Flow. This will create a copy of the project in your GitHub account where you can make changes without affecting the original repository.

Updating Documentation

Documentation is crucial for understanding and using the project effectively. If you make changes to the code, please ensure that any relevant documentation is updated accordingly. This includes README files, code comments, and any other documentation files.

Please follow Readme Driven Development.

Updating Tests

Maintaining a robust test suite is essential for ensuring the reliability and stability of the project.

If you make changes to the code, please update any relevant tests to reflect those changes. This helps prevent regressions and ensures that the project continues to function as expected (see TDD).

The test folder (if provided) in repository will have documentation guideline how to run the tests.

Updating Code

Ensure to make your changes to the codebase and commit messages early and often, following the standards outlined in the project's README.md or CONTRIBUTING.md file. Use conventional commits for commit messages, adhering to one of the following patterns:

  • <type>[optional scope]: <description> [optional body] [optional footer(s)]
  • <type>[optional scope]: <subject>

Refer to the table below for the possible commit types:

Type Description
build Changes affecting the build system or dependencies
chore Maintenance tasks such as upgrades or cleanup
ci Changes to CI configuration files or scripts
docs Documentation-only changes
feat New features
fix Bug fixes
perf Performance improvements
refactor Code changes that don't fix bugs or add features
revert Reverting a previous commit
style Changes to code style or formatting
test Adding or correcting tests

Exclamation mark (!) is optional and can be used to indicate breaking changes. Use it before colon (:). i.e. feat(auth)!: add login feature.

For comprehensive documentation, click here.

If a backwards incompatible change is unavoidable, ensure to mention it in your pull request and provide justification for the necessity of the change.

Creating a Pull Request

Once you've made your changes and are ready to contribute them back to the project, create a pull request (PR). Provide a clear and descriptive title for your PR, along with a summary of the changes made, any related GitHub issues and any notes on backwards incompatibility.

Be sure to follow the pull request template, if one is provided.

License Information

To ensure proper attribution and compliance with licensing terms, we require that all source code files include a short-form SPDX ID license comment block. This block should be added at the top of each source code file.

SPDX-FileCopyrightText: Copyright Boozt Fashion, AB
SPDX-License-Identifier: MIT

For more information of the SPDX file tags please follow https://spdx.github.io/spdx-spec/v2.3/file-tags/.

Merging and Releasing

After your pull request has been reviewed and approved by the project maintainers (CODEOWNERS), it will be merged into the main branch. Once merged, the changes will be included in the next release of the project and the Semantic Versioning (SemVer) principles will be applied. You'll be asked for squash your commits if it's not following the standards of the conventional commits.

Thank you for your contribution!