Awesome Open Source
Awesome Open Source


Greenkeeper badge Build Status codecov npm GitHub release license semantic-release


This (very simple) package hopefully helps to illustrate how to implement the semantic-release package in an existing NPM package.

Implementation Notes

Use the semantic-release-cli package to get setup.


It uses the Angular commit message convention which is also the default commit message convention for semantic-release.

It uses commitlint for (you guessed it) commit linting, and husky for Git hooks (specifically, the commit-msg hook.

The npm run semantic-commit script triggers a helpful commit message CLI (the commitlint cli package)

A new release is cut when the master branch Travis build successfully completes and there's a formatted commit message that should trigger a semantic version change. A Git tag is created, a GitHub release is created, and the NPM package is published with the appropriate semantic version update.

Invalid Commit Message Failure


Commit Message CLI

Specify a type


Specify a scope


Specify a subject


Full commit message after the CLI exits successfully


Related Awesome Lists
Top Programming Languages
Top Projects

Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
Javascript (1,090,642
Command Line (131,577
Commit (16,978
Semantic Release (186