- Create a focused branch for one change.
- Run
make checkbefore opening a PR. - If you intentionally skipped one part of
make check, explain why in the PR. - Keep commits small enough to review without reconstructing intent from history.
- Do not bump
Resources/Info.plistunless the change is an actual release.
- Prefer explicit, local changes over broad rewrites.
- Preserve existing behavior unless the PR clearly documents a behavior change.
- Add or update smoke checks for parser, normalization or profile-management logic when practical.
- Treat menu bar UX regressions as real regressions even if the code change is small.
- Keep README and maintainer docs in sync when runtime behavior, menu structure or support expectations change.
Each PR should include:
- what problem is being solved
- what behavior changed
- how it was verified
- any follow-up work that remains
- Follow the repository layout introduced by Swift Package Manager.
- Keep shell scripts POSIX-compatible.
- Avoid adding new dependencies without a clear maintenance reason.
- Update maintainer docs when build, release or support workflow changes.