Enforcing Conventional Commits

How to set up Commitizen, Commitlint and Husky to adopt and enforce the Conventional Commits specification in your Git project.