Branching strategy
We use trunk-based development on every project: one always-deployable main, feature branches under 48 hours, squash-merged after review. No parallel develop or release branches; they produce drift and merge pain.
Branch names are namespaced (feat/, fix/, chore/) and commit messages follow Conventional Commits, keeping history readable and changelog-friendly.
Feature flags cover anything user-visible that is not ready: merge daily without releasing daily.