|
EnigmaMachineCore 0.1.0
A modular Enigma Machine simulation in C++20
|
Thank you for your interest in contributing to EnigmaMachineCore! We follow a strict git workflow to ensure code stability and quality. Please review the guidelines below before making changes.
The repository uses the following branch structure:
main**: The stable branch containing production-ready code. Direct commits to main are forbidden.development**: The integration branch for the next release. All feature branches are merged here first. Direct commits to development are forbidden.feature/*** or **fix/***: Short-lived branches for specific features or bug fixes. This is where all work happens.If you have write access to the repository, follow this workflow:
development: Always create your feature branch from the latest development state. bash git checkout development git pull origin development git checkout -b feature/your-feature-name development:development** branch.development.main:development reaches a stable milestone, a maintainer will open a PR from **development** to **main**.If you are contributing from outside the organization, please use the Fork & Pull model:
bash git clone https://github.com/YOUR_USERNAME/EnigmaMachineCore.git cd EnigmaMachineCore bash git remote add upstream https://github.com/alvarocleite/EnigmaMachineCore.git development branch. bash git fetch upstream git checkout -b feature/your-feature-name upstream/development git push origin feature/your-feature-name.EnigmaMachineCore repository on GitHub.development**.We use Git tags to mark significant milestones and stable releases of the project.
main** branch.v1.0.0) that users can rely on for production or industrial use.To maintain a high standard of code quality and security, this repository uses pre-commit to automate checks before every commit and push.
You must install pre-commit and the hooks locally:
The following checks are enforced:
main and development.feature/, fix/, docs/, or release/ pattern..clang-format.gitleaks to prevent accidental commits of secrets or credentials.If a check fails, the commit or push will be blocked. You must fix the issues and try again.