Because semantic-release requires a specific message format, it's easier to follow this convention using a tool called commitizen. In this lesson, we'll use it to write our first conventional commit message.
I ran into problems with commitizen 2.8.0 -- it wouldn't commit anything (as per this issue https://github.com/commitizen/cz-cli/issues/205). Using 2.7.6 works.
How would this work in case of submitting PR's to a repo?
Not sure what you mean. But if you want to learn about submitting PRs, you can watch my companion course: How to Contribute to an Open Source Project on GitHub
Also what if there are multiple commits per feature. How would I group commits?
Personally I often prefer features to be in a single commit. But with big features this isn't reasonable. So you create a branch and simply commit multiple times to that branch. Then you make a pull request from that branch to master when you're ready to ship it.