This document defines the expected development workflow for this repository.
- Open or pick a GitHub Issue.
- Create a branch from the latest target branch.
- Implement only the scoped change.
- Run tests and checks locally.
- Open a Pull Request (PR) and request review.
Use GitHub Issues for bugs, enhancements, and technical tasks.
Include:
- Clear title and short summary
- Reproduction steps
- Expected behavior
- Actual behavior
- Environment details (OS, Java version, Tomcat version, Docker version if relevant)
- Application version or commit SHA
- Logs and stack traces (remove sensitive data)
- Screenshot/video for UI issues
Include:
- Problem statement
- Proposed solution
- Alternative options considered
- API/UI impact
- Backward compatibility impact
Use one branch per issue.
Branch naming:
feature/<issue-id>-short-descriptionfix/<issue-id>-short-descriptionchore/<issue-id>-short-description
Examples:
feature/123-add-validation-summaryfix/456-handle-empty-request-body
A PR is ready for review only if all conditions below are met.
- PR links a GitHub Issue:
Fixes #<id>orRefs #<id>. - PR scope matches the linked issue.
Run before opening PR:
mvn -q testFor container-related changes, also run:
docker build -t phive-validation-api -f Containerfile .- No unrelated refactors
- No dead code
- No breaking API/interface changes unless issue explicitly requires it
- Logging levels are appropriate (no noisy production logs)
Update docs if behavior/configuration/runtime usage changes.
Typical files:
README.mddocs/DEVELOPMENT.md
- Do not commit secrets, private keys, or tokens
- Do not expose sensitive data in logs, screenshots, or examples
- Summary
- Linked issue(s)
- What changed
- How to test
- Compatibility impact
- Screenshots (if UI changed)
- At least one reviewer approval is required
- All review comments must be addressed
- CI checks must pass (when configured)
- Squash merge is preferred unless maintainers request otherwise
Use short imperative messages.
Examples:
feat: add runtime log format selectionfix: correct 404 page base pathdocs: update deployment instructions