There are lots of workflows that one can use to manage an NPM module. Here is one example:
Creating a new feature
Write the code. Test it. Push to Github. Most people get this
Creating a new release
Based on the features run one of `npm verion major` / `npm version minor` / `npm version patch`. This will update the package.json + create a new git tag that you can then push to github.
Run `npm publish`. This will push the release to NPM
Write release notes on github: Any git tag pushed to github automatically gets a `release` status on github (e.g. https://github.com/TypeStrong/atom-typescript/releases). You can edit the tag in github to add some release notes (feel free to reference any PR links / issue links to help follow along what happened in the release).