Init npm and add semantic-release npm init npm add semantic-release --save-dev Commitizen npm install commitizen -g commitizen init cz-conventional-changelog --save-dev --save-exact Add config to package.json "release": { "branch": "master", "plugins": [ "@semantic-release/commit-analyzer", "@semantic-release/release-notes-generator", "@semantic-release/github" ] }, CircleCi Config (add release step) - run: name: Release command: | npm i npx semantic-release Tokens add a fake NPM_TOKEN to the CircleCi environment add a personal github token to the CircleCi environment GH_TOKEN Now start committing Manual Commit message Release type fix(pencil): stop graphite breaking when too much pressure applied Patch Release feat(pencil): add 'graphiteWidth' option Minor Feature Release perf(pencil): remove graphiteWidth optionBREAKING CHANGE: The graphiteWidth option has been removed.The default graphite width of 10mm is always used for performance reasons. Major Breaking Release Automatic git cz