Thank you for your interest in contributing to this repository! To ensure a smooth and collaborative process, please follow these guidelines.
Before making any changes, please discuss the proposed change with the repository owners. You can do this via an issue, email, or any other communication method.
Please adhere to our Code of Conduct in all your interactions with the project.
All contributions should be in English to ensure that all members of the community can understand and contribute to the project. Translations can be provided in addition to the English version. It is recommended to use the ISO 639-1 standard for language codes.
Documentation is mandatory for all contributions, including code, issues, and pull requests. The documentation should be:
- Clear and concise
- Written in Markdown format
- Included in the
README.md
file at the root of the project - Additional documentation can be added to the
docs
folder
Every solution should include a Docker deployment option, with a compose.yml
and Dockerfile
if necessary. The deployment process should be:
- As simple as possible
- Documented in the
README.md
file
All contributions should include tests to ensure the stability and reliability of the project. Please follow these guidelines for testing:
- Write unit tests for new functionality and bug fixes.
- Use a testing framework appropriate for the project's language and environment.
- Ensure that all tests pass before submitting a pull request.
- Include instructions on how to run the tests in the README.md file.
All commit messages should follow the Conventional Commits format. This format ensures that the commit messages are easy to read and follow a consistent structure.
The use of emojis in commit messages is encouraged to make the messages more engaging and easier to understand.
All contributions should follow the GitFlow branching model. The main branches are:
main
: The main branch for the project. This branch should always be stable and deployable.develop
: The development branch for the project. All feature branches should be merged into this branch.feature/*
: Feature branches for new functionality. These branches should be merged into thedevelop
branch.hotfix/*
: Hotfix branches for critical bug fixes. These branches should be merged into themain
anddevelop
branches.release/*
: Release branches for preparing a new release. These branches should be merged into themain
anddevelop
branches.support/*
: Support branches for long-term support. These branches should be merged into themain
branch.docs/*
: Documentation branches for updating the documentation. These branches should be merged into themain
branch.
Each project should be archived when it is no longer maintained. This includes projects that have been completed or abandoned.
By following these guidelines, you help ensure that the project remains well-organized, accessible, and collaborative. Thank you for your contributions!