Thank you for your interest in contributing to HPR-LP!
We follow the Conventional Commits specification for commit messages. This leads to more readable messages that are easy to follow when looking through the project history.
Each commit message consists of a header, a body, and a footer.
<type>(<scope>): <subject>
<body>
<footer>
The header is mandatory and the scope of the header is optional.
Must be one of the following:
- feat: A new feature
- fix: A bug fix
- docs: Documentation only changes
- style: Changes that do not affect the meaning of the code (white-space, formatting, missing semi-colons, etc)
- refactor: A code change that neither fixes a bug nor adds a feature
- perf: A code change that improves performance
- test: Adding missing tests or correcting existing tests
- build: Changes that affect the build system or external dependencies
- ci: Changes to our CI configuration files and scripts
- chore: Other changes that don't modify src or test files
- revert: Reverts a previous commit
The scope should be the name of the module/component affected (as perceived by the person reading the changelog).
Examples:
algorithmkernelsutilsdocs
The subject contains a succinct description of the change:
- Use the imperative, present tense: "change" not "changed" nor "changes"
- Don't capitalize the first letter
- No dot (.) at the end
The body should include the motivation for the change and contrast this with previous behavior.
The footer should contain any information about Breaking Changes and is also the place to reference GitHub issues that this commit closes.
feat(algorithm): add new HPR solver method
Implement a new high-performance solver for large-scale LP problems
that reduces memory footprint by 30%.
Closes #42
fix(kernels): correct matrix indexing bug
Fix off-by-one error in kernel computation that caused incorrect
results for edge cases.
Fixes #156
docs: update installation instructions
Add Julia 1.9+ requirement and clarify dependency installation steps.
To configure git to use the provided commit message template:
git config commit.template .gitmessageThis will automatically populate your commit message with the template when you run git commit.
- Fork the repository and create your branch from
main - Make your changes following the coding standards
- Add tests if applicable
- Update documentation as needed
- Ensure all tests pass
- Write clear, conventional commit messages
- Submit a pull request
Feel free to open an issue if you have any questions about contributing!