code: function cutRelease(releaseNote) {
      const [pkgPath, pkg] = getPackageObject();
      const msg = getCommitTagMessage(pkg.version);
      return updateChangelogInternal(pkg.version, releaseNote)
          // Stage and commit all new, modified, and deleted files in the entire working directory
          .then(() => runCommand("git add --all"))
          .then(() => runCommand(`git commit --no-verify -m "${msg}"`))
          // Make an unsigned annotated tag, replacing an existing tag with the same version
          .then(output => {
              return runCommand(`git tag -a -f -m "${msg}" v${pkg.version}`)
                  .then(() => `updated CHANGELOG, committed and tagged ${output}\n\n` +
                      "You can now push the tagged release: npm run push-release");
          });
  }
docs: Updates the CHANGELOG with release information from the conventional commits,
  commits all pending changes and creates an annotated git tag for the release.
  
  If supplied with releaseNote, this text is prepended to the release information generated
  by conventional commits.