Reworking Groundwork 1. semantic-release

semantic-release is an npm package that automates semantic versioning for your project! I’ve set it up for the all new Groundwork Metalsmith blog template.

Here’s a step-by-step guide for creating a Metalsmith blog template from scratch.

  1. Create a new GitHub repo. Mine is called groundwork.
  2. Clone to your local machine.
  3. Add an open source license and .gitignore.
  4. Download the latest Metalsmith
  5. Extract the static-site example, add files to your project directory.
  6. Set up a Travis account, linked to your GitHub account, and add your project repository.
  7. Install semantic-release! I used @kentcdodds instructions from his @eggheadio video. In short, setup is:
    1. npm install -g semantic-release-cli
    2. cd your-project
    3. semantic-release-cli setup
  8. semantic-release adds a .travis.yml file and scripts to package.json
  9. I modified package.json by adding "version": "0.0.0-semantic-release", to emphasise that semantic-release is dealing with versioning.
  10. semantic-release works on git commit conventions:
    1. fix(pencil): stop graphite breaking when too much pressure applied
    2. feat(pencil): add 'graphiteWidth' option
    3. perf(pencil): remove graphiteWidth option
      BREAKING CHANGE: The graphiteWidth option has been removed.

Way to go, it worked for me 😁 🚀


Well, it’s the 1st of December, and now it’s broken 😢. Not sure why, tried reinstalling. It was great fun while it lasted. I will try again in the future…