https://github.com/adhocore/please
Please is a bash script for automating new version release in Github which supports both public and private repositories. If you embrace semver this is the right tool for you. It saves you time and boosts productivity if you maintain many packages and their versioning/releasing.
What it does and how
- Determine remote git repo based on local git config
- Checkout and Update
master - Get latest release from github api endpoint
- Collect new commits since the latest release
- Create a changelog (prepend to if exists), reflect that into
./CHANGELOG.mdfile and commit it - Bump the version, reflect that into
./VERSIONfile- If any of the latest commits start with
feat<minor>is bumped - But if only you didnt explicitly pass
scopealready
- If any of the latest commits start with
- If there is
package.jsonfile, bumppackage.json#version - Commit all changes
- If
package.json#privateis not set totrue- If npm user not already logged in, run
npm adduser - Run
npm publishfinally
- If npm user not already logged in, run
- Release the new version and tag to github
- If there is
box.jsonfile, compile phar usingbox(downloadbox.pharif required) - Upload the compiled
pharas asset for the recent release
Here's a preview of its beautiful UI:

Top comments (1)
Now supports automatic changelog generatation. ๐๐