node package manager
It’s your turn. Help us improve JavaScript. Take the 2017 JavaScript Ecosystem Survey »


Wisdom License NPM version Dependency Status Build Status

Tool for publishing releases to github and npm according to Semantic Versionin.

One command do next things:

  • set env variable $wisdom_version and $WISDOM_VERSION with future version
  • run command from scripts.wisdom of package.json (if exist);
  • run command from scripts.wisdom:type of package.json (if exist);
  • changelog;
  • version in package.json;
  • tag;
  • release on github;
  • push to github;
  • publish to npm;
  • run command from scripts.wisdom:done of package.json (if exist);

Before executing wisdom and wisdom:done scripts will be expanded via redrun which will speed things up.

Here is list of commands that should be executed to get same result:

changelog {{ version }}
version {{ version }}
git add --all
git commit -m "feature(package) v{{ version }}"
git push origin {{ branch }}
git tag v{{ version }}
git push origin v{{ version }}
grizzly -tn "token from url" \
-r grizzly -o {{ owner }} -t {{ version }} \
-n "{{ repo }} {{ version }}" -b "changelog"
npm publish


npm i wisdom -g

How to use?

$ wisdom
Usage: wisdom [patch|minor|major]
-h, --help     : display this help and exit
-v, --version  : output version information and exit


When you need configure wisdom you could declare them in package.json:

    "changelog": true, /* default */
    "release": true,   /* default */
    "branch": "master" /* default */
    "scripts": {
        "wisdom": "echo 'do something before publish'",
        "wisdom:type": "echo 'do something before publish and add --patch, --minor or --major argument'",
        "wisdom:done": "echo 'do something after publish'"