This document outlines the strategy, conventions, and rules for managing Pull Requests (PRs) in the hexaFn project.
All PR titles must follow one of the 12 supported types:
feat: New featurefix: Bug fixdocs: Documentation only changesstyle: Code style, formatting (no logic change)refactor: Code refactoring (no feature change)perf: Performance improvementstest: Adding or modifying testsci: Changes to CI/CD configurationbuild: Build system or dependencieschore: Maintenance or toolingrelease: Versioning, changelog updateshotfix: Emergency fix for critical issues
Example:
feat: add user authentication moduleEvery PR must fulfill the following requirements:
- Clear and descriptive title using a valid PR type
- Related issue linked (if applicable)
- Description explains the context and purpose
- No unrelated changes or mixed concerns
- All checks pass (CI, lint, test)
- Reviewers assigned
- Labels applied
-
Create a feature/fix branch
Use a semantic branch name like:
feat/login-form,fix/null-crash,docs/api-guide -
Open a Draft PR
Start as draft if it's a work-in-progress -
Update the PR as work progresses
Keep commits clean and meaningful -
Mark as Ready for Review
Request review from maintainers -
Address Review Comments
Resolve all conversations before merge
- PRs targeting protected branches (e.g.,
main,release) must:- Pass all status checks
- Be reviewed by at least 1 maintainer
- Use a valid PR title type
- PRs with vague titles like “update” or “fix stuff”
- Mixing unrelated concerns in a single PR
- Skipping the review process or checks
Adhering to this PR strategy ensures clean history, traceable changes, and predictable releases.