Thank you for considering contributing to this open source project! We welcome contributions of all kinds: code, documentation, ideas, and more.
Here are the simple yet important guidelines for this project :
- respect the Code of conduct
- use github tag to mention people and not their private names
- do not mention secrets, passwords, private urls, sensitive tokens anywhere
- use English as default language everywhere
And that's pretty much it ! You are now ready to get started.
We use the Forking Workflow, used in many open source projects. So to start contributing, please:
- Fork the repository
- Create a branch using the naming convention described below
- Make your changes
- Open a Pull Request (PR) referencing the related issue
- Ensure your changes pass all tests and checks
We use the Feature Branch Workflow according to the size of our team. Each modification will be done on a new branch created from main.
gitGraph
commit id: "C1"
commit id: "C2"
branch "feature/123-displays-results"
commit id: "C3"
checkout main
commit id: "C4"
branch "feature/456-saves-archi"
commit id: "C5"
checkout "feature/123-displays-results"
commit id: "C6"
We use Conventional Commits for commit messages, with the id of the corresponding ticket.
Example:
feat(auth): #789 implements login with email and password
It is checked in our Continous Integration. To avoid surprised rejects, you can install pre-commit on your personal environment of development.
We follow the Conventional Branches naming convention to ensure clarity, traceability, and automation.
Branch name format:
<type>/<issue-number>-<short-description>
Examples:
feature/42-add-authentication
bugfix/108-fix-mobile-layout
docs/77-update-readme-instructions
Rules:
- Use a predefined type (see below)
- Always include the related issue number
- Use kebab-case for short, meaningful description
Allowed types:
feature: For new features (e.g., feature/add-login-page)bugfix: For bug fixes (e.g., bugfix/fix-header-bug)hotfix: For urgent fixes (e.g., hotfix/security-patch)release: For branches preparing a release (e.g., release/v1.2.0)chore: Maintenance tasks
- 🔍 Clarity: It’s easy to understand the purpose of a branch.
- 🔗 Traceability: The issue number links code to its discussion and context.
- ⚙️ Automation: Tools like
commit-checkandcommit-check-actioncan verify branch names and enforce consistency.
In the project, the pull request will be rebased and merge fast-forward.
gitGraph
commit id: "C1"
commit id: "C2"
branch "feature/123-displays-results"
commit id: "C3"
checkout main
commit id: "C4"
checkout "feature/123-displays-results"
commit id: "C5"
will be merged in:
gitGraph
commit id: "C1"
commit id: "C2"
commit id: "C4"
commit id: "C3'"
commit id: "C5'"
or if squash is activated:
gitGraph
commit id: "C1"
commit id: "C2"
commit id: "C4"
commit id: "C3+C5"
To help enforce the rules, we use:
- For conventional commits:
- For secret passwords: gitleaks
These tools will validate branch names and commit messages during pull requests.
If you have any questions or need assistance, feel free to open an issue or join the project discussion board. We’re happy to help!