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. Clearly outline your proposal and its benefits to the project.
Please adhere to our Code of Conduct in all your interactions with the project. Respectful and inclusive communication is essential for collaboration.
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. Use the ISO 639-1 standard for language codes when naming translation files.
Documentation is required for all contributions (code, issues, or pull requests). It should be:
- Clear and concise
- Written in Markdown
- Included in the main
README.mdwhen applicable - Supplemented in the
docs/folder if more detail is needed
- Ensure your Markdown file is well-structured and follows the project's documentation style.
- Use headings, lists, and code blocks to enhance readability.
- Include table of contents, images where necessary, using relative paths.
- Use the provided
site/static/assets/template.mdfor consistency.
- Place your Markdown file in
site/docs/<your-section>/<your-file>.md. - Add the English version in
site/i18n/en/docusaurus-plugin-content-docs/current/<your-section>/<your-file>.md. - If your file has images, place them in
site/static/assets/docs/<your-file>/. - Update
site/sidebar.tsto add your file to the sidebar navigation. - If you use new tags, ensure they are added to :
site/i18n/en/docusaurus-plugin-content-docs/current/tags.ymlsite/docs/tags.yml
- If you are introducing a new category, update:
site/i18n/en/docusaurus-plugin-content-docs/current.jsonsite/i18n/fr/docusaurus-plugin-content-docs/current.json
Ensure your documentation is well-structured and easy to navigate.
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
- Fully documented in the
README.md
To start the project in development mode:
make devTo start the project in production mode (local build):
make prod-localTo stop all running containers:
make stopTo clean up containers, images, and node_modules:
make cleanAccess the project at http://localhost:3000.
All contributions must include tests to ensure project stability. Please follow these principles:
- Write unit tests for new features and bug fixes
- Use a testing framework appropriate to the language and project
- Ensure all tests pass before opening a pull request
- Include test instructions in the
README.md
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 thedevelopbranch.hotfix/*: Hotfix branches for critical bug fixes. These branches should be merged into themainanddevelopbranches.release/*: Release branches for preparing a new release. These branches should be merged into themainanddevelopbranches.support/*: Support branches for long-term support. These branches should be merged into themainbranch.docs/*: Documentation branches for updating the documentation. These branches should be merged into themainbranch.
Each project within the DeVinci Fablab organization should be archived when it is no longer maintained. This includes projects that have been completed or abandoned. Ensure that archived projects are clearly marked and documented.
All public projects within the DeVinci Fablab organization are licensed under the MIT License.
By following these guidelines, you help ensure that the project remains well-organized, accessible, and collaborative. Thank you for your contributions!